2017年11月7日 星期二

JavaFX 3D - TriangleMesh (I)

以下是以JavaFX 8新增的TriangleMesh類別建構之物件,純以示範為主。

TriangleMesh類別以座標點與三角形的面組成3D物件,為目前大部份3D軟體所使用的方法。此外特別參考由H. M. Cundy與A. P. Rollett所著之Mathematical Models (1981) 一書,瞭解如何計算各3D物件的座標點與面,獲益良多。

其中立方體 (Cube)、正四面體 (Tetrahedron)、正八面體 (Octahedron)、正十二面體 (Dodecahedron) 與正二十面體 (Icosahedron) 均屬於Platonic Solid (柏拉圖多面體),柏拉圖多面體每面均由全等的正多邊形所組成,且每個頂點的組態一致, 為凸 (Convex) 的正多面體。

範例請參考https://sites.google.com/site/leohkkimo/demo/javafx-3d

立方體 (Cube) 又稱為正六面體 (Hexahedron):
圓柱體 (Cylinder):
球體 (Sphere):
正四面體 (Tetrahedron):
正八面體 (Octahedron):
正十二面體 (Dodecahedron):
正二十面體 (Icosahedron):
【參考資料】

[1] Java Official Web Site:http://www.oracle.com/technetwork/java/index.html
[2] JavaFX:http://www.oracle.com/technetwork/java/javafx
[3] JavaFX 8.0 API Specification.
[4] Java Platform, Standard Edition 8 API Specification.

[5] JDK 8 Certified System Configurations. 
[6] H. M. Cundy, A. P. Rollett, Mathematical Models, Tarquin Publications, 1981. 
[7] G. Sellers, R. S. Wright, N. Haemel, OpenGL SuperBible: Comprehensive Tutorial and Reference (6th Edition), Addison-Wesley Professional, 2013.

© Chia-Hui Huang

沒有留言:

張貼留言