繁体   English   中英

给定四面体三点,求第四点

[英]Given three points on a tetrahedron, Find the 4th

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

如果您可以显示如何使用Processing vector类定义来做到这一点,我将不胜感激

对三个点取平均值以得到三角形的中心:

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

(a + b + c)/3 (三角形的中心)

+/- ((ab) x (bc) (三角形两侧的叉积,因此垂直于两侧)

* some constant or other) (规则四面体的高度除以该叉积的长度,长度为1 * 1 * sin(60度)= sqrt(3)/ 2)

这可能可以简化。

[编辑:高度为sqrt(2/3),因此常数为2*sqrt(2) ]

[第二编辑:不在前三个平面中的任何第四点形成一个四面体。 ITYM是规则的四面体;-)]

由于3D从来都不是我的兴趣,我想我只能提供一种实现此目的的方法,而不是精确的坐标。

一个点,该点与三角形的质心的距离为sqrt(2/3),且在垂直于三角形所形成的平面且包含质心的直线上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM