algorithm - 给定四面体上的三个点,找到第 4 个

标签 algorithm 3d geometry

如果您在 3D 空间中有一个等边三角形,其中所有边的长度均为 1,则有两个点可用于形成四面体。一个漂浮在三角形前面,一个漂浮在三角形后面。给定三个已知顶点的坐标,您将如何计算可能的第四个顶点中的任何一个?

如果您能展示如何使用 Processing vector class definition 进行操作,我将不胜感激

最佳答案

平均你的三个点得到三角形的中心:

center = (a + b + c) / 3

通过取两条边的叉积来计算法向量:

normal = (c - a) x (b - a)

归一化法向量(使其成为单位长度):

unit_normal = normal / |normal|

按正四面体的高度缩放法线:

scaled_normal = unit_normal * sqrt(2/3)

现在,你的两点是:

top = center + scaled_normal
bottom = center - scaled_normal

关于algorithm - 给定四面体上的三个点,找到第 4 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4372556/

相关文章:

geometry - 快速计算三角形与单位正方形的交面积

algorithm - 按引用或按值链接列表?

c++ - 理解 vector 乘法

algorithm - 在法线已知的平面上画一条垂直于直线的直线

c++ - C++ 实时 3D 可视化

C# 3d 模型查看器

algorithm - 编译器和语言的选择会影响时间复杂度吗?

3d - 如何引用任意 id<MTLTexture> 以在 SCNTechnique 中使用?

java - 如何使用 Java 中的 GUI(仅限 SWT)标记矩形的一侧?

geometry - 分解为凸多边形