我有一個起點(x0,y0),一個終點(x2,y2)和一個斜率(在(x0,y0)和(x3,y3)之間的斜線)我想畫一個平行四邊形。如何繪製平行四邊形的2點和斜率
(x0,y0) (x1,y1)
__________
\ \
\ \
\_________\
(x3,y3) (x2,y2)
有人可以告訴我該怎麼做嗎?或者提出一些算法或其他內容。
編輯:這裏Y0 = Y1和Y2 = Y3
問候
我有一個起點(x0,y0),一個終點(x2,y2)和一個斜率(在(x0,y0)和(x3,y3)之間的斜線)我想畫一個平行四邊形。如何繪製平行四邊形的2點和斜率
(x0,y0) (x1,y1)
__________
\ \
\ \
\_________\
(x3,y3) (x2,y2)
有人可以告訴我該怎麼做嗎?或者提出一些算法或其他內容。
編輯:這裏Y0 = Y1和Y2 = Y3
問候
如果表示斜率m
和假設y0=y1
和y3=y2
,那麼我們可以計算像這樣:
m = (y3 - y0)/(x3 - x0)
y3 = y2
m = (y2 - y0)/(x3 - x0)
m*x3 - m*x0 = y2 - y0
m*x3 = y2 - y0 + m*x0
x3 = (y2 - y0 + m*x0)/m
而且類似:
m = (y2 - y1)/(x2 - x1)
y1 = y0
m = (y2 - y0)/(x2 - x1)
m*x2 - m*x1 = y2 - y0
-m*x1 = y2 - y0 - m*x2
x1 = -(y2 - y0 - m*x2)/m
您好,非常感謝您的幫助。 – user427969 2011-01-20 03:30:57
您沒有足夠的數據。只有兩個點和一個斜坡,您可以獲得無限可能的平行四邊形(兩個點和一個斜率僅定義兩個平行線,而不是平行四邊形)。
從您的繪圖中,您似乎在尋找具有水平邊界的平行四邊形,如果是這樣,它會給出第二個斜率,並且您有y0 = y1和y2 = y3。
您使用坡跟讓X3:
x3 = ((y3-y0)/slope) + x0
只有X1還是個未知數:
x1 = x0 + (x2-x3)
顯然我沒有檢查所有的退化情況下,當你有沒有解決方案或無限解決方案。我把它留給別人。
嗨,感謝您的回覆 – user427969 2011-01-20 03:32:04
在一般情況下,如果雙方平行四邊形不平行於軸線:
爲Z0和Z1的公式是:
z0 = { Cos[phi]^2 (X2 + (Y0 - Y2) Cot[theta]) +
Cos[phi] (Y0 - Y2 + (X0 - X2) Cot[theta]) Sin[phi] + X0 Sin[phi]^2,
Y0 Cos[phi]^2 +
Cos[phi] (X0 - X2 + (-Y0 + Y2) Cot[theta]) Sin[phi] +
(Y2 + (-X0 + X2) Cot[theta]) Sin[phi]^2
}
z1 = { Csc[theta] (Cos[phi - theta] ((-Y0 + Y2) Cos[phi] + X2 Sin[phi]) -
X0 Cos[phi] Sin[phi - theta]),
Y2 Cos[phi]^2 +
Cos[phi] (-X0 + X2 + (Y0 - Y2) Cot[theta]) Sin[phi] +
(Y0 + (X0 - X2) Cot[theta]) Sin[phi]^2
}
是否`Y0 == y1`和`Y3 == y2`? – 2011-01-20 00:48:20
爲了將來的參考,您不需要在標題中加入[[已解決]]。 – zzzzBov 2011-01-20 03:59:29