% Based on coordinate lists for polyhedra at http://www.rwgrayprojects.com/Lynn/Coordinates/coord01.html pts = zeros(62,3); pts(1,:)= [0 0 2*1.6180339887^2]; pts(2,:)= [1.6180339887^2 0 1.6180339887^3]; pts(3,:)= [1.6180339887 1.6180339887^2 1.6180339887^3]; pts(4,:)= [0 1.6180339887 1.6180339887^3]; pts(5,:)= [-1.6180339887 1.6180339887^2 1.6180339887^3]; pts(6,:)= [-1.6180339887^2 0 1.6180339887^3]; pts(7,:)= [-1.6180339887 -1.6180339887^2 1.6180339887^3]; pts(8,:)= [0 -1.6180339887 1.6180339887^3]; pts(9,:)= [1.6180339887 -1.6180339887^2 1.6180339887^3]; pts(10,:)= [1.6180339887^3 1.6180339887 1.6180339887^2]; pts(11,:)= [1.6180339887^2 1.6180339887^2 1.6180339887^2]; pts(12,:)= [0 1.6180339887^3 1.6180339887^2]; pts(13,:)= [-1.6180339887^2 1.6180339887^2 1.6180339887^2]; pts(14,:)= [-1.6180339887^3 1.6180339887 1.6180339887^2]; pts(15,:)= [-1.6180339887^3 -1.6180339887 1.6180339887^2]; pts(16,:)= [-1.6180339887^2 -1.6180339887^2 1.6180339887^2]; pts(17,:)= [0 -1.6180339887^3 1.6180339887^2]; pts(18,:)= [1.6180339887^2 -1.6180339887^2 1.6180339887^2]; pts(19,:)= [1.6180339887^3 -1.6180339887 1.6180339887^2]; pts(20,:)= [1.6180339887^3 0 1.6180339887]; pts(21,:)= [1.6180339887^2 1.6180339887^3 1.6180339887]; pts(22,:)= [-1.6180339887^2 1.6180339887^3 1.6180339887]; pts(23,:)= [-1.6180339887^3 0 1.6180339887]; pts(24,:)= [-1.6180339887^2 -1.6180339887^3 1.6180339887]; pts(25,:)= [1.6180339887^2 -1.6180339887^3 1.6180339887]; pts(26,:)= [2*1.6180339887^2 0 0]; pts(27,:)= [1.6180339887^3 1.6180339887^2 0]; pts(28,:)= [1.6180339887 1.6180339887^3 0]; pts(29,:)= [0 2*1.6180339887^2 0]; pts(30,:)= [-1.6180339887 1.6180339887^3 0]; pts(31,:)= [-1.6180339887^3 1.6180339887^2 0]; pts(32,:)= [-2*1.6180339887^2 0 0]; pts(33,:)= [-1.6180339887^3 -1.6180339887^2 0]; pts(34,:)= [-1.6180339887 -1.6180339887^3 0]; pts(35,:)= [0 -2*1.6180339887^2 0]; pts(36,:)= [1.6180339887 -1.6180339887^3 0]; pts(37,:)= [1.6180339887^3 -1.6180339887^2 0]; pts(38,:)= [1.6180339887^3 0 -1.6180339887]; pts(39,:)= [1.6180339887^2 1.6180339887^3 -1.6180339887]; pts(40,:)= [-1.6180339887^2 1.6180339887^3 -1.6180339887]; pts(41,:)= [-1.6180339887^3 0 -1.6180339887]; pts(42,:)= [-1.6180339887^2 -1.6180339887^3 -1.6180339887]; pts(43,:)= [1.6180339887^2 -1.6180339887^3 -1.6180339887]; pts(44,:)= [1.6180339887^3 1.6180339887 -1.6180339887^2]; pts(45,:)= [1.6180339887^2 1.6180339887^2 -1.6180339887^2]; pts(46,:)= [0 1.6180339887^3 -1.6180339887^2]; pts(47,:)= [-1.6180339887^2 1.6180339887^2 -1.6180339887^2]; pts(48,:)= [-1.6180339887^3 1.6180339887 -1.6180339887^2]; pts(49,:)= [-1.6180339887^3 -1.6180339887 -1.6180339887^2]; pts(50,:)= [-1.6180339887^2 -1.6180339887^2 -1.6180339887^2]; pts(51,:)= [0 -1.6180339887^3 -1.6180339887^2]; pts(52,:)= [1.6180339887^2 -1.6180339887^2 -1.6180339887^2]; pts(53,:)= [1.6180339887^3 -1.6180339887 -1.6180339887^2]; pts(54,:)= [1.6180339887^2 0 -1.6180339887^3]; pts(55,:)= [1.6180339887 1.6180339887^2 -1.6180339887^3]; pts(56,:)= [0 1.6180339887 -1.6180339887^3]; pts(57,:)= [-1.6180339887 1.6180339887^2 -1.6180339887^3]; pts(58,:)= [-1.6180339887^2 0 -1.6180339887^3]; pts(59,:)= [-1.6180339887 -1.6180339887^2 -1.6180339887^3]; pts(60,:)= [0 -1.6180339887 -1.6180339887^3]; pts(61,:)= [1.6180339887 -1.6180339887^2 -1.6180339887^3]; pts(62,:)= [0 0 -2*1.6180339887^2]; % Octahedron faces faces = zeros(8,3); faces(1,:) = [7, 10, 43]; faces(2,:) = [7, 22, 10]; faces(3,:) = [7, 43, 49]; faces(4,:) = [7, 49, 22]; faces(5,:) = [55, 10, 43]; faces(6,:) = [55, 22, 10]; faces(7,:) = [55, 43, 49]; faces(8,:) = [55, 49, 22]; % As triangles: X = zeros(3,8); Y = zeros(3,8); Z = zeros(3,8); C = [0.5000 1.0000 1.0000 0.5000 0.5000 1.0000 1.0000 0.5000; 1.0000 0.5000 0.5000 0.1667 1.0000 0.5000 0.5000 0.1667; 0.3330 0.3330 0.5000 0.5000 0.3330 0.3330 0.5000 0.5000]; % this part is still muddy for i = 1:8 pt = zeros(3,3); pt(1,:) = pts(faces(i,1),:); pt(2,:) = pts(faces(i,2),:); pt(3,:) = pts(faces(i,3),:); for j = 1:3 X(j,i) = pt(j,1); Y(j,i) = pt(j,2); Z(j,i) = pt(j,3); end end figure; fill3(X,Y,Z,C); % Dodecahedron faces faces = zeros(36,3); faces( 1,:) = [ 4, 8, 11]; faces( 2,:) = [11, 8, 18]; faces( 3,:) = [11, 18, 20]; faces( 4,:) = [ 4, 13, 23]; faces( 5,:) = [ 4, 23, 8]; faces( 6,:) = [ 8, 23, 16]; faces( 7,:) = [ 4, 11, 28]; faces( 8,:) = [ 4, 28, 30]; faces( 9,:) = [ 4, 30, 13]; faces(10,:) = [ 8, 16, 34]; faces(11,:) = [ 8, 34, 18]; faces(12,:) = [18, 34, 36]; faces(13,:) = [11, 20, 28]; faces(14,:) = [20, 45, 28]; faces(15,:) = [20, 38, 45]; faces(16,:) = [13, 30, 23]; faces(17,:) = [23, 30, 41]; faces(18,:) = [41, 30, 47]; faces(19,:) = [16, 23, 34]; faces(20,:) = [34, 23, 50]; faces(21,:) = [50, 23, 41]; faces(22,:) = [18, 36, 52]; faces(23,:) = [18, 52, 38]; faces(24,:) = [18, 38, 20]; faces(25,:) = [28, 45, 56]; faces(26,:) = [28, 56, 47]; faces(27,:) = [28, 47, 30]; faces(28,:) = [34, 50, 60]; faces(29,:) = [34, 60, 36]; faces(30,:) = [36, 60, 52]; faces(31,:) = [38, 52, 60]; faces(32,:) = [38, 60, 56]; faces(33,:) = [38, 56, 45]; faces(34,:) = [41, 47, 56]; faces(35,:) = [41, 56, 60]; faces(36,:) = [41, 60, 50]; % As triangles: X = zeros(3,36); Y = zeros(3,36); Z = zeros(3,36); % this part is still muddy for i = 1:36 pt = zeros(3,3); pt(1,:) = pts(faces(i,1),:); pt(2,:) = pts(faces(i,2),:); pt(3,:) = pts(faces(i,3),:); for j = 1:3 X(j,i) = pt(j,1); Y(j,i) = pt(j,2); Z(j,i) = pt(j,3); end end figure; fill3(X,Y,Z,'c');