IDL/New Graphics

Ellipsoid를 그려봅시다

이상우_IDL 2014. 4. 17. 16:30
728x90

IDL의 본사인 Exelis Vis 웹페이지에 있는 IDL Datapoint라는 섹션을 보면 IDL과 관련된 기술적인 팁들에 관한 게시물이 올라옵니다. 저도 항상 즐겨 보고 있는데요. 최근에 흥미로운 게시물이 올라와서 내용을 간단하게 소개해드리려고 합니다. 구체적인 내용은 IDL에서 Ellipsoid(타원체)라고 하는 3차원 도형을 구현하는 방법입니다. 일단 원문의 링크는 아래와 같습니다.


원문 링크 누르기


타원체가 무엇인지는 다들 아실겁니다. 2차원 공간에서 X, Y 방향의 반경이 똑같을 경우가 원(circle)이고 그렇지 않은 일반적인 경우가 타원(ellipse)인 것처럼, 3차원 공간에서 X, Y, Z 방향의 반경이 똑같을 경우가 구(sphere)이고 그렇지 않은 일반적인 경우가 타원체(ellipsoid)가 됩니다. 이러한 타원체를 IDL의 NG 그래픽 체계에서 구현할 수 있는 예제 코드가 위의 원문에 올라와 있습니다. 그런데 그 코드의 내용을 받아서 제가 약간 고쳐봤습니다. 이 코드는 이 게시물의 첨부파일로 올려놨으니 받아서 사용하시면 됩니다(여기 맨 아래쪽에 있습니다). 간단한 사용법은 다음과 같습니다.


DJ_ELLIPSOID_NG, a, b, c, COLOR=color, VERT=vert, CONN=conn


1. a, b, c는 각각 X, Y, Z축 방향의 반경을 뜻합니다.

2. color는 타원체 전반을 채우는 색상이고, 특별히 지정하지 않을 경우에는 초록색(green)으로 설정됩니다.

3. VERT 및 CONN 키워드를 사용하여 vert 및 conn이라는 배열을 돌려받을 수도 있는데, 이 결과는 혹시나 OG 체계에서 이와 같은 타원체를 구현하고자 할 경우에 IDLgrPolygon 클래스를 생성할 때 vertex 및 connectivity 정보로 사용할 수 있습니다.


다음은 이 코드를 사용하여 타원체를 구현해보는 간단한 예제입니다.


DJ_ELLIPSOID_NG, 2, 1.5, 1


DJ_ELLIPSOID_NG, 2, 1, 1, COLOR='purple'


이상 타원체를 구현하는 예제코드를 소개해보았습니다.


dj_ellipsoid_ng.pro


dj_ellipsoid_ng.pro
0.0MB
LIST