我想获得一个三角形的点,该点围绕面部指向指定法线方向的点。我将使用THREE.js将它们添加到BufferGeometry中。
非常粗糙的图纸:
这是我到目前为止的代码:
import pyautogui
while True:
v = pyautogui.locateOnScreen('nextbutton.png', confidence=0.9)
if v is None:
print(v is None)
...
如何在该点周围再选择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度。