許多人都知道什麼是線,更多的人可以使用斜率來繪製它們。 但是我注意到,當嘗試僅使用起點和終點來
繪製一條線時,人們會絆倒並失敗。
問題很簡單:如何在沒有具體的 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
|