Pythonで指定した長さ、間隔(幅)、本数の直線を描きたいです。直線は2点をとり、その間を保管する手法で描きます。
直線の長さをL、幅をW、本数をNとすると、一本目の直線の始点は(0, 0)、終点を(0, L)とし、二本目の直線の始点は(W, 0)、終点は(W, L)とします。
これをN回繰り返すことで指定した数の等間隔の直線を描けると思うのですが、プロットしてみると最後の一本しかでていません。どこが違うのでしょうか。
宜しくお願いします。
Python
1import numpy as np 2import matplotlib.pyplot as plt 3 4 5def calc_straight_line(x0, y0, x1, y1): 6 stl_xx = [] 7 stl_yy = [] 8 tstep = np.linspace(0, 1, 100) 9 stl_x = tstep * x1 + (1 - tstep) * x0 # 入れ替え 10 stl_y = tstep * y1 + (1 - tstep) * y0 # 入れ替え 11 12 return stl_x, stl_y 13 14L = 30 #直線の長さ 15W = 5 #直線間の幅 16N = 3 #直線の数 17 18for i in range(N) : 19 20 x0 = (i - 1) * W 21 y0 = 0 22 x1 = (i - 1) * W 23 y1 = L 24 25 X, Y = calc_straight_line(x0, y0, x1, y1) 26 27plt.plot(X,Y , 'r') 28plt.show() 29
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。