釋出
2011年3月13日 (最後更新: 2011年3月13日)

沿著線移動

評分: 3.4/5 (40 票)
*****
許多人都知道什麼是線,更多的人可以使用斜率來繪製它們。 但是我注意到,當嘗試僅使用起點和終點來繪製一條線時,人們會絆倒並失敗。

問題很簡單:如何在沒有具體的 x 和 y 座標的情況下繪製一些東西?

答案也很簡單:找到它們。

讓我們想象一下,您希望將一個物件從原點 (0,0) 移動到某個終點 (8,20)。 好吧,人類會簡單地意識到 (8, 20) 轉化為 2/5 的斜率(向上 2,向右 5),並相應地繪製線條。 不幸的是,計算機沒有可以用來繪製線條的尺子。 所以這個人被迫告訴計算機線經過的每一個點。 這很容易做到。 在這個例子中,我們向上和向右移動。 所以,我們已經有了 Y 座標。 它們是 1 到 20 的點。

但是如何得到 X? 這很容易,X 是 Y 的函式。 像這樣:X=(X1/Y1)*Y

為了更好地理解

X= X1 * Y
__Y1

在這個等式中,X1 是 8(目標點的 X 座標),Y1 是 20(目標點的 Y 座標)。 至於 Y,只需代入 1 到 20 即可得到它的 X 座標。

程式示例看起來像這樣

1
2
3
4
5
6
7
8
9
10
11
float X1=8, Y1=20;
     float x[20], y[20];
     for (int i=1; i<21; i++)
     {
         y<i>=i;
         x<i>=(X1/Y1)*y<i>;
     }
     for (int i=1; i<21; i++)
     {
         cout<<"y["<<i<<"]="<<y<i><<" x["<<i<<"]="<<x<i><<endl;
     }


這將建立以下輸出

y[1]=1 x[1]=0.4
y[2]=2 x[2]=0.8
y[3]=3 x[3]=1.2
y[4]=4 x[4]=1.6
y[5]=5 x[5]=2
y[6]=6 x[6]=2.4
y[7]=7 x[7]=2.8
y[8]=8 x[8]=3.2
y[9]=9 x[9]=3.6
y[10]=10 x[10]=4
y[11]=11 x[11]=4.4
y[12]=12 x[12]=4.8
y[13]=13 x[13]=5.2
y[14]=14 x[14]=5.6
y[15]=15 x[15]=6
y[16]=16 x[16]=6.4
y[17]=17 x[17]=6.8
y[18]=18 x[18]=7.2
y[19]=19 x[19]=7.6
y[20]=20 x[20]=8