Как мне получить координаты треугольника с учетом его сторон в Python? Есть какие-нибудь советы по этому коду? ⇐ Python

Программы на Python
Anonymous
Как мне получить координаты треугольника с учетом его сторон в Python? Есть какие-нибудь советы по этому коду?

Сообщение Anonymous »

Я составил программу, использующую некоторые тригонометрические формулы, такие как формула Молвейде, закон котангенсов, косинусов и т. д., но она кажется неточной. Вероятно, я могу исправить это, используя длинные или другие типы чисел, кроме float, но, похоже, некоторые значения становятся отрицательными, что приводит к ошибкам деления на ноль, особенно с треугольниками 1,1,2. Это беспокоило меня более 2 часов, и я запутался. Я был бы очень признателен за любую помощь. Заранее спасибо.
Это спагетти-код, который я создал, пытаясь его упростить. Урок иронии можно извлечь здесь, лол
print("This program finds the coordinates of a triangle given only it's side lengths.Due to floating point approximations there can be errors but sometimes impossible coordinates may also be the result of invalid inputs.")
#mathematical denotation of a,b and c are the sides that do not touch the respective points.Hence a=bc,b=ac and c=ab
t=0
while t>=0:
c,a,b=eval(input("Enter side lengths AB,BC and AC:"))
f=c-a
n=(b-f)/2
x=f*(c+a)
z=2*b*c
w=b**2
hlftanBAC=((2*z/(x+w+z))-1)**(1/2)
tanBAC=((z/(x+w))+1)*hlftanBAC
hlftanBCA=hlftanBAC*(1+(f/n))
tanBCA=((2*a*b/(w-x))+1)*hlftanBCA
h=b/(tanBCA+tanBAC)
y=h*tanBCA
print("The coordinates are (0,0),(",b,",0) and (",h,",",y,").")
t+=1


Подробнее здесь: https://stackoverflow.com/questions/798 ... any-advice

Вернуться в «Python»