C#中的3D坐标转换

时间:2019-07-25 12:56:59

标签: c# vector 3d

我需要将Laser坐标转换为CNC坐标。基于两个坐标系中测得的3个已知点。

我有带反射器的CNC铣机,其X,Y,Z坐标以毫米为单位 激光跟踪仪利用球面坐标测量反射镜的位置。 我能够“破解”数学并将激光球面转换为笛卡尔坐标。

现在我需要将Laser坐标转换为CNC坐标。 这个想法是在CNC工作台上测量3个点(0,0,0),(Xmax,0,0)和(0,Ymax,0)并构建一个矩阵,该矩阵将转换激光进行的所有其他测量(看看机器的精确程度

我发现2D平移(忽略Z坐标,只是通过Z0_laser偏移它们)可以很好地工作,但是却不那么精确(与Laser Manufacturer提供的使用3点的工具相比,相差最大1mm)

我找到的

代码在这里: https://gist.github.com/Clanrat/45cbcde78cb04fa12f9fb9caa03997cf

是否可以将其扩展到三维尺寸,还是我需要从头开始? 我有种感觉,我只需要用第3点的坐标以及所有Z维度替换矩阵中的0和1,但是我不知道如何做到这一点。

任何帮助将不胜感激

0 个答案:

没有答案