我想画一个像这样的三角形:
我试过不同的方法来解决它,但是我没有正确地做。如何在三角形中添加中线?有人能帮我解释一下吗?在
from turtle import *
import random
def allTriMedian (w=300):
speed (0)
vertices = []
point = turtle.Point(x,y)
for i in range (3):
x = random.randint(0,300)
y = random.randint(0,300)
vertices.append(trutle.Point(x,y))
point = turtle.Point(x,y)
triangle = turtle.Polygon(vertices)
a = triangle.side()
b = triangle.side()
c = triangle.side()
m1 = tirangle.median
m2 = triangle.median
m3 = triangle.median
我试着直接把方程式
^{pr2}$或者我想找一个中点,画一条线段来连接顶点和中点。在
def getMid(p1,p2):
return ( (p1[0]+p2[0]) / 2, (p1[1] + p2[1]))
mid1 = Line((point(p1[0]+p2[0]) / 2),point(x))
mid2 = Line((point(p2[1]+p3[1]) / 2),point(y))
多亏了cdlane,我把他的代码和一些功能放到函数中,使它更清晰(至少对我来说是这样)
数学用向量来计算是最简单的方法。假设你有一个三角形ABC,想要画一条从a到BC中间的线,这样你的向量从a开始,结束于a+AB+1/2bc或a+AC+1/2cb(矢量)
这就得到了
^{pr2}$我讨厌做数学。让我们看看我们是否可以通过向问题扔乌龟来解决这个问题。很多海龟。在
我们将随机生成三角形的垂直度。轮流做两个垂直方向,我们会在每个方向开始一只乌龟朝另一个方向前进。当海龟相撞时(在中点),我们将消除一只海龟,并将另一只推向顶点,而不是在这对海龟中。一旦我们做了三次(用六只海龟),我们应该有问题的画。嗯,基本上(我的解决方案没有填写):
工作中的海龟:
成品图纸:
相关问题 更多 >
编程相关推荐