불규칙한 3D 모양의 표면 (즉, 돌)을 삼각형으로 생각하십시오.삼각형 표면의 3D 중심부
나는이 :
- 정점을.
x,y,z
각 점의 좌표 (pointCloud)입니다. - 얼굴. 각 삼각형의 정점에 대한 정보가 들어 있습니다. 주어진 정보로 전체 모양
의 각 삼각형의
불규칙한 3D 모양의 표면 (즉, 돌)을 삼각형으로 생각하십시오.삼각형 표면의 3D 중심부
나는이 :
x,y,z
각 점의 좌표 (pointCloud)입니다.의 각 삼각형의
의 중 도심 을 계산할 수 있습니다. 각 삼각형 질량으로 가중치 된 각 삼각형의 중심을 누적 한 다음 총 질량으로 나눕니다. 알고리즘에서이 제공 :
mg : vector3d <- (0,0,0)
m : real <- 0
For each triangle t
m <- m + area(t)
mg <- mg + area(t) * centroid(t)
End for
Surfacecentroid <- mg/m
여기서
centroid(t) = 1/3 (p1+p2+p3)
area(t) = 1/2 * || cross(p2-p1, p3-p1) ||
표면으로 둘러싸인 볼륨의
중심이 무엇인지 당신이 원하는, 알고리즘이 다른 경우 지금, 당신은을 분해 할 필요가 다음과 같이 사면체로 볼륨과 사면체의 무게 중심을 축적 :
mg : vector3d <- (0,0,0)
m : real <- 0
For each triangle t = (p1,p2,p3)
m <- m + signed_volume(O,p1,p2,p3)
mg <- mg + signed_volume(O,p1,p2,p3) * centroid(O,p1,p2,p3)
End for
volumeCentroid <- (1/m) * mg
곳
,O=(0,0,0) and
centroid(p1,p2,p3,p4) = 1/4 (p1+p2+p3+p4)
signed_volume(p1,p2,p3,p4) = 1/6 * dot(p2-p1, cross(p3-p1, p4-p1))
표면 외부의 사면체 부분의 부호가있는 볼륨이 정확히 취소되기 때문에 수식이 작동합니다 (수학에 만족하면 알고리즘에 대한 또 다른 생각은 볼륨 계산).
답변 해 주셔서 감사합니다. 가중치 하나는 잘 작동합니다. 볼륨 : - 'p4'는 무엇입니까? "O"또는 어느 것이 "O"입니까? -'O = (0,0,0)'이 항상 상수입니까? - '예'인 경우 '0'에서 다른 점을 빼는 이유는 무엇입니까? - 여기에 '중심 기능'이란 무엇입니까? – isifzade
(p1, p2, p3, p4)는 사면체의 네 꼭지점을 나타냅니다. 이 공식은 사인 된 부피와 그것들의 중심 (quadhedron = 1/4 (p1 + p2 + p3 + p4)의 중심)을 누적합니다 .O에 대해서는 임의의 점을 취할 수 있으므로 분명히 O = , 0) (계산을 더 간단하게 만든다). – BrunoLevy
내 생각에 모든 삼각형의 중심을 얻은 다음 평균값이 작동하지만 더 많은 생각을해야합니다. –