func poly(t *terrapin.Terrapin, size float64, sides int) { totalInterior := math.Pi * float64(sides-2) interior := totalInterior / float64(sides) exterior := math.Pi - interior // Get into position t.PenUp() t.Forward(size / 2) t.Right(math.Pi/2 + exterior/2) t.PenDown() // Draw it for i := 0; i < sides; i++ { t.Forward(size) t.Right(exterior) } // Get back to where we started t.PenUp() t.Left(math.Pi/2 + exterior/2) t.Backward(size / 2) t.PenDown() }