在与法线垂直的点周围创建一个三角形

时间:2019-06-25 16:39:18

标签: javascript math trigonometry

我想获得一个三角形的点,该点围绕面部指向指定法线方向的点。我将使用THREE.js将它们添加到BufferGeometry中。

非常粗糙的图纸:

Please forgive this very crude drawing

这是我到目前为止的代码:

import pyautogui

while True:
    v = pyautogui.locateOnScreen('nextbutton.png', confidence=0.9)
    if v is None:
        print(v is None)
    ...

如何在该点周围再选择3个垂直于法线且与该点/彼此距离相同的点?

谢谢!

3 个答案:

答案 0 :(得分:1)

1)取法线与任意非平行向量的叉积。这将为您提供垂直于法向矢量的矢量。

1.5)标准化垂直向量并将其缩放为所需大小。该向量的长度将是三角形的质心到每个顶点的距离。

2)将垂直矢量绕法向矢量旋转2PI / 3和4PI / 3。

3)将3个向量添加到中心点。

答案 1 :(得分:0)

请注意,即使我们仅限于等边三角形,也有无数个符合您条件的三角形。这是因为存在一个通过给定点<nx, ny, nz>垂直于给定向量(x, y, z)的整个平面。 Read here,了解如何推导该平面的方程。从那里,您将需要在平面上选择一个点。然后,您可以通过绕(x, y, z)处的给定点旋转来计算其他两个点。

答案 2 :(得分:0)

您需要找到一个平行于法线并包含该点(只有一个)的平面,然后在该平面中以指定的距离拾取任何点,并将其围绕中心点旋转两次120度。