Bha*_*axy 1 python math trigonometry symbolic-math fractions
作为一个年轻的程序员,我总是试图寻找我的技能的应用程序.
无论如何,我现在正在接受trig并且我们正在研究单位圆,从度数转换为坐标的公式是(sinθ,cosθ)(据我所知).
但是,我遇到的困难是我需要将值保持为分数.
基本上,我计划的算法是:
i = 0
while i < 360:
print(i, "=", calc(i))
i += 15
Run Code Online (Sandbox Code Playgroud)
现在,calc可以给出任何名称,并且将是一个函数,它返回x和y的坐标(可能是一个元组)给定x =sinθ和y =cosθ.
我遇到的问题是Python中的sin会返回介于-1和1之间的浮点,但是,我需要找到一种方法让它返回一个分数.例如,在该图中 ,坐标是有理数.
我该怎么办?我应该编写自己的正弦函数和余弦函数吗?如果是,我应该怎么做?
看起来您需要第三方模块,例如sympy:
>>> import sympy
>>> for i in range(0, 360, 15):
... print i, sympy.sin(sympy.Rational(i, 180) * sympy.pi)
...
0 0
15 sin(pi/12)
30 1/2
45 2**(1/2)/2
60 3**(1/2)/2
75 sin(5*pi/12)
90 1
105 sin(5*pi/12)
120 3**(1/2)/2
135 2**(1/2)/2
150 1/2
165 sin(pi/12)
180 0
195 -sin(pi/12)
210 -1/2
225 -2**(1/2)/2
240 -3**(1/2)/2
255 -sin(5*pi/12)
270 -1
285 -sin(5*pi/12)
300 -3**(1/2)/2
315 -2**(1/2)/2
330 -1/2
345 -sin(pi/12)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2322 次 |
最近记录: |