#VRML V2.0 utf8 # Nancy Kiang # CS184 # Lab 1 # 9/4/98 # # Draws initials NYK with frame around them, then # replicates the drawing in sets of 3 around the frame, # rotated clockwise. (I put 3 on the sides rather than one...I hope # you don't mind.) # The original initials are defined large (for convenience from # a drawing on graph paper) and scaled down to fit the screen. # The replicates are scaled down again by 0.2. Transform { scale 0.2 0.2 0.2 children [ DEF Initials Group { children [ DEF Nancy Shape { appearance Appearance { material Material {diffuseColor 0.1 .5 0.1} } geometry IndexedFaceSet { coord Coordinate {point [ -15.0 -5.0 0.0 -13.0 -5.0 0.0 -13.0 1.0 0.0 -8.5 -5.0 0.0 -7.0 -5.0 0.0 -7.0 4.0 0.0 -6.0 5.0 0.0 -8.0 5.0 0.0 -8.0 -2.0 0.0 -13.0 5.0 0.0 -15.0 5.0 0.0 -14.0 4.0 0.0 -14.0 -4.0 0.0 ] } coordIndex [0 1 2 3 4 5 6 7 8 9 10 11 12 0] # 0 = end of the other polyline convex FALSE } }, #Nancy DEF Yaolan Shape { appearance Appearance { material Material {emissiveColor 1.0 0.5 0.5 diffuseColor 0.5 0.0 0.0 } } geometry IndexedFaceSet { coord Coordinate { point [ -1.5 -5.0 0.0 0.5 -5.0 0.0 0.5 -1.0 0.0 4.0 5.0 0.0 2.0 5.0 0.0 2.5 4.0 0.0 0.0 0.0 0.0 -2.5 4.2 0.0 -2.0 5.0 0.0 -5.0 5.0 0.0 -1.5 -1.0 0.0 ] } coordIndex [0 1 2 3 4 5 6 7 8 9 10 0] convex FALSE } }, #Yaolan DEF Kiang Shape { appearance Appearance { material Material { diffuseColor 0.3 0.4 0.6 } } geometry IndexedFaceSet { coord Coordinate { point [ 5.0 -5.0 0.0 8.0 -5.0 0.0 7.0 -4.0 0.0 7.0 -1.0 0.0 8.0 0.0 0.0 12.0 -5.0 0.0 14.0 -5.0 0.0 12.5 -4.0 0.0 8.5 1.0 0.0 12.0 4.0 0.0 14.0 5.0 0.0 12.0 5.0 0.0 7.0 1.0 0.0 7.0 4.0 0.0 8.0 5.0 0.0 5.0 5.0 0.0 ] } coordIndex [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0] convex FALSE } }, #Kiang DEF Frame Shape { appearance Appearance { material Material { diffuseColor 0.5 0.1 0.0 } } geometry IndexedFaceSet { coord Coordinate { point [ -20.0 10 0.0 -20.0 -10.0 0.0 20.0 -10.0 0.0 20.0 10.0 0.0 18.0 8.0 0.0 18.0 -8.0 0.0 -18.0 -8.0 0.0 -18.0 8.0 0.0 ] } coordIndex [0 1 2 3 4 5 6 7 4 3 0] convex FALSE } } #Frame ] #children of Group }#DEF Initials Group ]#children Transform }#Transform #Top row. DEF Top Group { children [ DEF Mid Transform { scale 0.04 0.04 0.04 translation 0.0 3.0 0.0 children [ USE Initials ] }, Transform {#Left translation -2.6 0.0 0.0 children [ USE Mid ] }, Transform {#Right translation 2.6 0.0 0.0 children [ USE Mid ] } ] } #Bottom row. Transform { rotation 0 0 1 3.14 children [ USE Top ] } #Left side. Transform { rotation 0 0 1 1.57 translation -2.0 0.0 0.0 children [USE Top] } #Right side. Transform { rotation 0 0 1 -1.57 translation 2.0 0.0 0.0 children [USE Top] }