Одной из возможных проблем является использование функции tan
: тригонометрические функции, такие как tan
, работают с использованием угловых значений, выраженных в радианах , а не в градусах.
Таким образом, вам нужно изменить:
coneradius = coneheight * Tan(coneangle)
до:
coneradius = coneheight * Tan(pi * (coneangle / 180#))
Использование градусов не приведет к ошибке функции (поскольку вы по-прежнему вводите числовое значение), но значение будет интерпретировано в радианах, что приведет к неожиданным результатам (например, 15 градусов будет интерпретировано как 15 радиан = 139,4 градуса). ).