math - 当光线沿法线行进时,Möller–Trumbore 距离不同于点平面距离
问题描述
鉴于这种:
Vector3 p_a = (-8720, 1105, -5249)
Vector3 p_b = (-13149, 1124, -5249)
Vector3 p_c = (-13330, 1103, -3404) //p_a p_b, p_c are the points of the triangle
Vector3 p_q = (-11737, 1071, -4678)
Vector3 normal = new Vector3(0.0000000, 0.9999285, 0.0119620) //(0, 4096, 49) normalized
如果我计算从点p_q到三角形创建的平面
的距离,Vector3.Dot((p_q - p_a), normal)
结果是 27.16
但是,如果我从p_q沿法线投射一条光线并使用 Möller–Trumbore 算法找到距离(这个实现很精确,尽管我尝试了不同的并得到了相同的结果)我得到到交叉点的距离是 40.2
由于使用 Möller–Trumbore 的光线沿着法线行进,如果我得到一个交叉点,我不应该得到相同的距离吗?我一定遗漏了一些明显的东西,但我看不到什么。
解决方案
推荐阅读
- html - CSS3 Grid fill space in last row
- java - 有没有办法在java中将字符串转换为数组?
- python - Print the Moving text Every 5 Seconds in selenium python
- ios - 如何检测 RPSystemBroadcastPickerView 何时被解除?
- angular - 即使在输入字段中存在数据之后也会显示警告消息
- java - Scala URLClassLoader 没有重新加载类文件
- jar - 如何通过jar确定库名
- python - 使用外键电子邮件发送电子邮件的问题
- c++ - 我可以用这个类中的嵌套类填充模板参数吗?
- docker - Heroku Bonsai附加组件的私人空间中是否可以有2个服务