package sample.web3d;
import static util.Generic3DUtil.*;

public class Octahedron {
	/*
	 * 正多面体の隣り合う面同士のなす角 (http://en.wikipedia.org/wiki/Table_of_polyhedron_dihedral_angles)
	 * 正四面体   acos(1/3)
	 * 正六面体   π/2
	 * 正八面体   π - acos(1/3)
	 * 正十二面体 π - atan(2)
	 * 正二十面体 π - acos(sqrt(5)/3)
	 */
	public static void main(String[] args) {
		double len = 200;
		double dihedral = Math.acos(1.0/3)/PI*180;
		
		start();
		stroke(0x0000ff);
//		ribbonWidth(10);
		
		for (int i=0; i<5; i++) {
			bank(-dihedral/2);
			turn(120);
			bank(dihedral/2);
			forward(len);
			bank(-dihedral/2);
			turn(120);
			bank(dihedral/2);
			forward(len);	

			bank(dihedral/2);
			turn(-120);
			bank(-dihedral/2);
			forward(len);	
			bank(dihedral/2);
			turn(-120);
			bank(-dihedral/2);	
			forward(len);
		}
		
		finish();
	}		
}
