Monday, April 10, 2017

Another Turtle in Circle

There's always another way to solve something.

So, I have another code for "Turtle in Circle" code, :)

In the script below, I use turtle position to determine if it's still inside circle or not. If it outside circle, instead of send it to zero position, I send it to random position inside circle.

import turtle
from random import uniform
import numpy as np

turtle.shape("turtle")
#turtle.speed(1)
x = 0
y = 0
rmax=40

for i in range (1,1000):
    a = uniform (-90,90) #angle
    turtle.left(a)
    d = uniform (-75,75) #distance
    x = turtle.xcor()+d*np.cos(a*np.pi/180)
    y = turtle.ycor()+d*np.sin(a*np.pi/180)
    r = np.sqrt(x*x+y*y)
    if r>rmax:
        turtle.setx(uniform(-rmax,rmax))
        turtle.sety(uniform(-rmax,rmax))
        x = 0
        y = 0
    else:
        turtle.forward(d)

turtle.exitonclick()



 

.