메쉬 삼각형의 주 곡률을 계산하는 가장 간단한 방법은 무엇입니까?


19

메쉬가 있고 각 삼각형 주위의 영역에서 주 곡률 방향의 추정치를 계산하고 싶습니다. 나는 전에 이런 종류의 일을 한 적이 없으며 Wikipedia 는별로 도움이되지 않습니다. 이 추정치를 계산하는 데 도움이되는 간단한 알고리즘을 설명하거나 설명해 주시겠습니까?

모든 정점의 위치와 법선을 알고 있다고 가정합니다.

답변:


24

스킨 쉐이더에 대한 메쉬 곡률의 추정이 필요할 때, 내가 결정한 알고리즘은 다음과 같습니다.

먼저 메쉬의 각 모서리에 대한 스칼라 곡률을 계산했습니다. 가장자리에 및 법선 있으면 곡률이 다음과 같이 추정됩니다.n 1 , n 21,21,2

곡률=(21)(21)|21|2

가장자리를 따라 투영 된 법선의 차이를 가장자리 길이의 일부로 계산합니다. (이 공식을 생각해 낸 방법은 아래를 참조하십시오.)

그런 다음 각 정점에 대해 모든 모서리의 곡률을 만졌습니다. 제 경우에는 "평균 곡률"의 스칼라 추정값을 원했기 때문에 각 정점에서 모든 모서리 곡률의 절대 값에 대한 기하학적 평균을 취했습니다. 경우에 따라 최소 곡률과 최대 곡률을 찾아서 그 가장자리를 주요 곡률 방향으로 지정할 수 있습니다 (정점 법선으로 직교 정규화 할 수 있음). 약간 거칠지 만 원하는 일에 대해 충분한 결과를 얻을 수 있습니다.


이 공식의 동기는 원에 적용될 때 2D에서 일어나는 일을 살펴보고 있습니다.

원의 두 점에 적용되는 곡률 공식

반지름이 원 (곡률이 )이고 원에 법선이 두 점이 있다고 가정합니다 . 원의 중심을 기준으로 한 점의 위치는 원 또는 구의 법선이 항상 중심에서 직접 지적하는 특성으로 인해 및 됩니다.1 / r n 1 , n 2 p 1 = r n 1 p 2 = r n 2아르 자형1/아르 자형1,21=아르 자형12=아르 자형2

따라서 로 반경을 복구 할 수 있습니다. 또는. 그러나 일반적으로 정점 위치는 원의 중심을 기준으로하지 않습니다. 우리는 두 가지를 차감하여이 문제를 해결할 수 있습니다 | p 2 | / | n 2 | p 2 - p 1아르 자형=|1|/|1||2|/|2|

21=아르 자형2아르 자형1=아르 자형(21)아르 자형=|21||21|곡률=1아르 자형=|21||21|

결과는 원과 구체에 대해서만 정확합니다. 그러나 좀 더 "허용"하도록 확장하고 임의의 3D 메시에 사용하면 합리적으로 잘 작동하는 것 같습니다. 벡터 을 가장자리 방향 투영하여 공식을보다 "허용"할 수 있습니다 . 이를 통해이 두 벡터가 정확히 평행하지 않을 수 있습니다 (원형의 경우처럼). 우리는 평행하지 않은 구성 요소를 투사합니다. 정규화 된 에지 벡터를 사용하여이를 수행 할 수 있습니다. p 2p 1 곡률2121

곡률=(21)정규화하다(21)|21|=(21)(21)/|21||21|=(21)(21)|21|2

자,이 답의 맨 위에 공식이 있습니다. 그건 그렇고, 부호있는 투영 (도트 제품) 을 사용하면 좋은 점은 수식이 볼록면에 양수이고 오목면에 음수 인 부호있는 곡률을 제공한다는 것입니다.


내가 상상할 수는 있지만 시도하지 않은 또 다른 접근법 은 각 정점에서 표면 의 두 번째 기본 형태 를 추정하는 것 입니다. 이것은 정점에 탄젠트 기준을 설정 한 다음 모든 인접한 정점을 해당 탄젠트 공간으로 변환하고 최소 제곱을 사용하여 가장 적합한 2FF 매트릭스를 찾아서 수행 할 수 있습니다. 그러면 주 곡률 방향이 해당 행렬의 고유 벡터가됩니다. 가장자리가 해당 방향을 명시 적으로 가리 키지 않고 인접한 정점에 의해 "암시적인"곡률 방향을 찾을 수 있다는 점에서 흥미로워 보이지만 다른 한편으로는 훨씬 더 많은 코드, 더 많은 계산 및 수치 적으로 덜 강력합니다.

이 접근 방식을 취하는 논문은 Rusinkiewicz, "삼각형 메쉬에 곡률 및 그 파생물 추정" 입니다. 삼각형 당 가장 적합한 2FF 행렬을 추정 한 다음 정점 당 행렬을 평균화합니다 (매끄러운 법선 계산 방법과 유사).


1
참고로 중요한 것은 블렌더 .stackexchange.com / questions / 146819 /… 여기에 귀하의 답변을 사용 했지만 p1 주위의 각도를 사용하여 가중치를 추가합니다. 당신이 그 가치를 발견하는지 몰라? 어쨌든 의견을 주시기 바랍니다. 감사.
레몬

19

탁월한 @NathanReed 답변에 다른 방법을 추가하기 위해 별도의 Laplace-Beltrami로 얻을 수있는 평균 및 가우스 곡률을 사용할 수 있습니다.

그래서 그 1 링 이웃 가정 같은 메시의 모습에V나는

                                         여기에 이미지 설명을 입력하십시오

(1)(V나는) 는 단순히이 고리를 형성하는 삼각형 영역의 있으며 표시된 는 인접한 정점 중 하나입니다.J1V제이

이제 특정 지점에서 메시에 의해 정의 된 함수 (분화 가능한 매니 폴드)를 라고합시다 . 내가 아는 Laplace-Beltrami 연산자의 가장 보편적 인 이산화는 코탄젠트 이산화이며 다음과 같이 제공됩니다.에프(V나는)

Δ에스에프(V나는)=12(V나는)V제이1(V나는)(영형α나는제이+영형β나는제이)(에프(V제이)에프(V나는))

어디 의 하나 개의 고리 근처에있는 모든 정점을 의미 .V제이1(V나는)V나는

이것은 평균 곡률을 계산하는 것이 매우 간단합니다 (이제 단순성을 위해 관심있는 정점에서 단순히 메쉬의 함수를 라고합시다 ).V

H=12||Δ에스V||

이제 각도 를 소개하겠습니다θ제이

                                        여기에 이미지 설명을 입력하십시오

가우스 곡률은 다음과 같습니다.

케이=(2π제이θ제이)/

이 모든 고통 후에, 주요 이산 곡률은 다음과 같이 주어집니다.

케이1=H+H2케이    케이2=HH2케이

당신이 주제에 관심이있는 (그리고이 게시물에 대한 일부 참조를 추가 할) 경우 훌륭한 읽기는 다음과 같습니다 삼각 2 매니 폴드에 대한 이산 미분 기하 연산자 [마이어 외. 2003].

이미지에 대해서는 전 교수 인 Niloy Mitra에게 강의에 사용한 메모에서 찾은 것에 감사합니다.


두 대답 모두 정말 좋았습니다. 선택하기가 어려웠습니다. 가장 간단한 방법에 대해 물었으므로 Nathan이 케이크를 먹는 것 같습니다.
ap_

2
Meyer et al. 2003 년은 경계 정점의 곡률을 계산하는 방법에 대해 언급하지 않았을 것입니다. 각이 적자 접근 방식을 취 경계 정점에 대한 가우스 곡률은 합니다. 케이=(π제이θ제이)/미디엄나는엑스이자형
teodron

@teodron 경계 정점의 평균 곡률에 대한 통찰력이 있습니까? 그러한 것을 정의 할 수 있습니까?
Museful

@Museful 표면 유형에 관계없이 평균 곡률이 음수가 아닌 것에 대해 약간 걱정하고 있습니다. Laplacian과 같은 연산자가 경계 정점에 정의되어 있으면 에서 입사하는 표면의면을 구성하는 삼각형 만 포함하여 동일한 식을 평가해야합니다 . 그러나 이산 곡률에 대한 최근 논문이 있습니다.V나는
teodron

-1

@ Nathan-Reed : Nathan-Reed의 대답에 대한 질문 : 왜 기하학적 의미를 사용 했습니까? 가우스 곡률 후에 "모델링"되었기 때문입니까?


3
새로운 질문이 있으면 질문하기 버튼 을 클릭하여 질문하십시오 . 컨텍스트를 제공하는 데 도움이되는 경우이 질문에 대한 링크를 포함하십시오. - 리뷰에서
Dragonseel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.