All pastes #2079763 Raw Edit

Mine

public text v1 · immutable
#2079763 ·published 2011-09-04 01:20 UTC
rendered paste body
#!/usr/bin/python2.6 -tt
# Copyright 2011 Kyle Fitzsimmons, All Rights Reserved.

from TurtleWorld import *
from polygon import *
import math

def draw_pie(t, pieces, length):
    """Draw a polygonal pie given the number of slices and slice (side)length 
    with a (t)urtle"""
    center_angle = 360 / pieces
    side_angles = 180 - ((180 - center_angle) / 2)
    
    for piece in range(pieces):
        draw_piece(t, side_angles, length, center_angle)
        rt(t, 180)
    
def draw_piece(t, side_angles, length, center_angle):
    '''Function for determining the specifics of the triangle slices used to comprise the pie.
    The center_angle variable is simply passed through to base_length().'''
    base = base_length(length, center_angle)
    print center_angle, side_angles, base

    fd(t, length)
    lt(t, side_angles)
    fd(t, base)
    lt(t, side_angles)
    fd(t, length)

def base_length(length, center_angle):
    '''Function that determines the base length of the pie slice from the side length and
    center angle.'''
    base = round(math.sin(math.radians(center_angle / 2)) * length * 2)
    return int(base)

def main():
	# Initiate GUI
	world = TurtleWorld()
	bob = Turtle()
	bob.delay = .01
	
	# User input
	pieces = 8
	side_length = 100
	
	draw_pie(bob, pieces, side_length)
	
	wait_for_user()
	
# This is the standard boilerplate that calls the main() function
if __name__ == '__main__':
	main()