|
|
// Hi Bob,
//
// PacMan-smileys? Good idea -- I've made some ...
//
// BTW: smileys = 1,110,000 google hits
// smilies = 2,780,000 google hits
// So I'm with a strong minority which is perfectly O.K.
// because my weird smileys also are a minority!
//
// Sputnik
//
// P.S. I don't know why I used two unions in the smiley of
// my last post; that is nonsense.
// PacMan-Smileys
// +SP8 +EP8 +A0.1 +AM2 +R3 +W1024 +H768 -FN +D
#macro PacSmiley (Upper, Lower, Pos)
// Upper is angle of upper lip below nose
// Lower is angle of lower lip below nose
// Pos is the position of the smiley's center
union {
difference {
// head of smiley
sphere { 0, 0.5
pigment { rgbt <1, .9, .3, 0> }
finish { ambient .6 diffuse .6 }
}
// mouth
intersection {
plane { y, 0 rotate -Upper*x }
plane {-y, 0 rotate -Lower*x }
}
}//difference
// eyes
sphere { 0, 0.1 // get an eye ball
scale <1, 1, 0.4> // make it flat
translate -0.5*z // put onto surface of head at nose position
rotate <30, 50, 0> // rise and turn to it's final position
}
sphere { 0, 0.1
scale <1, 1, 0.2>
translate -0.5*z
rotate <30, -50, 0>
}
texture {
pigment { color rgb 0 }
finish { specular .6 }
}
rotate -50*y
translate Pos
}//union
#end//macro Smiley
#declare Row = 0; // Row = 0, 1, 2
#while (Row<3)
#declare Mid = 5+15*Row;
#declare Y = 1.3*(Row-1);
#declare Column = 0; // Column = 0, 1, 2, 3
#while (Column<4)
#declare Open = 5+25*Column;
#declare X = 1.3*(Column-1.5);
#declare Upp = Mid-Open/2;
#declare Low = Mid+Open/2;
PacSmiley (Upp, Low, <X, Y, 0>)
text { ttf "timrom.ttf"
concat(
"PacSmiley(", str(Upp,2,0), ", ", str(Low,2,0),
", <", str(X,3,1), ",", str(Y,3,1), ",0>)"
)
0.1, 0
scale <0.08, 0.09, 0.1>
translate <X-0.55, Y-0.6, 0>
}
#declare Column = Column+1;
#end//while Column
#declare Row = Row+1;
#end//while Row
background { color <58, 110, 165>/255 }
light_source { <10, 3, -8>, 1 }
camera { location -10*z look_at 0 angle 30 }
Post a reply to this message
|
|