Marbles

From MHCGraphics

Jump to: navigation, search
; Spring 2008 MHC Marbles!
; Marbles by the members of the class,
; pasted together by Jim Teresco
; February 2008
;
; $Id: Marbles.scm 525 2008-03-03 21:07:43Z terescoj $
;
(require (lib "Defs.ss" "Mead"))

(object scene Group)

;;Michelle Dean
;;Lab 4 Marble
;;2/25/08

(object MDglass Material
        (color '(0 .5 .1))
        (ambient 0.25)
        (diffuse 0.5)
        (transparency 0.5)
        (roughness 0.02)
        (specularity 1)
        (reflection .2)
        (refraction 1)
        )
(object MDreflective Material
        (color '(.8 .8 .1))
        (ambient .2)
        (diffuse .5)
        (transparency 0)
        (roughness .01)
        (specularity 1)
        (reflection 1)
        (refraction 0))

(object mdeanMarble Group
        (add sphere MDglass)
        (add cylinder MDreflective
             (scale .9 .03 .9))
        (add cylinder MDreflective
             (xform
              (scale .9 .03 .9)
              (zRot 40)))
        )

; Charli Lighty
; CS 110
; Studio Lab 4
; Marble
; 

;red glass
(object RedGlasscdl Material
        (color '(1 0 0))
        (ambient .75)
        (diffuse .75)
        (transparency .4)
        (roughness .1)
        (specularity .5)
        (reflection .5)
        (refraction .75)
        )
;blue glass
(object BlueGlasscdl Material
        (color '(0 0 1.0))
        (ambient .75)
        (diffuse .75)
        (transparency .4)
        (roughness .1)
        (specularity .5)
        (reflection .5)
        (refraction .75)
        )
;Purple glass
(object PurpleGlasscdl Material
        (color '(.5 .25 .5))
        (ambient .75)
        (diffuse .75)
        (transparency .4)
        (roughness .1)
        (specularity .75)
        (reflection .5)
        (refraction .75)
        )
;3/4 cut with 3 cubes
(object 3/4cubes Group
        (add cube 
             (compose
              (scale 1.001 1.001 1.001)
              (translate 50 0 50)))
        (add cube
             (compose
              (scale 1.001 1.001 1.001)
              (translate 50 0 50)))
        (add cube
             (compose
              (scale 1.001 1.001 1.001)
              (translate -50 0 50)))
        (add cube
             (compose
              (scale 1.001 1.001 1.001)
              (translate 50 0 -50))))
;marble sections
;1/4 section
(object sphereQtr Difference
        (add sphere) 
        (add 3/4cubes))
;final marble group, each section will be a different color
(object cdlMarble Group
        (add sphereQtr RedGlasscdl)
        (add sphereQtr BlueGlasscdl
             (yRot 180))
        (add sphereQtr PurpleGlasscdl
             (yRot 90))
        (add sphereQtr PurpleGlasscdl
             (yRot -90))
        (add sphere whitePlaster
             (scale .5 .5 .5))
        )
; Shara Evans
; Marble Lab
; CS 110 Feb 25 2008
(object SEPurpleMat Material
        (color '(.9 .1 .9))
        (transparency .1)
        (refraction .7)
        (ambient .5)
        (diffuse .5)
        (reflection .1)
        (roughness .5)
        (specularity .5)
        )
(object SEGreenMat Material
        (color '(.1 .9 .1))
        (transparency .3)
        (refraction 1)
        (reflection .5)
        (ambient .5)
        (diffuse .5)
        (roughness .5)
        (specularity .5)
        )

(object SEOrangeMat Material
        (color '(.7 .6 0))
        (transparency .3)
        (ambient .5)
        (diffuse .5)
        (refraction 1)
        (reflection .5)
        (roughness .5)
        (specularity .5)
        )
(object SEPinkMat Material
        (color '(1 .6 .9))
        (transparency .3)
        (ambient .5)
        (diffuse .5)
        (refraction 1)
        (reflection .5)
        (roughness .5)
        (specularity .5)
        )
(object SEBlueMat Material
        (color '(.2 .2 1))
        (transparency .3)
        (ambient .5)
        (diffuse .5)
        (refraction 1)
        (reflection .5)
        (roughness .5)
        (specularity .5)
        )
(object SERedMat Material        (color '(.8 .2 0))
        (transparency .3)
        (ambient .5)
        (diffuse .5)
        (roughness .5)
        (specularity .5)
        (refraction 1)
        (reflection .5)
        )
(object SEInnerMarble Group 
        ; createts a group of sphers, four on one level
        ;in a diamond shape and one above and one below, both
        ;centered. It looks sort of like an atom.
        (add sphere SEBlueMat ; rear
             (translate 0 0 50)
             )
        (add sphere SERedMat ; front
             (translate 0 0 -50)
             )
        (add sphere SEGreenMat ; left
             (translate 50 0 0)
             )
        (add sphere SEPinkMat ; right
             (translate -50 0 0)
             )
        (add sphere SEOrangeMat ; top
             (translate 0  55 0)
             )
        (add sphere SEPurpleMat ; bottom
             (translate 0 -55 0)
             )           )
(object SEMarbleMaterial Material
        (color '(1 0 .6))
        (refraction 8)
        (transparency .9)
        )
(object SEMarble Group
        (add SEInnerMarble
             (scale .4 .4 .4)
             )
        (add sphere SEMarbleMaterial)
        )

;Sara Todd
;Lab # 4 Marble

;Defining my material. See through, shiny, and orange-ish.
(object STmarbleGlass Material
        (color '(1 .1098 0))
        (transparency .5)
        (specularity .8)
        (diffuse .9)
        (reflection .18)
        )

;Made a slightly curved piece.
(object STmarbleCenter Difference
        (add sphere yellowPlastic
             (scale .7 .2 .2))
        (add sphere
             (scale .65 .3 .3)
             (translate 0 8 0)))

;Rotated the slightly curved piece around sixty jillion times until I thought it
; looked right. It ended up looking rather daisy-ish so I threw a black sphere in
;to the center to complete the look.
(object STMarble Group
        (add STmarbleCenter)
        (add STmarbleCenter
             (zRot 45))
        (add STmarbleCenter
             (zRot 90))
        (add STmarbleCenter
             (zRot 135))
        (add STmarbleCenter
             (zRot 15))
        (add STmarbleCenter
             (zRot 30))
        (add STmarbleCenter
             (zRot 60))
        (add STmarbleCenter
             (zRot 75))
        (add STmarbleCenter
             (zRot 105))
        (add STmarbleCenter
             (zRot 120))
        (add STmarbleCenter
             (zRot 150))
        (add STmarbleCenter
             (zRot 165))
        (add STmarbleCenter
             (zRot 180))
        (add STmarbleCenter
             (zRot 195))
        (add STmarbleCenter
             (zRot 210))
        (add STmarbleCenter
             (zRot 235))
        (add STmarbleCenter 
             (zRot 250))
        (add STmarbleCenter
             (zRot 265))
        (add STmarbleCenter
             (zRot 280))
        (add sphere blackPlastic
             (scale .3 .3 .3))
        (add sphere STmarbleGlass))

;Sarah Obuobi
;cs 110 Lab 3
;creating a marble

;creating a marble with several (light) properties.
(object SARAHMarble Material 
        (color red)
        (transparency .6)
        (roughness .3)
        (specularity .9))

;adding the strips in the center
(object SARAHhalfSphere Difference
        (add sphere)
        (add cube
             (translate 0 -50 0))
        (add sphere
             (scale 1.3 1.5 1.5)
             (translate 0 -30 0)))
(object SARAHMarbleSphere Group
        (add sphere SARAHMarble 
             (scale 2 2 2)
             (translate 16.5 13 0))
        
        (add SARAHhalfSphere yellowPlaster
             (scale 1.3 .5 .1))
        (add SARAHhalfSphere bluePlaster
             (scale 1.3 .5 .1)
             (translate 40 -36 -5)
             (xRot -180))
        (scale .5 .5 .5))

; Jacqueline Lawrence
(object jacqueline Material
        (color '(1 0 0))
        (specularity .4)
        (roughness 100)
        (transparency .4)
        (reflection .2)
        (refraction .9)
        )

(object JLawrencemarble Group
        (add sphere jacqueline)
        )

;Marissa Johnson
;cs110
;Lab 4: Marble
(object majAmarble Material
        (color '(.4 .6 .4))
        (ambient .6)
        (diffuse .7)
        (roughness .2)
        (specularity .7)
        (reflection .3)
        (transparency .1)
        (refraction 1))
(object MAJmarble Group
        (add sphere majAmarble))

;Carol Stafford
;February 26, 2008
;ComSci 110
;Lab 4

;Carol's Marble

;define the color of the marble
(define dkSlateBlue '(.2823543 .2392159 .545098))
  
;create a new material for the outside of the marble
(object outsideMarble Material
        (color dkSlateBlue)
        (ambient 0)
        (diffuse .6)
        (roughness 0.05)
        (specularity .8)
        (reflection .2)
        (transparency 0.4)
        (refraction 1.5)
        )

;create a star to put inside the marble

(object starArm Cone
        (scale .5 1 .5)
        )

(define orange '(1 .5 0))

(object brightOrangePlaster Material
        (type 'plaster)
        (color orange)
        (ambient .5)
        )

(object star Group
        (material brightOrangePlaster)
        (add sphere)
        (add starArm 
             (translate 0 90 0)
             )
        (add starArm
             (xform
              (zRot -90)
              (translate 90 0 0)
              )
             )
        (add starArm
             (xform
              (zRot 90)
              (translate -90 0 0)
              )
             )
        (add starArm
             (xform
              (zRot 180)
              (translate 0 -90 0)
              )
             )
        (add starArm
             (xform
              (xRot -90)
              (translate 0 0 -90)
              )
             )
        (add starArm
             (xform
              (xRot 90)
              (translate 0 0 90)
              )
        )
        )

;Create the marble with the outside and a bunch of stars inside

(object cStaffordMarble Group
      (add sphere outsideMarble)
      (add star 
           (xform
            (scale .07 .07 .07)
            (translate 25 0 0)
           )
           )
      (add star
           (xform
            (scale .07 .07 .07)
            (xRot 30)
            (translate -25 0 0)
           )
           )
      (add star
           (xform
            (scale .07 .07 .07)
            (zRot 30)
            (translate 0 20 0)
           )
           )
      (add star
           (xform
            (scale .07 .07 .07)
            (zRot -30)
            (translate 0 -20 0)
           )
           )
      (add star
           (xform
            (scale .07 .07 .07)
            (yRot -80)
            (translate -7 0 -20)
           )
           )
      (add star
           (xform
            (scale .07 .07 .07)
            (yRot 80)
            (translate 7 0 20)
           )
           )
   )

;Marble Lab Project
;CS 110
;Chelsea McCracken

(object mccrackenoutside Material
        (color '(.4 0 0))
        (ambient .11)
        (diffuse .5)
        (roughness 0)
        (specularity .1)
        (reflection .4)
        (transparency .5)
        (refraction 1.4)
        )

(object mccrackeninside Material
        (color '(.2 0 0))
        (ambient .1)
        (diffuse .7)
        (roughness .1)
        (specularity .6)
        (reflection .8)
        (transparency .1)
        (refraction 1)
        )

(object mccrackenshell Sphere
        (material mccrackenoutside)
        )

(object mccrackencore Sphere
        (material mccrackeninside)
        (scale .2 .7 .3)
        )

(object mccrackenmarble Group
        (add mccrackenshell)
        (add mccrackencore)
        (add mccrackencore
             (zRot 90))
        (add mccrackencore
             (zRot 45)
             )
        (add mccrackencore
             (zRot -45)
             )
        (add mccrackencore
             (xRot 90)
             )
        )
; Phoebe
(object pmMaterial Material
        (color '(.8 .6 1))
        (transparency .2)
        (roughness .4)
        (reflection .3))

(object middleMaterial Material
        (color '(1 .2 1))
        (ambient .6)
        (transparency .2)
        (refraction .5))

(object sideMaterial Material
        (color '(.8 .2 0)))

(object phoebeMarble Group
        (add sphere pmMaterial)
        (add sphere middleMaterial
             (xform
              (scale .2 .5 .5)
              (translate 0 20 0)))
        (add sphere middleMaterial
             (xform
              (scale .2 .5 .5)
              (translate 0 -20 0)))
        (add sphere sideMaterial
             (xform
              (scale .2 .5 .5)
              (translate -20 0 0)))
        (add sphere sideMaterial
             (xform
              (scale .2 .5 .5)
              (translate 20 0 0))))
;Ginger's Lab 3 Assignment
(object btyellowPlastic Material
        (type 'plastic)
        (color yellow)
        (ambient .6))
(define aqua
  '(.5 1 1))
(object aquaPlastic Material
        (type 'plastic)
        (color aqua)
        (ambient .7))
(define ltblue
  '(0 0 .5))
(object ltbluePlastic Material
        (type 'plastic)
        (color ltblue)
        (ambient .3))
(define mint
  '(0 1 .5))
(object mintPlastic Material
        (type 'plastic)
        (color mint)
        (ambient .3))
(define pink
  '(1 .5 .5))
(object pinkPlastic Material
        (type 'plastic)
        (color pink)
        (ambient .3))
(define purple
  '(.5 0 .5))
(object purplePlastic Material
        (type 'plastic)
        (color purple))
(define orange
  '(1 .5 0))
(object orangePlastic Material
        (type 'plastic)
        (color orange))
(define ltyellow
  '(1 1 .5))
(object ltyellowPlastic Material
        (type 'plastic)
        (color ltyellow))
(object marbleMaterial Material
        (color purple)
        (transparency .6)
        (roughness 0)
        (specularity 0.4)
        (reflection .1))
(object GingerMarble Group
        (add sphere marbleMaterial)
        (add sphere blackPlastic
             (xform
              (scale .1 .1 .1)
              (translate 10 0 0)))
        (add sphere whitePlastic
             (xform
              (scale .1 .1 .1)
              (translate -10 0 0)))
        (add sphere redPlastic
             (xform
              (scale .1 .1 .1)
              (translate 0 0 0)))
        (add sphere bluePlastic
             (xform
              (scale .1 .1 .1)
              (translate 0 10 0)))
        (add sphere cyanPlastic
             (xform
              (scale .1 .1 .1)
              (translate 0 -10 0)))
        (add sphere greenPlastic
             (xform
              (scale .1 .1 .1)
              (translate 10 10 0)))
        (add sphere magentaPlastic
             (xform
              (scale .1 .1 .1)
              (translate 10 -10 0)))
        (add sphere yellowPlastic
             (xform
              (scale .1 .1 .1)
              (translate -10 10 0)))
        (add sphere grayPlastic
             (xform
              (scale .1 .1 .1)
              (translate -10 -10 0)))
        (add sphere ltyellowPlastic
             (xform
              (scale .1 .1 .1)
              (translate -5 20 0)))
        (add sphere ltGrayPlastic
             (xform
              (scale .1 .1 .1)
              (translate -5 -20 0)))
        (add sphere purplePlastic
             (xform
              (scale .1 .1 .1)
              (translate 5 -20 0)))
        (add sphere orangePlastic
             (xform
              (scale .1 .1 .1)
              (translate 5 20 0)))
        (add sphere pinkPlastic
             (xform
              (scale .1 .1 .1)
              (translate 20 5 0)))
        (add sphere mintPlastic
             (xform
              (scale .1 .1 .1)
              (translate -20 5 0)))
        (add sphere ltbluePlastic
             (xform
              (scale .1 .1 .1)
              (translate 20 -5 0)))
        (add sphere aquaPlastic
             (xform
              (scale .1 .1 .1)
              (translate -20 -5 0)))
        (add sphere btyellowPlastic
             (xform
              (scale .1 .1 .1)
              (translate 30 0 0)))
        (add sphere btyellowPlastic
             (xform
              (scale .1 .1 .1)
              (translate -30 0 0)))
        (add sphere btyellowPlastic
             (xform
              (scale .1 .1 .1)
              (translate 0 30 0)))
        (add sphere btyellowPlastic
             (xform
              (scale .1 .1 .1)
              (translate 0 -30 0))))

; Meredith Bartelstein

;First I'll make a new material, a very transparant glass
(object mkbglass Material
       (color '(1 1 1))
       (ambient .1)
       (diffuse 0.5)
       (transparency .85)
       (roughness 0)
       (specularity .2)
       (reflection .25)
       (refraction 1.52) ;typical crown glass has an index of refraction of 1.52!
)

(object mkbmarbleCover Sphere
       (material mkbglass))

;Now a second new material, a purple silk
(object mkbsilk Material
       (color '(.8 0 .9))
       (ambient .6)
       (diffuse .2)
       (transparency 0)
       (roughness .1)
       (specularity .05)
       (reflection .05)
       (refraction 1))

(object mkbmarbleInside Sphere
       (material mkbsilk)
       (scale .3 .3 .3))

;And a third material- magenta transparent
(object mkbmagentaMaterial Material
       (color '(1 .5 1))
       (ambient .1)
       (diffuse 0)
       (transparency .9)
       (roughness 0)
       (specularity .2)
       (reflection .25)
       (refraction 1.52))
       (object mkbmarbleMiddle Difference
       (add sphere mkbmagentaMaterial
            (scale .6 .6 .6))
       (add sphere mkbmagentaMaterial
            (scale .55 .55 .55)))

;Now another shape to add onto the marble
(object mkbmarblePoint Cone
       (material mkbsilk)
       (scale .2 .2 .2)
       (translate 0 15 0)
       )
;Put it all together in a group
(object mkbmarble Group
       (add mkbmarbleCover)
       (add mkbmarbleInside)
       (add mkbmarbleMiddle)
;add LOTS of these shapes in all different directions
       (add mkbmarblePoint)
       (add mkbmarblePoint
            (zRot 180))
       (add mkbmarblePoint
            (zRot 45))
       (add mkbmarblePoint
            (zRot -45))
       (add mkbmarblePoint
            (zRot 135))
       (add mkbmarblePoint
            (zRot -135))
       (add mkbmarblePoint
            (zRot 90))
       (add mkbmarblePoint
            (zRot -90))
       (add mkbmarblePoint
            (xRot 90))
       (add mkbmarblePoint
            (xRot -90))
       (add mkbmarblePoint
            (xRot 45))
       (add mkbmarblePoint
            (xRot -45))
       (add mkbmarblePoint
            (xRot 135))
       (add mkbmarblePoint
            (xRot -135)))

(object JDTpacMan Difference
        (add sphere yellowPlaster)
        (add cube
             (compose
              (zRot 45)
              ; we don't want his mouth too far open, so scale
              ; down in the y dimension
              (scale 1 .7 1)
              ; the width of the cube along the x-axis is now
              ; 100*sqrt(2), so we translate by half of that
              (translate (* 50 (sqrt 2)) 0 0)
              )
             )
        )

(object JDTGlass Material
        (type 'glass)
        (color '(1 .75 .75))
        )

(object JDTMarble Group
        (add JDTpacMan (scale .5 .5 .5))
        (add sphere JDTGlass)
        )

;Ginny Taylor Lab 4: Marble
;main large sphere
(object ginnyMarbleMat Material
        (color ' (.4 .8 0))
        (ambient 0.2)
        (diffuse 0.6)
        (transparency .6)
        (roughness .5)
        (specularity .8)
        (reflection .1)
        (refraction 1))

;add little marble for inside        
(object ginnyCube Material
       (color  '(1 .1 .1))
        (ambient 0.2)
        (diffuse 0.6)
        (transparency .6)
        (roughness .01)
        (specularity .2)
        (reflection 0)
        (refraction .2))

        
(object ginnyMarble Group
       (add sphere ginnyMarbleMat)
       (add cube ginnyCube
            (zRot 45)
            (scale .55 .55 .55)))  

; Yiwan Zhou
(define ouch '(0 1 .4))
(define eyehurts '(1 .4 .2))
(define drkdrk '(.2 0 .2))
(define puky '(.4 .4 .2))

(object eyehurtsMat Material
        (color eyehurts)
        (ambient .7)
        (diffuse .2)
        (roughness .4)
        (specularity .6)
        (reflection .1)
        (transparency .5)
        (refraction 1.5))
(object ouchMat Material
        (color ouch)
        (ambient .4)
        (roughness 1)
        (specularity .6)
        (reflection .1)
        (transparency .8)
        (refraction 1.35))
(object drkdrkMat Material
        (color drkdrk)
        (diffuse .3)
        (roughness 0)
        (specularity .02)
        (reflection .9)
        (transparency .3)
        (refraction 4.01))
(object YiwanMarble Group
      (add sphere eyehurtsMat)
      (add sphere bluePlastic
           (scale .3 .3 .3)
           (translate 10 10 10))
      (add sphere ouchMat
           (scale .3 .3 .3)
           (translate -10 10 10))
      (add sphere redPlaster
           (scale .3 .3 .3)
           (translate -10 -10 10))
      (add sphere drkdrkMat
           (scale .3 .3 .3)
           (translate 10 -10 10))
      (add sphere bluePlastic
           (scale .3 .3 .3)
           (translate 10 -10 -10))
      (add sphere ouchMat
           (scale .3 .3 .3)
           (translate -10 -10 -10))
      (add sphere redPlaster
           (scale .3 .3 .3)
           (translate -10 10 -10))
      (add sphere drkdrkMat
           (scale .3 .3 .3)
           (translate 10 10 -10))
      )

;Sophia Picco
;Jim Teresco
;CS 110
;Lab 4: THE MARBLE!!!

(object outermaterial Material
       (color '(1 .54 0))
       (ambient .5)
       (transparency .5)
       (specularity .2)
       )
(object blendmaterial Material
       (color '(1 .7 0))
       ;(ambient .3)
       (transparency .85)
       (specularity .1)
       )
(object corematerial Material
       (color '(1 .49 0))
       (transparency .65)
       )
(object blobs Group
       (add sphere whitePlastic
            (compose
             (scale .1 .1 .1)
             (translate 15 10 5)
             ))
       (add sphere whitePlastic
            (compose
             (scale .1 .1 .1)
             (translate -15 15 -5)
             ))
       (add sphere whitePlastic
            (compose
             (scale .1 .1 .1)
             (translate -5 -15 0)
             ))
       (add sphere bluePlastic
            (compose
             (scale .1 .1 .1)
             (translate 15 -15 5)
             ))
       (add sphere bluePlastic
            (compose
            (scale .1 .1 .1)
            (translate -5 20 -10)
            ))
       )
(object wheel Group
       (add sphere blackPlastic
          (compose
           (scale .1 .7 .1)
           (yRot 100)
           )
          )
     (add sphere blackPlastic
          (compose
           (scale .1 .7 .1)
           (xRot 45)
           )
          )
     (add sphere blackPlastic
          (compose
           (scale .1 .7 .1)
           (xRot 90)
           (yRot 90)
           )
          ))
;I compiled the whole marble into a simple group.

(object sophiasmarble Group
       (add sphere outermaterial)
     (add sphere blendmaterial
          (scale .83 .83 .83)
          )
     (add sphere corematerial
          (compose
           (scale .3 .3 .3)
           )
          )
     (add wheel)
     (add blobs)
     )

;Katelyn Popp
;CS110 Lab4:Modeling with Realistic Materials
;A Marble 2/25/08

;All Materials:
(object kpoutsideMaterial Material
        (color '(.3 .8 .7))
        (ambient .7)
        (transparency .9)
        (roughness .4)
        (specularity 1)
        (reflection .5)
        (refraction 1)
        (diffuse .2)
        )

(object kpYellow Material
        (color '(.6 .6 0))
        (transparency .5)
        (roughness .5)
        (specularity 1)
        (reflection .1)
        (refraction 1)
        (ambient .7)
        (diffuse .6)
        )

(object kpViolet Material
        (color '(.7 .2 .6))
        (transparency .3)
        (roughness .8)
        (specularity 1)
        (reflection .2)
        (refraction 1)
        (ambient .5)
        (diffuse .4)
        )

(object kpgreenCenter Material
        (color '(.1 .7 .3))
        (ambient .5)
        (diffuse 1)
        (transparency .1)
        (roughness 0)
        (specularity .7)
        (reflection .2)
        (refraction 1)
        )

(object kpBlack Material
        (color '(0 0 0))
        (ambient .5)
        (diffuse 2)
        (transparency 0)
        (roughness 1)
        (specularity 1)
        (reflection 0)
        (refraction 1)
        )

;Objects:

(object kpPlane Intersection
      (add cube
           (scale .9 .05 .9))
      (add sphere
           (scale .9 .05 .9)
           )
      )

(object kpcore Difference
        (add sphere kpViolet
             (scale .7 .7 .2)
             )
        (add sphere
             (scale .5 .7 .4)
             )
        )

(object kpblueCenter Difference
      (add sphere bluePlastic
           (scale .5 .5 .2)
           )
      (add cylinder
           (xform
            (xRot 90)
            (scale .4 .45 .3)
            )
           )
      )

;Marble put-together
(object kateMarble Group
      (add sphere kpoutsideMaterial)
      (add kpPlane kpYellow
           (xRot 10)
           )
      (add kpcore
           (yRot 30)
           )
      (add cone kpgreenCenter
           (xform
            (scale .25 .5 .25)
            (translate 0 20 0)
            )
            )
      (add cone kpgreenCenter
           (xform
            (scale .25 .5 .25)
            (zRot 180)
            (translate 0 -20 0)
            )
           )
      (add kpblueCenter
           (yRot -30)
           )
     (add sphere kpBlack
           (scale .3 .2 .5)
           )
      )
;Panda's Marble. 2/25/08.
;Materials

(object PandaMaterial Material
        (color '(1 .8 5))
        (transparency .6)
        (specularity .2)
        (roughness .01)
        (reflection .2)
        )

(object PandaInnardsMaterial Material
        (color '(4 .5 5))
        (transparency .6)
        (specularity .2)
        (roughness .01)
        (reflection .2)
        )

(object PandaSnitchMat Material
        (color '(1.5 1.45 .005))
        (specularity .2)
        (roughness .3)
        (reflection .4)
        )

(object PandaWingMat Material
        (color '(2 2 2.1))
        (specularity .2)
        (roughness .5)
        (reflection .1)
        )

;For Innards.
(define pentagon
  (2to3d (polygon 5))
  )
(define marbleInnards
  (extrude pentagon
           (xRot 90))
  )

;Bringing Snitch in.
(define wing
  '((0 120 0) (50 117 0) (100 86 0) (124 49 0) (126 7 0) (183 39 0) (219 76
0)
(267 51 0) (278 -18 0) (314 53 0) (328 101 0) (447 -14 0) (482 -132 0) (460
110
0) (356 251 0) (257 331 0) (160 242 0) (0 200 0))
)

(object snitchWING Mesh
        (addPoly wing)
        )

(object snitchFull Group
        (add sphere PandaSnitchMat
             (xform
              (scale 1.5 1.5 1.5)
              (translate 0 50 0)
           )
             )
        (add snitchWING PandaWingMat
           (xform
            (yRot -35)
            (translate 50 -100 50)
            (xRot -65)
            )
           )
        (add snitchWING PandaWingMat
           (xform
            (yRot 215)
            (translate -50 -100 50)
            (xRot -65)
            ))
           )
(object pandaMarble Group
      (add sphere PandaMaterial)
      (add snitchFull
           (xform
            (scale .1 .1 .1)
            (translate 0 -10 -20)))
      (add marbleInnards PandaInnardsMaterial)
)

;request a black background 
(tell image (background black))

; a floor on which our marbles sit
(object floor Plane
        (material whitePlaster)
        (translate 0 -50 0)
        )

(tell scene
      (add floor)
      (add mdeanMarble)
      (add cdlMarble (translate 150 0 0))
      (add SEMarble (translate -150 0 0))
      (add STMarble (translate 0 0 -150))
      (add SARAHMarbleSphere (translate 0 0 150))
      (add JLawrencemarble (translate 150 0 150))
      (add MAJmarble (translate -150 0 150))
      (add cStaffordMarble (translate -150 0 -150))
      (add mccrackenmarble (translate 150 0 -150))
      (add phoebeMarble (translate 300 0 0))
      (add GingerMarble (translate 300 0 150))
      (add mkbmarble (translate 300 0 -150))
      (add JDTMarble (translate 150 0 300))
      (add ginnyMarble (translate 150 0 -300))
      (add YiwanMarble (translate 0 0 300))
      (add sophiasmarble (translate 0 0 -300))
      (add kateMarble (translate -150 0 -300))
      (add pandaMarble (translate -150 0 300))
      )

; more light
(object ourbulb Light
        (color white)
        (intensity .25)
        )
(tell scene
      (add ourbulb (translate -300 500 300))
      (add ourbulb (translate -300 500 -300))
      (add ourbulb (translate 300 500 300))
      (add ourbulb (translate 300 500 -300))
      )

(tell image
      (background black)
      (dimensions 1280 1024)
      (quality 10)
      )

; take a picture from up and to the right
(tell camera
      (pos '(100 100 -800))
      (coi '(50 0 0))
      (shoot))

; take a picture from above
(tell camera
      (pos '(0 750 0))
      (shoot))

; take a picture from back and to the left
(tell camera
      (pos '(-100 200 700))
      (coi '(50 0 0))
      (shoot))

; take a picture from back and to the right
(tell camera
      (pos '(200 200 700))
      (coi '(50 0 0))
      (shoot))

; from the sides
(tell camera
      (pos '(0 700 700))
      (coi '(50 0 0))
      (shoot))

(tell camera
      (pos '(0 700 -700))
      (coi '(50 0 0))
      (shoot))


(tell camera
      (pos '(700 0 700))
      (coi '(50 0 0))
      (shoot))

(tell camera
      (pos '(-700 0 700))
      (coi '(50 0 0))
      (shoot))
Personal tools