python cos_Python cos(90)和cos(270)不是0

博客主要围绕Python中sin和cos函数展开测试,目的是找出将坐标输出到SVG文件时定位错误的原因。通过不同参数设置进行多次计算,发现改变cX值虽不影响计算,但会影响结果的正确性,如某些计算结果本应为0却出现偏差。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

到底是怎么回事??

测试sin和cos函数,找出为什么在将坐标输出到SVG文件时,我在错误的位置上获得如此美妙的定位.所以我制作了这个测试代码,我可以预测答案是找出原因.奇怪的是,没有任何影响计算的东西会增加这种行为,而只是我将要留下的位置.如果位置为0并且在计算后将变为0,则它​​将不起作用,但如果position为1并且在计算之后它将变为1,则它起作用.

第一次测试:

import math

cX = 2

cY = 2

r = 2

rcX = cX + (r * math.cos(math.radians(0)))

rcY = cY + (r * math.sin(math.radians(0)))

print rcX #4

print rcY #2

r = 1

rlX = rcX + (r * math.cos(math.radians(90)))

rlY = rcY + (r * math.sin(math.radians(90)))

print rlX #4

print rlY #3

r = 4

flX = rlX + (r * math.cos(math.radians(180)))

flY = rlY + (r * math.sin(math.radians(180)))

print flX #0

print flY #3

r = 2

print r * math.cos(math.radians(270))

print flX + (r * math.cos(math.radians(270))) #-3.67394039744e-16 should be 0

print flY + (r * math.sin(math.radians(270))) #1

现在我将cX更改为3,即使它不影响计算,它也能正常工作:

r * math.cos(math.radians(270))

该计算的结果将添加到x坐标

import math

cX = 3

cY = 2

r = 2

rcX = cX + (r * math.cos(math.radians(0)))

rcY = cY + (r * math.sin(math.radians(0)))

print rcX #5

print rcY #2

r = 1

rlX = rcX + (r * math.cos(math.radians(90)))

rlY = rcY + (r * math.sin(math.radians(90)))

print rlX #5

print rlY #3

r = 4

flX = rlX + (r * math.cos(math.radians(180)))

flY = rlY + (r * math.sin(math.radians(180)))

print flX #1

print flY #3

r = 2

print r * math.cos(math.radians(270))

print flX + (r * math.cos(math.radians(270))) #1

print flY + (r * math.sin(math.radians(270))) #1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值