생성 모델링 언어

Generative Modelling Language

컴퓨터 그래픽컴퓨터 프로그래밍의 GML(Generation Modeling Language)은 복잡한 3D 모양에 대한 간결한 설명을 위한 매우 간단한 프로그래밍 언어다.그것은 복잡한 데이터셋이 개체 목록이 아닌 "운영 목록"으로 표현되는 "세대 모델링" 패러다임을 따른다. 예를 들어 관계형 데이터베이스의 경우다.

개요

일반적인 3D 파일 형식기하학적 원시성의 관점에서 가상 세계를 설명한다.이것들은 CSG 트리, NURBS 패치, 암묵적 함수 집합, 삼각망 또는 단지구름에 있는 정사각형과 구체일 수 있다."세대적 3D 모델링"이라는 용어는 모양을 묘사하는 다른 패러다임을 설명한다.주요 아이디어는 3D 개체를 개체 생성 작업으로 대체하는 것이다.형상은 이러한 연산을 적용하는 최종 결과인 삼각형이 아니라 일련의 처리 단계에 의해 설명된다.형상 설계는 규칙 설계가 된다.이 접근방식은 일반적으로 이러한 맥락에서 '초기 형상 연산자'라고 불리는 생성함수의 기본 집합을 제공하는 형상 표현에 적용될 수 있다.예를 들어 절차적 메쉬 생성 분야에서는 오일러 연산자가 반 에지 수준에서 작동하며 메쉬에 대한 완전하고 폐쇄적인 형태 생성 기능의 집합으로 그 효과가 입증되었다.

생성 모델링은 낮은 수준의 형상 연산자로부터 높은 수준의 형상 연산자를 만들 수 있는 가능성을 통해 효율성을 얻는다.모든 처리 단계의 순서는 새로운 결합 연산자를 만들기 위해 함께 그룹화할 수 있다.그것은 다른 복합 운영자뿐만 아니라 초등 운영자를 사용할 수 있다.콘크리트 값은 매개변수로 쉽게 대체될 수 있으므로, 다음과 같은 작업에서 데이터를 분리할 수 있다.동일한 처리 시퀀스를 다른 입력 데이터 세트에 적용할 수 있다.동일한 데이터를 사용하여, 예를 들어, 도메인 의존 모델링 운영자의 라이브러리와 같은 서로 다른 결합 운영자를 적용함으로써 다른 형상을 만들 수 있다.이를 통해 예를 들어 스타일 라이브러리와 같은 몇 가지 고급 입력 매개변수에서만 매우 복잡한 객체를 만들 수 있다.

생성 모델링 언어

GML은 생성적 접근법의 구체적인 구현이다.스택 기반, 해석된 프로그래밍 언어로, Adobe의 PostScript와 매우 유사하지만, 2D 레이아웃 연산자는 없다.대신 3D 모델(폴리곤, b-rep, subdivision surface)을 만들기 위한 다수의 연산자를 제공한다."모양 프로그래밍 언어"로서 기하학적 원시 요소 목록만 포함하는 OBJ, DXF 또는 VRML과 같은 "플랫" 3D 파일 형식의 진정한 일반화다.

GML은 OpenGL 기반 런타임 엔진과 함께 대화형 시각화에서 3D 모델링의 일반적인 분리를 극복하기 위해 통합 모델링기를 갖춘 뷰어로도 볼 수 있다.그 대신 둘 다 서로 연결되어 있다.GML은 실행 시 즉시 평가될 수 있고 적응적 세부 수준으로 제공되는 매개변수화된 3D 객체를 간결하게 표현할 수 있으며, 모든 매개변수의 대화형 조작을 허용한다.

GML 예제

1: (0,0,-2)(1,1,0) 2 쿼드
2: /csv 설정류 재료
5 poly2doubleface
3: (0,1,1) 돌출
4: (0,0,1) (1,0,1) 정상화
0 project_ringplane
5: (2,0,0) (0,1,-1) 2 쿼드
6: /노란색 설정류 재료
5 poly2doubleface
7: 브리징 0
GML-example-gehrung.png

적용들

Procedural Model of Cologne Cathedral

절차적 모델에서 모델 복잡성은 더 이상 파일 크기와 직접적으로 관련되지 않는다(즉, 선형).쾰른 대성당의 기본 모델인 절차적 대성당에는 70개의 트라커리 창이 있으며, 최고 해상도의 단일 창에는 약 700만 개의 삼각형이 들어 있다.이는 GML 코드 126KB(18KB 압축)에서 "접히지 않은" 것이다.

Gothic Window Tracery

고딕 건축은 절차적 형상 설계의 효율성에 대한 대표적인 예다.고딕 양식에서 모든 기하학적 구조는 나침반과 자를 사용하여 독점적으로 실행된다.변형은 간단한 기본 파라미터화된 기하학적 연산의 세트가 항상 변화하는 방식으로 절차적으로 결합함으로써 얻어졌다.따라서 동일한 기하학적 구조를 따르는 서로 다른 건물에서 두 개의 삼색 창을 찾는 것은 사실상 불가능하다.

Interactive CAVE Designer

대화형 COVE 설계자는 작은 방에 COVE를 설치하는 것을 돕는다.천장 아래에 콘크리트 막대가 있어 방의 2D 평면만 사용해도 배치하기 어렵다.자유도(파란색 화살표)는 투영 스크린 큐비클의 위치와 방향, 프로젝터의 개구부 각도, 상단 미러의 위치/방향이다.DOF는 유효한 값만 취하도록 약간 제한된다.DOF는 일정하게 유지된다. 즉, 큐비클을 이동할 때 프로젝터 센터도 움직인다(또는 벽에 반사된다).

Generative Car Rim Model

카 휠 림의 CAD 모델 약 30개를 주어진 과제는 각각의 개별 인스턴스를 생성할 수 있는 공통 파라메트리제이션(세대 표면 재구성)을 찾는 것이었다.그 결과, 주어진 30개의 림에 의해 확장되는 설계 공간 내에서 3개의 주요 범주로 수동 분류된 새롭고 유사한 휠 림을 합성할 수 있다.높은 수준의 파라미터 중 몇 개는 슬라이더와 버튼(화살과 볼)을 이용해 직접 조작할 수 있다.

Chair Structure

생성 모델링은 3D 모델의 "구조"와 "외관성"(예: 스타일)을 구별할 것을 제안한다.놀랍게도 많은 물체는 의자와 동일한 구조를 가지고 있다. 즉, 구조 수준의 의자와 "가까이" 있다.그러면 차별화는 (원칙적으로) 이 등급의 한 물체의 외관을 다른 물체에 적용하는 것을 허용한다.

Didactic Voronoi Diagram Applet

보로노이 다이어그램의 구성을 보여주는 디달틱 애플릿:지역 경계에서 보로노이 세포의 중심을 재구성하는 것이 가능한가?대화형 애플릿은 형식적인 증거 뒤에 숨겨진 아이디어에 대한 좋은 직관을 전달한다.

참고 항목

참조

추가 읽기

  • 마이클 레이튼.형태 생성 이론 (그의 홈페이지에서 이용 가능)
  • 존 스나이더컴퓨터 그래픽과 CAD를 위한 생성모델링 : 구간분석을 이용한 심볼적 형상설계

외부 링크