메타볼
Metaballs컴퓨터 그래픽스에서 메타볼은 유기적으로 보이는 n차원 등각면이며, 근접할 때 하나의 연속된 객체를 생성하기 위해 함께 결합할 수 있는 것이 특징이다.
솔리드 모델링에서는 폴리곤 메쉬가 일반적으로 사용됩니다.그러나 경우에 따라서는 메타볼이 더 우수합니다.메타볼의 "Bloby" 모양은 그것들을 다용도 도구로 만들어 유기물을 모델링하고 [1]조각하기 위한 베이스 메쉬를 만드는 데 종종 사용됩니다.
메타볼 렌더링 기술은 1980년대 초 짐 블린이 칼 세이건의 1980년 TV 시리즈 [2]코스모스의 원자 상호작용 모델을 위해 발명했다.모션 및 UX 디자인 [3]커뮤니티에서는 "젤리 효과"라고도 불리며, 일반적으로 탐색 및 버튼과 같은 UI 요소에 나타납니다.메타볼 행동은 세포생물학의 유사분열과 일치하며, 여기서 염색체는 세포분열을 통해 동일한 복제품을 생성한다.
정의.
각 메타볼은 n차원의 함수로 정의됩니다(예: 3차원의 f( , ,) { f ,z ); 3차원 메타볼은 가장 일반적인 경향이 있으며 2차원 구현도 일반적입니다).솔리드 볼륨을 정의하기 위해 임계값도 선택됩니다.그리고나서,
m{\m개의 메타볼로 된 표면에 둘러싸인 이( z) {x에 채워져 있는지 여부를 나타냅니다.
실행
이 섹션은 목록 형식이지만 산문으로 더 잘 읽힐 수 있습니다.(2019년 6월) |
메타볼에 대해 선택된 일반적인 함수는 역제곱 법칙입니다. 즉, 메타볼 중심으로부터의 거리가 증가함에 따라 임계값 함수에 대한 기여도가 벨에서 떨어집니다.
3차원 케이스는
서( , 0 ,0 ) { { 0 , y _ { 0 ,_ { 0 }는 메타볼의 중심입니다.그러나 분할로 인해 계산 비용이 많이 듭니다.이러한 이유로 일반적으로 근사 다항식 함수가 사용됩니다.[citation needed]
보다 효율적인 폴오프 기능을 추구할 때는 다음과 같은 몇 가지 품질이 바람직합니다.
- 한정된 지원지원이 유한한 함수는 최대 반지름으로 0이 됩니다.메타볼 필드를 평가할 때 샘플 포인트에서 최대 반지름을 초과하는 점은 무시해도 됩니다.가장 가까운 네이버 검색에서는 필드의 총수에 관계없이 인접 메타볼만 평가할 필요가 있습니다.
- 부드러움.등각면은 필드를 합산한 결과이기 때문에 평활도는 낙하 곡선의 평활도에 따라 달라집니다.
이러한 기준을 충족하는 가장 단순한 낙하 곡선은 f(r ) ( / )2, {{ f)=(}입니다. 서r {\ r은 점까지의 거리입니다.이 공식에 의해 고가의 제곱근 콜이 회피됩니다.
보다 복잡한 모델은 평활성을 달성하기 위해 유한 반지름 또는 다항식의 혼합으로 제한된 가우스 전위를 사용합니다.와이빌 형제의 Soft Object 모델은 높은 수준의 부드러움을 제공하면서도 여전히 제곱근을 [citation needed]피합니다.
메타볼의 간단한 일반화는 선으로부터의 거리 또는 표면으로부터의 거리에 폴오프 곡선을 적용하는 것이다.
메타볼을 화면에 렌더링하는 방법은 여러 가지가 있습니다.3차원 메타볼의 경우 가장 일반적인 두 가지는 무차별 포스 레이캐스팅과 행진 큐브 알고리즘입니다.
2D 메타볼은 1990년대에 매우 흔한 데모 효과였다.이 효과는 XScreensaver 모듈로도 사용할 수 있습니다.
「 」를 참조해 주세요.
레퍼런스
추가 정보
- Blinn, J. F. (July 1982). "A Generalization of Algebraic Surface Drawing". ACM Transactions on Graphics. 1 (3): 235–256. doi:10.1145/357306.357310. S2CID 24838292.
외부 링크
- Paul Bourke의 Implicit Surfaces 기사
- Blender Wiki의 Meta Objects 기사
- SIGGRAPH 웹사이트의 메타볼 기사
- "2D 메타볼과 아이소서페이스 탐색", 2008년 9월 3일 Stephen Whitmore, gamedev.net