如何在Python中绘制三角形的外接圆?
拜托,你能帮我做这个吗?我可以画一个三角形,也可以计算圆心(我不知道这是否有用),我已经计算了半径。但我不知道如何画一个圆圈。我的方法并不能连接所有的顶点。谢谢你的建议如何在Python中绘制三角形的外接圆?,python,geometry,triangle,Python,Geometry,Triangle,拜托,你能帮我做这个吗?我可以画一个三角形,也可以计算圆心(我不知道这是否有用),我已经计算了半径。但我不知道如何画一个圆圈。我的方法并不能连接所有的顶点。谢谢你的建议 import turtle import math from math import pi alfa=60 # in degrees beta=40 gama=80 c = 100 sin_alfa = math.sin(pi/180*alfa) # in radians sin_beta = math.sin(pi/180*
import turtle
import math
from math import pi
alfa=60 # in degrees
beta=40
gama=80
c = 100
sin_alfa = math.sin(pi/180*alfa) # in radians
sin_beta = math.sin(pi/180*beta)
sin_gama = math.sin(pi/180*gama)
a = c/sin_gama *sin_alfa # a,b calculated
b = c/sin_gama *sin_beta
board = turtle.Turtle()
board.forward(100) # base c
board.left(180-beta)
board.forward(a)
board.left(180-gama)
board.forward(b)
board.left(180-alfa)
rad = rad = a/2*sin_alfa # radius of a circumcircle
board.circle(rad)
你想在三角形中间画一个圆吗? 如果是这样,那么你所要做的就是
#一切和三角形的代码
董事会
前进板(50)
董事会主席
#代码的其余部分
请详细说明这个修改后的代码将画一个接触所有角落的圆
import turtle
import math
from math import pi
alfa=60 # in degrees
beta=40
gama=80
c = 100
sin_alfa = math.sin(pi/180*alfa) # in radians
sin_beta = math.sin(pi/180*beta)
sin_gama = math.sin(pi/180*gama)
a = c/sin_gama *sin_alfa # a,b calculated
b = c/sin_gama *sin_beta
board = turtle.Turtle()
board.forward(100) # base c
board.left(180-beta)
board.forward(a)
board.left(180-gama)
board.forward(b)
board.left(180-alfa)
rad = a/(2*sin_alfa) # radius of a circumcircle
# shift pen to bottom-most point of the circle
board.up()
board.forward(c/2)
board.right(90)
board.forward(rad*(1-(1-sin_gama**2)**0.5))
board.down()
board.left(90)
# the circle
board.circle(rad)
turtle.done()
以下是光标移动方式的图形说明:
非常感谢您的回答。我试过了,结果就是这样。这有点不准确。只是乌龟不是100%准确?可以吗?再次感谢。这是我得到的图片,C顶点似乎有点偏离。[1] :@MonikaSistkova你说得对,我做了一个小计算。我将发布更正。是的,海龟图案并不那么精确,但它通常是可以忍受的。你得到的结果肯定不是那么可以忍受的。感谢您指出。请重新检查代码,并将此答案标记为已接受,如果它对您有帮助:)它有效。谢谢。