我正试着做一个正方形的螺旋形。任何帮助都将不胜感激。你知道吗
下面是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()
但我得到:
有人发现我的错误吗?主要是数学问题。你知道吗
看来问题出在你对p4的计算上。你把2*放在它前面,使它以比其他任何一个都大的速度增长。为了解决这个问题,p4的y坐标应该变成
-(g+w)*(n+1)
,因为这个点是下一个循环的起点,所以n应该上升。你知道吗相关问题 更多 >
编程相关推荐