我有一个带有导入对象的工作站,它由曲面、曲线和点组成。Item.GetPoints ()可以很好地获取每个点的位置。然而,与这些点相关的旋转是在IJK坐标系中。我怎样才能以一种在曲线对象之外有效的方式解释IJK坐标呢?具体来说,我想把IJK坐标转换成欧拉角。
我最终想要完成的整个过程是:
1.导入曲面/曲线/点到RoboDK工作站
2.获取点坐标(6 DoF)
3.调整6个DoF点坐标,使其垂直于表面(PROJECTION_RECALC对这个很有用)
4.调整6个DoF点坐标使其与曲线相切
5.导出调整后的6自由度坐标供其他用途
为了得到表面法线,我现在唯一的方法就是用numpy-stl解析我的网格并从那里提取最近的表面法线,但这似乎很难(而且很慢),所以可能有更好的方法。
为了得到曲线的切线,我过去已经计算了每个维度上的曲线导数以允许从ijk到欧拉角的转换,但这是痛苦和复杂的,我不想再做一次。与上述类似,肯定有一种更简单的方法,只是我没有意识到。
任何提示将非常感激。
我最终想要完成的整个过程是:
1.导入曲面/曲线/点到RoboDK工作站
2.获取点坐标(6 DoF)
3.调整6个DoF点坐标,使其垂直于表面(PROJECTION_RECALC对这个很有用)
4.调整6个DoF点坐标使其与曲线相切
5.导出调整后的6自由度坐标供其他用途
为了得到表面法线,我现在唯一的方法就是用numpy-stl解析我的网格并从那里提取最近的表面法线,但这似乎很难(而且很慢),所以可能有更好的方法。
为了得到曲线的切线,我过去已经计算了每个维度上的曲线导数以允许从ijk到欧拉角的转换,但这是痛苦和复杂的,我不想再做一次。与上述类似,肯定有一种更简单的方法,只是我没有意识到。
任何提示将非常感激。