我不知道這是我的數學還是我的Python沒有達到從頭開始......但下面的代碼給出了意想不到的結果。它仍然繪製了一圈點,但以一種奇怪的順序和非均勻的方式(即使允許int rounding錯誤),即點隨着度增加而在圓周上不連續,它們跳到圓上完全不同的點?極地笛卡爾返回奇怪的結果
def pol2cart(distance, angle):
x = distance * numpy.cos(angle)
y = distance * numpy.sin(angle)
return(x, y)
for fixedangle in xrange(0,360,10):
x, y = pol2cart(50,fixedangle)
print str(int(x)) + ", " + str(int(y)) + " " + str(fixedangle) + "\xb0"
結果的樣品:
50, 0 0°
-41, -27 10°
20, 45 20°
7, -49 30°
-33, 37 40°
48, -13 50°
-47, -15 60°
31, 38 70°
-5, -49 80°
-22, 44 90°
43, -25 100°
-49, -2 110°
40, 29 120°
-18, -46 130°
-9, 49 140°
34, -35 150°
-48, 10 160°
46, 17 170°
-29, -40 180°
如果爲0度=(50,0),那麼我期望10度到大約(49.9)否(-41,-27 )。我認爲20度是(47,18)而不是(20,45)......等等。就這三個例子而言,你可以看到笛卡爾點已經跳到了完全不同的象限,然後又回到了原點。即使我關於旋轉方向或起點的想法完全錯誤,我仍然期望每個點都是從0度起點順時針或逆時針旋轉順序。另外,從「方形」角度90和180可以看出,笛卡爾點相對於(0,0)中心點而言完全水平或垂直很遠?
aah thanks Jeremy。並感謝所有:勾選第一個:) – Simon