AnyCad 使用记录

1、 想实现动画功能,对平移矩阵的使用有误。

使用显示变换,对场景节点SceneNode变换,实现小球在规定的轨迹上运动,平移矩阵都是相对最初点的位移,而不是相对上一点的位移的位置。

//设置位移矩阵

 AnyCAD.Platform.Matrix4 trf = GlobalInstance.MatrixBuilder.MakeTranslate(pos - CurrentPointA);//所有的位移都是基于最初点的位移 

            m_Object.SetTransform(trf);

 

2、 旋转矩阵,

3、 3点三维刚体转换

已知三个刚性运动前后的对应点,解旋转矩阵和平移向量

 

 

Socket TCP通讯

Byte 类型 存储得是ASCII 码

 

使用labview调用dll,不能运行pickHelper.GetSubSceneNode() 提取SceneNode ,会卡死崩溃。

所以使用IsSameShape()方法判断有没有已经提取过这个面。

 

使用场景树管理路径上的所有点,重置轨迹后更新(在labview 上会卡崩)

1  //SceneNodeIterator itr = pathGroup.NewSceneNodeIterator();
2 
3             //while (itr.More())
4             //{
5             //    SceneNode sceneNode = itr.Next();
6             //    m_RenderView.SceneManager.RemoveNode(sceneNode);
7 
8             //}
9             //m_RenderView.RequestDraw();

改用list<SceneNode>管理,可以实现

 

AnyCad

GemoCurve.DN(paramStart,1);//4 是(圆上点与圆心的向上射线) 2是(圆上点与圆心的连线) 1是切线 1、2、3、4、5··· 很多参数

 

posted @ 2021-07-15 21:01  人间的光  阅读(483)  评论(0)    收藏  举报