做一个正方形的spi

2024-10-05 10:13:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试着做一个正方形的螺旋形。任何帮助都将不胜感激。你知道吗

下面是python代码:

import matplotlib.pyplot as plt

g = 5 #step
w = 0 #width of spiral

point_list_x = []
point_list_y = []
for n in range(1,4):

    # The math part
    p1 = [n*(g+w),-(g+w)*n]
    p2 = [n*(g+w), (g+w)*n]
    p3 = [-(g+w)*n,(g+w)*n]
    p4 = [-(g+w)*n,-2*(g+w)*n]

    # Just collecting the points    
    point_list_x.append(p1[0])
    point_list_x.append(p2[0])
    point_list_x.append(p3[0])
    point_list_x.append(p4[0])

    point_list_y.append(p1[1])
    point_list_y.append(p2[1])
    point_list_y.append(p3[1])
    point_list_y.append(p4[1])

# Just plotting           
plt.scatter(point_list_x, point_list_y)
plt.plot(point_list_x, point_list_y)
plt.gca().set_aspect('equal', adjustable='box')
plt.show()

但我得到:

enter image description here

有人发现我的错误吗?主要是数学问题。你知道吗


Tags: 代码importmatplotlibpltlistpointjustp2
1条回答
网友
1楼 · 发布于 2024-10-05 10:13:55

看来问题出在你对p4的计算上。你把2*放在它前面,使它以比其他任何一个都大的速度增长。为了解决这个问题,p4的y坐标应该变成-(g+w)*(n+1),因为这个点是下一个循环的起点,所以n应该上升。你知道吗

相关问题 更多 >

    热门问题