微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

固定z轴上的简单线平面交点?

如何解决固定z轴上的简单线平面交点?

| 如果我知道飞机始终在同一z轴上(因此它无法旋转),并且宽度/高度是无限的,那么什么是什么?有没有一种快速方法来检查我的线将在平面上相交的地方?另外,我的“线”实际上不是线,而是3d向量,因此“线”可以无限远。 这是依赖两点的代码: (p1和p2是直线的起点和终点。plane_z=平面所在的位置)
k1 = -p2.z/(p1.z-p2.z-plane_z);
k2 = 1.0f-k1;
ix = k1*p1.x + k2*p2.x;
iy = k1*p1.y + k2*p2.y;
iz = plane_z; // where my plane lays
处理向量的另一种解决方案(我也像第一个示例一样使用了两个点,\“ p2.x-p1.x \”等是向量计算):
a = (plane_z-p1.z)/(p2.z-p1.z);
ix = p1.x + a*(p2.x-p1.x);
iy = p1.y + a*(p2.y-p1.y);
iz = plane_z;
Edit3:添加了Orbling的解决方案,该解决方案速度稍快,并且不必依赖于两点。     

解决方法

您可以像http://paulbourke.net/geometry/planeline/一样实施海峡前移的解决方案,然后进行简化。在代数解决方案(#2)中,A和B在您的情况下为零(如果我正确理解此陈述)   平面始终在同一z轴上(因此无法旋转) 注意:您的线应该是一个点和一个方向,或者是两个点,对吗?     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。