폴리곤 모델링

Polygonal modeling

3D 컴퓨터 그래픽스에서 폴리곤 모델링은 폴리곤 메쉬를 사용하여 오브젝트의 표면을 표현하거나 근사하여 오브젝트를 모델링하는 방법입니다.폴리곤 모델링은 스캔라인 렌더링에 매우 적합하기 때문에 실시간 컴퓨터 그래픽에서 선택하는 방법입니다.3D 객체를 표현하는 다른 방법으로는 NURBS 표면, 분할 표면 및 광선 추적기에 사용되는 방정식 기반 표현이 있습니다.

기하학 이론과 다각형

메시 모델링에 사용되는 기본 객체는 3차원 공간의 점인 정점입니다.직선으로 연결된 두 정점은 모서리가 됩니다.세 개의 모서리에 의해 서로 연결된 세 개의 정점은 유클리드 공간에서 가장 단순한 다각형인 삼각형을 정의합니다.여러 개의 삼각형에서 더 복잡한 폴리곤을 만들거나 3개 이상의 정점이 있는 단일 개체로 만들 수 있습니다.네 변의 폴리곤(일반적으로 [1][2]사각형이라고 함)과 삼각형이 폴리곤 모델링에 가장 일반적으로 사용되는 형태입니다.공유 정점에 의해 서로 연결된 폴리곤의 그룹을 일반적으로 요소라고 합니다.요소를 구성하는 각 다각형을 이라고 합니다.

유클리드 기하학에서 세 개의 비공선 이 평면을 결정합니다.이러한 이유로 삼각형은 항상 하나의 평면에 존재합니다.그러나 더 복잡한 폴리곤의 경우에는 반드시 해당되지 않습니다.삼각형의 평탄한 성질 때문에 삼각형의 표면에 수직인 3차원 벡터인 표면 법선을 쉽게 결정할 수 있습니다.표면 노멀은 광선 추적에서 광수송을 결정하는 데 유용하며 인기 있는 Phong 쉐이딩 모델의 핵심 구성요소입니다.일부 렌더링 시스템은 면 정규화 대신 정점 정규화를 사용하여 더 많은 처리 비용을 들여 더 나은 조명 시스템을 만듭니다.모든 삼각형에는 서로 반대 방향을 가리키는 두 개의 면 법선이 있습니다.많은 시스템에서 이러한 규범 중 하나만 유효하다고 간주됩니다. 폴리곤의 다른 한 쪽은 백페이스라고 하며 프로그래머의 희망에 따라 보이거나 보이지 않을 수 있습니다.

많은 모델링 프로그램은 기하학적 이론을 엄격하게 적용하지 않습니다. 예를 들어, 두 꼭지점이 정확히 동일한 공간적 위치를 차지하는 두 개의 서로 다른 모서리를 가질 수 있습니다.또한 두 개의 정점이 동일한 공간 좌표에 존재하거나 두 개의 면이 동일한 위치에 존재할 수도 있습니다.이러한 상황은 일반적으로 바람직하지 않으며 많은 패키지가 자동 청소 기능을 지원합니다.그러나 자동 청소가 없는 경우 수동으로 삭제해야 합니다.

공유 정점에 의해 연결된 폴리곤의 그룹을 메쉬라고 한다.메시가 렌더링될 때 매력적으로 보이려면 자체 교차하지 않는 것이 좋습니다. 즉, 폴리곤을 통과하는 가장자리가 없습니다.또 다른 관점에서 보면 메쉬가 스스로 뚫릴 수 없다는 것입니다.또한 메쉬에는 이중 꼭지점, 가장자리 또는 면과 같은 오류가 포함되지 않는 것이 좋습니다.어떤 목적을 위해서는 메쉬가 다지관인 것이 중요하다. 즉, 메쉬에 구멍이나 특이점(메쉬의 두 개의 서로 다른 부분이 하나의 정점으로 연결되는 위치)을 포함하지 않는 것이 중요하다.

폴리곤 메쉬 구조

정점과 면을 수동으로 지정하여 메쉬를 작성할 수 있지만, 다양한 도구를 사용하여 메쉬를 작성하는 것이 훨씬 일반적입니다.폴리곤 메쉬를 구성하는 데 사용할 수 있는 다양한 3D 그래픽 소프트웨어 패키지가 있습니다.

메쉬를 구성하는 가장 일반적인 방법 중 하나는 박스 모델링으로, 다음과 같은 두 가지 간단한 도구를 사용합니다.

  • 하위 분할 도구는 새 정점을 추가하여 면과 모서리를 더 작은 조각으로 분할합니다.예를 들어, 정사각형의 경우 중앙에 하나의 정점을 추가하고 각 모서리에 하나의 정점을 추가하여 4개의 작은 정사각형을 만듭니다.
  • 돌출 도구는 면 또는 면 그룹에 적용됩니다.각 기존 모서리에 면으로 연결되는 동일한 크기와 모양의 새 면을 작성합니다.따라서 정사각형 면에 돌출 작업을 수행하면 면의 위치에 표면에 연결된 입방체가 생성됩니다.

두 번째 일반적인 모델링 방법은 인플레이션 모델링 또는 압출 모델링이라고도 합니다.이 방법에서는 사용자는 사진이나 [3]도면으로부터 사물의 윤곽을 추적하는 2D 형상을 작성한다.그런 다음 사용자는 다른 각도에서 피사체의 두 번째 이미지를 사용하여 2D 모양을 3D로 돌출시키고 다시 모양의 윤곽을 따릅니다.이 방법은 면과 헤드를 작성할 때 특히 일반적입니다.일반적으로 아티스트는 머리의 절반을 모델링한 다음 정점을 복제하고, 일부 평면에 대해 위치를 반전하여 두 조각을 연결합니다.그러면 모형이 대칭이 됩니다.

폴리곤 메쉬를 작성하는 또 다른 일반적인 방법은 모델링 환경에 의해 작성된 미리 정의된 폴리곤 메쉬인 다양한 프리미티브를 연결하는 것입니다.일반적인 프리미티브는 다음과 같습니다.

  • 큐브
  • 피라미드
  • 실린더
  • 정사각형, 삼각형, 디스크와 같은 2D 프리미티브
  • 유타 티포트나 블렌더의 원숭이 마스코트인 Suzanne와 같은 특수화되거나 난해한 원시 요소.
  • 구체 - 구는 일반적으로 다음 두 가지 방법 중 하나로 표시됩니다.
    • 아이코스피어는 구를 닮을 만큼 충분한 수의 삼각형을 가진 이코사면체이다.
    • UV 구는 쿼드로 구성되어 있으며, 일부 지구본에서 볼 수 있는 그리드와 유사합니다. 쿼드는 구의 "에퀴케이터" 근처에서는 더 크고 "극" 근처에서는 더 작으며, 결국 하나의 정점으로 끝납니다.

마지막으로 하이 또는 로우 디테일 메쉬를 구성하는 몇 가지 특수한 방법이 존재합니다.스케치 기반 모델링은 사용자가 쉽게 사용할 수 있는 인터페이스로, 3D 스캐너는 기존의 실제 물체를 기반으로 거의 자동으로 높은 디테일 메쉬를 만들 수 있습니다.이러한 디바이스는 매우 고가이며, 일반적으로 연구자나 업계 전문가만이 사용하고 있습니다만, 고정밀의 밀리미터 이하의 디지털 표시를 생성할 수 있습니다.

운용

폴리곤 메쉬에 대해 수행할 수 있는 연산은 매우 많습니다.이들 중 일부는 실제 3D 객체 조작과 거의 일치하지만 다른 일부는 그렇지 않습니다.폴리곤 메쉬 연산은 다음과 같습니다.

  • 작성 - 다른 수학적 객체에서 새 지오메트리를 만듭니다.
    • 로프트 - 둘 이상의 종단 원곡선을 따라 모양을 작성하여 메시 생성
    • 돌출 - 직선 또는 선형 선을 따라 종단 원곡선 또는 폴리곤 표면을 스위프하여 지표면을 작성합니다
    • 회전 - 축을 중심으로 모양을 회전(회전)하여 메시 생성
    • 행군 큐브 - 암묵적 함수에서 메쉬를 구성하는 알고리즘
  • 바이너리 작성 - 다른 2개의 메쉬의 바이너리 연산에서 새로운 메쉬 작성
    • 추가 - 두 개 이상의 메시 부울 추가
    • 감산 - 두 개 이상의 메시 부울 감산
    • 교차 - 부울 교차로
    • 유니언 - 두 개 이상의 메시로 이루어진 부울 유니언
    • 부착 - 하나의 메시를 다른 메시에 부착합니다(내부 표면 제거).
    • 모따기 - 두 표면을 부드럽게 연결하는 경사면을 만듭니다.
  • 변형 - 메시의 정점만 이동합니다.
    • 변형 - 정점을 체계적으로 이동합니다(특정 기능 또는 규칙에 따라).
    • 가중 변형 - 정점당 현지화된 가중치에 따라 정점을 이동합니다.
    • Morph - 소스와 대상 메시 간에 정점을 부드럽게 이동합니다.
    • 벤드 - 정점을 이동하여 객체를 "벤드"합니다.
    • 트위스트 - 정점을 이동하여 객체를 " 비틀기"합니다.
  • 조작 - 메시의 지오메트리를 수정하지만 반드시 토폴로지는 수정하지 않습니다.
    • 변위 - 지표면에서 "배치 지도"를 기반으로 추가 지오메트리 도입
    • 단순화 - 정점을 체계적으로 제거하고 평균화합니다.
    • 세분화 - 각 면을 세분화하여 새로운 정점을 메쉬에 추가합니다.예를 들어 Catmull-Clark의 경우 하위 분할은 적용된 메시에도 평활 효과를 줄 수 있습니다.
    • 볼록형 선체 - 지정된 메시를 최소로 둘러싸는 볼록형 메시 생성
    • 절단 - 메쉬 표면에 구멍을 만듭니다.
    • 스티치 - 메쉬 표면의 구멍을 막습니다.
  • 측정 - 망사의 일부 값 계산
    • 볼륨 - 메시의 3D 볼륨 계산(이산 볼륨 적분)
    • 표면적 - 메쉬의 표면적을 계산합니다(이산 표면적분).
    • 충돌 감지 - 이동 중인 두 개의 복잡한 메시가 충돌했는지 확인합니다.
    • 피팅 - 파라메트릭 표면(NURBS, 바이큐빅 스플라인)을 지정된 메시에 피팅하여 구성합니다.
    • 점-표면 거리 - 점으로부터 망사까지의 거리 계산
    • 선-표면 거리 - 선에서 망사까지의 거리 계산
    • 선-표면 교차로 - 선과 망사의 교차로 계산
    • 횡단 - 망사를 통해 평면의 단면으로 작성된 곡선을 계산합니다.
    • 중심 - 망사의 중심, 기하학적 중심 계산
    • 질량 중심 - 메시의 질량 중심, 균형점을 계산합니다.
    • 원둘레 중심 - 메쉬 요소를 둘러싼 원 또는 구의 중심을 계산합니다.
    • 인센티브 - 망사 요소로 둘러싸인 원 또는 구의 중심을 계산합니다.

내선번호

폴리곤 메쉬가 구성되면 게임, 애니메이션 등에 사용하기 전에 추가 단계를 수행해야 합니다.색상과 텍스처를 지표면에 추가하려면 모델을 텍스처 맵해야 하며 애니메이션에 사용할 스켈레톤을 제공해야 합니다.메시는 물리적 시뮬레이션에 사용하기 위해 무게와 무게 중심을 할당할 수도 있다.

모델링 환경 이외의 컴퓨터 화면에 모델을 표시하려면 해당 모델을 아래 나열된 파일 형식 중 하나로 저장한 후 해당 형식에서 로드할 수 있는 프로그램을 사용하거나 작성해야 합니다.3D 폴리곤 모델을 표시하는 두 가지 주요 방법은 OpenGLDirect3D입니다.이 방법들은 모두 3D 액셀러레이션 그래픽 카드 유무에 관계없이 사용할 수 있습니다.

장점과 단점

폴리곤을 사용하여 객체를 표현하는 것에는 많은 단점이 있습니다.폴리곤은 곡면을 정확하게 표현할 수 없기 때문에 시각적으로 매력적인 방법으로 곡선을 근사하기 위해 많은 폴리곤을 사용해야 합니다.복잡한 모델을 사용하면 속도가 느려집니다.스캔 라인 변환에서는 크기에 관계없이 각 폴리곤을 변환하고 표시해야 하며, 화면에 항상 다수의 모델이 나타나는 경우가 많습니다.대부분의 경우 프로그래머는 렌더링되는 폴리곤의 수를 줄이기 위해 다양한 상세 수준의 여러 모델을 사용하여 동일한 객체를 표현해야 합니다.

폴리곤의 주요 장점은 다른 표현보다 빠르다는 것입니다.최신 그래픽 카드는 초당 60프레임 이상의 프레임 레이트로 매우 상세한 장면을 표시할 수 있지만, 비다각형 모델을 표시하는 주요 방법인 서피스 모델러는 비슷한 양의 상세도로 인터랙티브 프레임 레이트(10프레임/초 이상)를 달성할 수 없습니다.폴리곤의 또 다른 대안인 스프라이트의 경우 필요한 모든 포즈는 개별적으로 작성해야 하며, 적절한 모션 데이터가 적용되면 단일 폴리곤 모델이 모든 이동을 수행할 수 있으며 모든 [4]각도에서 볼 수 있습니다.

파일 형식

3D 폴리곤 데이터를 저장하는 데는 다양한 형식을 사용할 수 있습니다.가장 인기 있는 것은 다음과 같습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Primitive - OpenGL Wiki". www.opengl.org.
  2. ^ "Using a Basic Effect with Texturing". msdn.microsoft.com.
  3. ^ "Polygonal modeling method". Retrieved 2022-04-19.
  4. ^ Rybicki, Joe (December 1996). "The Making of NBA Live 97". Electronic Gaming Monthly. No. 89. Ziff Davis. p. 301.

참고 문헌

  1. OpenGL SuperBible (제3판), Richard S Wright and Benjamin Lipchak ISBN 0-672-32601-9
  2. OpenGL 프로그래밍 가이드:OpenGL Architecture Review Board ISBN 0-321-17348-1의 OpenGL 공식 학습 가이드 버전 1.4, 제4판
  3. OpenGL(R) 레퍼런스 매뉴얼: OpenGL Architecture Review Board ISBN 0-321-17383-X에 의한 OpenGL 버전 1.4 (제4판) 공식 레퍼런스 문서
  4. 블렌더 매뉴얼:https://web.archive.org/web/20051212074804/http://blender.org/cms/Documentation.628.0.html
  5. Maya 매뉴얼: Alias Maya와 함께 패키지화 http://www.alias.com/eng/index.shtml