아래는 Papervision3D에 쓸 수 있는 Primitive인 GeodesicSphere 클래스를 만들어 테스트한 화면이다.


위 프로그램의 소스는 아래 링크를 참고한다.
http://wonderfl.net/code/e6f14ed092706ba9f539f64da252a92200724769

소스코드상에서 GeodesicSphere 클래스 부분만 제외하고 전부 테스트 코드이다.

Away3DLite환경에서 만든 GeodesicSphere도 만들었다.

http://wonderfl.net/code/5dcd89ac60896ae55604aa018747bc0d861b2bff

참고글 : http://blog.jidolstar.com/589

글쓴이 : 지돌스타(http://blog.jidolstar.com/643)

 

구를 표현하는데 있어서 많은 3D 예제들이 그냥 경도, 위도로 나눠서 텍스쳐 입히는 것이 대부분입니다. 사실 그게 가장 쉬운 방법이고 완성된 구를 표현할 것 같으면 그편이 좋습니다.

 

Geodesic Sphere에 대한 프로그램 코드는 그리 많지 않은 것 같더군요. 대신 건축물은 왜 이렇게 많은지.. ㅎㅎ 이 형태의 구로 만든 건축물이 매우 이쁘고 독특해보이죠. 디즈니랜드의 Epcot Dom이 매우 유명한 Geodesic Sphere의 한종류이죠.

 

 

응용하면 아래처럼 의자도 만들 수 있네요. 왠지 세련되어 보입니다.

 

Geodesic이라는 말은 두점간에 최단선(측지선)을 의미합니다. 이 원리를 이용해 만든 구가 바로 Geodesic 구라는 것이지요.

 

구글 어스(Google Earth)와 같은 3D 프로그램에서 구의 형태를 어떻게 표현했다고 생각하시나요? 정확히는 모르겠지만 Geodesic Sphere 기법을 이용했을 거라 추측합니다. 구글어스에 보이는 지도는 타일 이미지들의 모임입니다. 만약 경도,위도로 그 타일 이미지를 나눠버리면 결국 극쪽(북극, 남극)쪽에 불러와야할 타일 이미지는 엄청 많아지겠죠. 확대할수록 더할 겁니다. 이런 점에 비춰볼때 3D에서 Geodesic Sphere의 선택이 필요할 것 같아집니다.

 

Geodesic Sphere를 표현하는 방법은 다양합니다. TETRAHEDRON, OCTAHEDRON, ICOSAHEDRON 기반등을 이용해 그려나갈 수 있지요. 아래처럼요.

 

출처 : http://www.geepers.co.uk/software/geodesicsphere.html

 

아직 3D 지도에 어떤 방식이 좋을지 명확히 판단하지 못했지만 OCTAHEDRON 또는  ICOSAHEDRON  기반이 아닐까 생각합니다.

 

 

회전 : 마우스 드래그

폴리곤수 조절 : 방향키 Up/Down

 

Flash 3D API의 drawTriangle 메소드 기반으로 그려본겁니다. 일반 경도, 위도만을 가지고 그릴때보다 복잡한 편이라 애를 먹었습니다. 극부분이 이미지가 찌그러져보이는 것은 UV설정이 잘못되었기 때문입니다. 이부분에 대한 보완이 필요합니다. 어쨌든 3D 지도 기반을 만들기 위한 첫단추를 꽨 셈이군요. ^^

 

소스코드 아래 링크에서 볼 수 있습니다.

http://wonderfl.net/code/73c32973543fd5d1827ae725ae92f143784b5f97 

 

글쓴이 : 지돌스타(http://blog.jidolstar.com/589)

+ Recent posts