栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

3D线段和平面相交

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

3D线段和平面相交

我对此可能是错的,但是代码中有些地方似乎非常可疑。首先,请考虑以下这一行:

// calculate planefloat d = Dot(normal, coord);

在这里,您的值

d
对应于平面法线(向量)与空间中的点(平面上的点)之间的点积。这似乎是错误的。特别是,如果您有任何平面穿过原点,并将原点用作坐标点,则最终将进行计算

d = Dot(normal, (0, 0, 0)) = 0

并立即返回假。我不确定您打算在这里做什么,但是我很确定这不是您的意思。

该行中似乎可疑的另一个地方是这一行:

// Compute the t value for the directed line ray intersecting the planefloat t = (d - Dot(normal, rayOrigin)) / Dot(normal, ray);

请注意,您正在计算平面法线向量(向量)和射线的原点(空间中的点)之间的点积。这似乎很奇怪,因为这意味着根据射线在空间中的起源,用于射线的缩放比例会发生变化。我建议再看一次这段代码,看看这是否真的是您的意思。

希望这可以帮助!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/410147.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号