Browse Source

Create DodecahedronGeometry.js

Abe Pazos 11 years ago
parent
commit
f8cfde83b7
1 changed files with 55 additions and 0 deletions
  1. 55 0
      src/extras/geometries/DodecahedronGeometry.js

+ 55 - 0
src/extras/geometries/DodecahedronGeometry.js

@@ -0,0 +1,55 @@
+/**
+ * @author Abe Pazos / https://hamoid.com
+ */
+
+THREE.DodecahedronGeometry = function ( radius, detail ) {
+
+	this.parameters = {
+		radius: radius,
+		detail: detail
+	};
+
+	var t = ( 1 + Math.sqrt( 5 ) ) / 2;
+  var r = 1 / t;  
+
+	var vertices = [
+    
+    // (±1, ±1, ±1)
+		-1, -1, -1,		-1, -1,  1,
+		-1,  1, -1,		-1,  1,  1,
+		 1, -1, -1,		 1, -1,  1,
+		 1,  1, -1,		 1,  1,  1,
+
+		// (0, ±1/φ, ±φ)
+		 0, -r, -t,		 0, -r,  t,
+		 0,  r, -t,		 0,  r,  t,
+
+		// (±1/φ, ±φ, 0)
+		-r, -t,  0,		-r,  t,  0,
+		 r, -t,  0,		 r,  t,  0,
+
+		// (±φ, 0, ±1/φ)
+		-t,  0, -r,		 t,  0, -r,
+		-t,  0,  r,		 t,  0,  r
+	];
+
+	var indices = [    
+      3, 11,  7,      3,  7, 15,      3, 15, 13, 
+      7, 19, 17,      7, 17,  6,      7,  6, 15,
+		 17,  4,  8,		 17,  8, 10, 		 17, 10,  6, 
+      8,  0, 16,      8, 16,  2,      8,  2, 10, 
+      0, 12,  1,      0,  1, 18,      0, 18, 16,
+		  6, 10,  2, 		  6,  2, 13,		  6, 13, 15,
+      2, 16, 18,      2, 18,  3,      2,  3, 13,
+     18,  1,  9,     18,  9, 11,     18, 11,  3,
+		  4, 14, 12, 		  4, 12,  0, 		  4,  0,  8,
+     11,  9,  5,     11,  5, 19,     11, 19,  7, 
+     19,  5, 14,     19, 14,  4,     19,  4, 17,
+		  1, 12, 14, 		  1, 14,  5, 		  1,  5,  9
+	];
+
+	THREE.PolyhedronGeometry.call( this, vertices, indices, radius, detail );
+
+};
+
+THREE.DodecahedronGeometry.prototype = Object.create( THREE.Geometry.prototype );