points - 如何确定四面体三角形面的法线?
问题描述
四面体由点给出:p0 = (2, -1,0), p1 = (2,1,0), p2 = (-1,1,0), p3 = (1,0,4)
如何确定四面体三角形面的单位法线(朝外)?
以及如何计算包含四面体面的平面的隐式方程?
解决方案
您可以使用向量叉积。
两个向量的叉积是另一个与两者都成直角的向量。
假设我们正在计算的垂直向量称为 C,我们使用向量 A 和 B 计算它,叉积计算如下:
Cx = Ay * Bz - Az * 通过
Cy = Az * Bx - Ax * Bz
Cz = Ax * By - Ay * Bx
现在,唯一缺少的是向量 A 和 B,您可以根据给出的点计算它们。假设 A 是点 p0 和 p1 之间的向量,在这种情况下,您只需执行以下操作:
A = (p1.x - p0.x, p1.y - p0.y, p1.z - p0.z)
找到您想要的任何 B 向量,您可以使用叉积计算两者的垂直向量。
推荐阅读
- r - 根据来自另一个数据帧的两个条件过滤一个数据帧
- import - 如何将外部库添加到处理?
- flutter - 如何在 Flutter 中自定义 Slider 小部件?
- multithreading - 参数化测试以在 MSTEST 中运行并行或单线程
- c++ - 有没有更好的方法来检测我的向量中某个项目的多次出现?
- php - 将发送的发票作为最终发票
- go - Go 结构比较 - reflect.DeepEqual 在地图上失败?
- android - 如何将包含 Firebase 的 android 应用程序从一台计算机转移到另一台计算机
- angular - 延迟加载不会生成任何块Angular 8
- docker - Gitlab CI - 构建图像并传递到下一阶段?