Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
614 views
ubuntu2004
Kernel: Python 3 (system-wide)
start()for i in range(4): draw_forward(1) rotate_left(90)
import matplotlib.pyplot as plt import numpy as np # Function definitions def start(): state[0] = 0 state[1] = 0 state[2] = 0 state[-1] = 0 fig = plt.figure(figsize=(4,4)) ax = fig.add_subplot(111) ax.set_aspect('equal', adjustable='box') def draw_forward(dis): x = state[0] y = state[1] angle = state[2] state[0] = x + np.cos(angle) * dis state[1] = y + np.sin(angle) * dis plt.plot([x, state[0]], [y, state[1]], color="black", linewidth=2) def move_forward(dis): x = state[0] y = state[1] angle = state[2] state[0] = x + np.cos(angle) * dis state[1] = y + np.sin(angle) * dis def draw_back(dis): x = state[0] y = state[-1] angle = state[2] state[0] = x + np.cos(angle) * dis state[1] = y + np.sin(angle) * dis plt.plot([x, state[0]], [y, state[1]], color="black", linewidth=2) def rotate_left(theta): state[2] = state[2] + theta * np.pi / 180 def rotate_right(theta): state[2] = state[2] - theta * np.pi / 180 def draw_shape(n, f): for i in range(n): draw_forward(f) rotate_left(360/n) def draw_square(): for i in range(4): draw_forward(1) rotate_left(90) state = [0, 0, 0]#
# Example: draw a unit square start() draw_forward(1) rotate_left(90) draw_forward(1) draw_forward(1) rotate_left(90) draw_forward(1) draw_forward(1) rotate_left(90) draw_forward(1) draw_forward(1) rotate_left(90) draw_forward(1)
Image in a Jupyter notebook

start() draw_forward(1) rotate_left(60) draw_forward(1) draw_forward(1) rotate_left(60) draw_forward(1) draw_forward(1) rotate_left(60) draw_forward(1) draw_forward(1) rotate_left(60) draw_forward(2) rotate_left(60) draw_forward(2) rotate_left(60) draw_forward(1)
Image in a Jupyter notebook
start() for i in range(8): draw_forward(1) rotate_left(45)
Image in a Jupyter notebook
start() for i in range(5): draw_forward(1) rotate_right(72)
Image in a Jupyter notebook
for i in range (5): print(i)
0 1 2 3 4
start() draw_shape()
number of sides:
Image in a Jupyter notebook
start() for i in range(5): draw_square() rotate_left(72)
Image in a Jupyter notebook
start() draw_shape(4) rotate_left(72) draw_shape(4) rotate_left(72) draw_shape(4) rotate_left(72) draw_shape(4) rotate_left(72) draw_shape(4) rotate_left(72)
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) /tmp/ipykernel_915/1699819010.py in <module> 1 start() ----> 2 draw_shape(4) 3 rotate_left(72) 4 draw_shape(4) 5 rotate_left(72) TypeError: draw_shape() missing 1 required positional argument: 'f'
Image in a Jupyter notebook
start() for i in range(10): draw_shape(100, .05) move_forward(2.5) rotate_left(36)
Image in a Jupyter notebook
start() draw_shape(100, .05) move_forward(2.5) rotate_left(36) draw_shape(100, .05) draw_shape(100, .05) move_forward(2.5) rotate_left(36) draw_shape(100, .05) draw_shape(100, .05) move_forward(2.5) rotate_left(36) draw_shape(100, .05) draw_shape(100, .05) move_forward(2.5) rotate_left(36) draw_shape(100, .05) draw_shape(100, .05) move_forward(2.5) rotate_left(36) draw_shape(100, .05) draw_shape(100, .05) move_forward(2.5) rotate_left(36) draw_shape(100, .05) draw_shape(100, .05) move_forward(2.5) rotate_left(36) draw_shape(100, .05) draw_shape(100, .05) move_forward(2.5) rotate_left(36) draw_shape(100, .05) draw_shape(100, .05) move_forward(2.5) rotate_left(36) draw_shape(100, .05) draw_shape(100, .05) move_forward(2.5) rotate_left(36) draw_shape(100, .05)
Image in a Jupyter notebook
start() for i in range (10): draw_shape(100, .05) move_forward(2.5) rotate_left(36) draw_shape(100, .05)
Image in a Jupyter notebook
start() draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) rotate_right(180) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) rotate_right(180) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) rotate_right(180) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) rotate_right(180) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) rotate_right(180) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60)
Image in a Jupyter notebook
start() for i in range (6): draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) draw_forward(1) rotate_right(120) draw_forward(1) rotate_left(60) draw_forward(1) rotate_left(60) rotate_right(180)
Image in a Jupyter notebook