Skip to content

Instantly share code, notes, and snippets.

@ajstarks
Created July 11, 2014 02:56
Show Gist options
  • Save ajstarks/bf87978b1fa6729c1a56 to your computer and use it in GitHub Desktop.
Save ajstarks/bf87978b1fa6729c1a56 to your computer and use it in GitHub Desktop.
func cube(d *generate.Deck, x, y, w, h float64, color string) {
xc := make([]float64, 4)
yc := make([]float64, 4)
w2 := w/2
h5 := h * .2
yh := y+h
xc[0], xc[1], xc[2], xc[3] = x-w2, x, x+w2, x
yc[0], yc[1], yc[2], yc[3] = yh-h5, yh, y-h5, yh-(y5*2)
d.Polygon(xc, yc, color, 20)
xc[0], xc[1], xc[2], xc[3] = x-w2, x-w2, x, x
yc[0], yc[1], yc[2], yc[4] = y+h5, yh-h5, yh-(y5*2), y
d.Polygon(xc, yc, color, 50)
xc[0], xc[1], xc[2], xc[3] = x, x, x+w2, x+w2
yc[0], yc[1], yc[2], yc[3] = y, yh-(y5*2), y-h5, y+h5
d.Polygon(xc, yc, color, 70)
}
deck := generate.NewDeck(os.Stdout, 0,0)
deck.StartDeck()
deck.StartSlide()
cube(deck, 50, 50, 20, 25, "gray")
deck.EndSlide()
deck.EndDeck()
/*
<deck>
<slide>
<polygon xc="40 50 60 50" yc="70 75 70 65" color="gray" opacity="20"/>
<polygon xc="40 40 50 50" yc="55 70 65 50" color="gray" opacity="50"/>
<polygon xc="50 50 60 60" yc="50 65 70 55" color="gray" opacity="70"/>
</slide>
<slide>
<polygon xc="40 50 60 50" yc="70 75 70 65" color="red" opacity="20"/>
<polygon xc="40 40 50 50" yc="55 70 65 50" color="red" opacity="50"/>
<polygon xc="50 50 60 60" yc="50 65 70 55" color="red" opacity="70"/>
</slide>
</deck>
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment