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··· 很多参数

浙公网安备 33010602011771号