关于任意轴算法 (DXF)
AutoCAD 程序在内部使用任意轴算法,以便为使用对象坐标的所有图元生成任意但一致的对象坐标系。 假定一个作为坐标系的 Z 轴的单位长度矢量,任意轴算法将为坐标系生成相应的 X 轴。Y 轴可以通过应用右手定则来确定。 可以使用该方法检查给定的 Z 轴(也称为法向矢量)。如果它距离正向或负向世界 Z 轴很近,可以用给定的 Z 轴跨越世界 Y 轴到达任意 X 轴。如果不是很近,可以用给定的 Z 轴跨越世界 Z 轴到达任意 X 轴。所选的边界应该既便于计算又能在不同计算机上使用。为此,可以通过安装一种“方形”极轴封口来实现,该封口的边界是 1/64,可以用六位十进制分数和六位二进制分数精确指定。 算法如下(假定所有矢量都在三维空间中并在世界坐标系中指定): Let the given normal vector be called N. Let the world Y axis be called Wy, which is always (0,1,0). Let the world Z axis be called Wz, which is always (0,0,1). 现在我们寻找任意 X 和 Y 轴以便与普通 N 匹配。它们将被称为 Ax 和 Ay。N 也可以按如下方式称为 Az(任意 Z 轴): If (abs (Nx) < 1/64) and (abs (Ny) < 1/64) then Ax = Wy X N (where “X” is the cross-product operator). Otherwise, Ax = Wz X N. Scale Ax to unit length. 获得 Ay 矢量的方法如下: Ay = N X Ax. Scale Ay to unit length. 相关参考 |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 11:30
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.