有没有办法在乌龟图形中生成圆圈内的点(点)? 我想在我的圈内产生10个点。我的代码包括使用模块中的函数。我正在尝试使用“def”函数完成此程序。到目前为止,我知道我需要使用while和if语句,我需要使用“from random import randint”,但就是这样。我写了部分代码,但我不知道这是否正确。这是代码:
def randomDotInCircle():
while _in range(10):
dots_pos_x = randint(25, 75)
dots_pos_y = randint(-37, 37)
if (dots_pos_x, dots_pos_y) ==
turtle.penup()
turtle.goto(dots_pos_x, dots_pos_y)
turtle.dot(7)
turtle.pendown()
有关如何在圆圈内创建随机点的任何帮助?我将圆圈以(50,0)和半径50为中心。 有什么帮助吗?
答案 0 :(得分:3)
我对turtle-graphics一无所知,但这就是你如何在一个圆圈内生成随机点。
import random
import math
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __str__(self):
return str((self.x, self.y))
class Circle:
def __init__(self, origin, radius):
self.origin = origin
self.radius = radius
origin = Point(0, 0)
radius = 50
circle = Circle(origin, radius)
for i in range(0, 10):
p = random.random() * 2 * math.pi
r = circle.radius * math.sqrt(random.random())
x = math.cos(p) * r
y = math.sin(p) * r
print x, y
这里的一般方案是生成一个随机角度p
,然后将该角度从0
投射到radius
。这只是在圆圈内生成随机点的一种方法。