如何解决锥法向量
我有 cone->p(圆锥的顶点)、cone->orient(轴向量)、cone->k (半角切线)、cone->minm 和 cone->maxm(2 个高度值,用于锥顶)。我还有点 intersection 位于锥体上。如何仅使用这些参数找到交点点处的锥(侧面)法向量?
解决方法
如果 I
是圆锥表面的交点并且你知道它的坐标,而 P
是圆锥的顶点,你也知道它的坐标,那么这就足够了:
Normal = (axis x PI) x PI
Normal = Normal / norm(Normal)
其中 axis
是与圆锥轴对齐的向量。
用更简单的方法来解决:
求从交点 Dis
到基地 I
的距离 P
制作长度方向的轴方向向量
D = Dis * sqrt(1+k^2)
并在此距离处在轴上点
A = P + Normalized(Orient) * D
现在
Normal = I - A
旧答案:
使用向量`IP = I - P'和标量(点)积将点I
(交点)正交投影到锥轴上:
AxProj = P + Orient * dot(IP,Orient) / dot(Orient,Orient)
从 AxPr
到 I
的向量(垂直于轴):
AxPerp = I - AxProj
向量,与锥面相切,使用向量积:
T = IP x AxPerp
向量,垂直于锥面:
N = T x IP
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。