2010-12-07 9 views
1

모든면의 길이가 1 인 3D 공간에 정삼각형이있는 경우 정사면체를 형성하는 데 사용할 수있는 두 점이 있습니다. 하나는 삼각형의 앞에 떠 다니고, 하나는 그 뒤에 있습니다. 세 개의 알려진 정점의 좌표가 주어지면 가능한 네 번째 정점 중 하나를 계산하는 방법은 무엇입니까? 당신이 보여줄 수있는 경우4 면체에 3 점을 주면 4 번째를 찾습니다.

은 정말 3D가, 내가 만이 아니라 정확한 좌표보다,이 작업을 수행 할 수있는 방법을 제공 할 수있는 것 같아요 내 관심을 본 적이있다, 때문에 Processing vector class definition

답변

5

평균하여 세 점은 삼각형의 중심을 얻을 수

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 
1

그것을 수행하는 방법을 부탁드립니다. 삼각형의 중심에서 SQRT (2/3)의 거리 및 삼각형 과 중심을 포함하여 이루어지는 평면 수선에 놓여

점.

3

(따라서 두 직교하는 삼각형의 두 변의 교차 제품) (a + b + c)/3 (삼각형의 중심)

+/- ((a-b) x (b-c)

* some constant or other) (길이로 나눈 정사면체의 높이 길이가 1 * 1 * sin (60도) = sqrt (3)/2)

이것은 단순화 될 수 있습니다.

[편집 : 높이 SQRT (2/3)이기 때문에, 상수 2*sqrt(2)이다]

[제 편집 :하지 처음 세 면체 형태의 평면에있는 제 포인트. 측면 두 가지의 십자가 제품을 복용하여

center = (a + b + c)/3 

이 법선 벡터를 계산한다 : ITYM 일반 면체 ;-)]