Dodecahedron Stellation
Facet Diagram
DodecahedronStellationFacetMap.pdf
MATLAB code
The images shown in the right column are renderd in SunFlow.The MATLAB code given below will generate a different image ,without highlighting the edge.
function dodecahedronStellation
phi=(1+sqrt(5))/2;
vert=[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/phi phi
0 1/phi -phi
0 -1/phi phi
0 -1/phi -phi
1/phi phi 0
1/phi -phi 0
-1/phi phi 0
-1/phi -phi 0
phi 0 1/phi
phi 0 -1/phi
-phi 0 1/phi
-phi 0 -1/phi];
faces=[1 13 2 18 17;
1 9 5 15 13;
13 15 6 10 2;
2 10 12 4 18;
18 17 3 14 4;
1 9 11 3 17;
5 9 11 7 19;
15 5 19 20 6;
6 20 8 12 10;
20 19 7 16 8;
8 12 4 14 16;
11 7 16 14 3];
%great dodecahedron
facetIndex=[5 3 4
8 4 12
11 12 13
10 13 7
6 7 3]';
%small stellated dodecahedron
% facetIndex=[5 4 8;
% 8 12 11
% 11 13 10
% 10 7 6
% 6 3 5]';
%great stellated dodecahedron
% facetIndex=[4 9 12
% 12 15 13
% 13 14 7
% 7 2 3
% 3 1 4]';
r=[7.2068;7.2068;2.7528;2.7528;1.0515;1.0515;2.7528;1.0515;
7.2068;1.0515;1.0515;2.7528;2.7528;7.2068;7.2068];
theta=[2.8274;-2.1991;-2.8274;2.1991;2.8274;-2.1991;-1.5708;1.5708;
1.5708;-0.94248;0.31416;0.94248;-0.31416;-0.94248;0.31416];
for n=1:length(faces)
v=vert(faces(n,:),:);
center=mean(v);%center of each face
R=v(1,:)-center;
R=R/sqrt(sum(R.^2));
S=cross(R,center);
S=S/sqrt(sum(S.^2));
faceTheta=theta(facetIndex(:))-deg2rad(18);
faceR=r(facetIndex(:));
qx=center(1)+faceR.*cos(faceTheta).*R(1)+faceR.*sin(faceTheta).*S(1);
qy=center(2)+faceR.*cos(faceTheta).*R(2)+faceR.*sin(faceTheta).*S(2);
qz=center(3)+faceR.*cos(faceTheta).*R(3)+faceR.*sin(faceTheta).*S(3);
patch('vertices',[qx qy qz],...
'faces',[1 2 3;4 5 6;7 8 9;10 11 12;13 14 15],...
'facecolor','c');
end
%patch('vertices',vert,'faces',faces,'facecolor','none');
view(3)
set(gcf,'renderer','zbuffer');
axis equal
|


|
|
|