CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2022 开发者帮助

关于任意轴算法 (DXF)

2024-5-18 18:40| 发布者: admin| 查看: 9| 评论: 0|原作者: admin|来自: AutoCAD

关于任意轴算法 (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).

现在我们寻找任意 XY 轴以便与普通 N 匹配。它们将被称为 AxAyN 也可以按如下方式称为 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.

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-6-27 16:00

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部