在JavaScript中,我試圖繪製一條以用戶定義的角度繪製的線條。從一個點和一個角度獲得斜率
基本上,我有一個點(x,y)和一個角度來創建下一個點。該行的長度需要爲10px。 (180,200)...如果我給它一個角度「A」,並且(我猜)斜邊是10,那麼我的方程是什麼以獲得X和Y的斜率?
感謝您的幫助!
在JavaScript中,我試圖繪製一條以用戶定義的角度繪製的線條。從一個點和一個角度獲得斜率
基本上,我有一個點(x,y)和一個角度來創建下一個點。該行的長度需要爲10px。 (180,200)...如果我給它一個角度「A」,並且(我猜)斜邊是10,那麼我的方程是什麼以獲得X和Y的斜率?
感謝您的幫助!
假設H =斜邊(在你的榜樣10),這是你的斜率公式:
Y2 = H(Sin(A)) + Y1
= 10(Sin(A)) + 200
X2 = Sqrt((H^2)-(Y2^2)) + X1
= Sqrt(100 - (Y2^2)) + 180
所以,現在你已經有了
(180, 200) -> (X2, Y2)
其中X2,Y2將根據變化在A和H的值上
檢查我們的計算-A(由用戶輸入)可以使用斜率方程計算,用原始輸入代替X1,X2,Y1和Y2值,而r導致輸出。
A = InvTan((Y2 - Y1)/(X2 - X1))
= InvTan((Y2 - 200)/(X2 - 180))
井,從基礎三角學...
罪A°= Y/10
COS A°= X/10
10^2 = Y^2 + X^2
或者,cosA = X/10來解決X. Upvoted爲唯一的人實際提供答案。 – 2009-11-30 18:09:56
歡呼聲sid - 和帽子尖爲cos :) – flesh 2009-11-30 18:11:29
確實;有時候人們會忘記這是一個問答網站而不是論壇。 – 2009-11-30 18:12:50
由於多伊爾先生snarkily暗示,數學並不難,但:
1)確保您清楚什麼樣的角度參考,你的座標,去什麼方向;大多數簡單的觸發器事件假定您正在處理傳統的笛卡爾座標,x向右增加,y增加頁面,而大多數繪製api的y增加,頁面增加,x增加到右側。
2)確保您瞭解數學函數是否需要度數或弧度併爲它們提供適當的參數。
是的。沒有足夠的信息給出。座標系統需要關於0角度指向哪個方向以及哪個方向的信息。 – Nosredna 2009-11-30 18:17:44
也許有更好的方式來看待這個問題可以用向量:
alt text http://www.equationsheet.com/latexrender/pictures/457e26b3cb8cf5290098bf05c3b10ee2.gif
你也可以寫的載體是這樣的:
alt text http://www.equationsheet.com/latexrender/pictures/b9fa4fbdc319445b7412c0a3deef6d53.gif
其中
alt text http://www.equationsheet.com/latexrender/pictures/24ee43fcfcd6e5c643ad7a378ca9e413.gif
設置第等於第二個讓我們解決給定的起點,角度終點,並且距離:
alt text http://www.equationsheet.com/latexrender/pictures/b5ad94cb360f54797e32c4883ded7fd1.gif
alt text http://www.equationsheet.com/latexrender/pictures/5a6f8c3499164a10453abac6714db70c.gif
sohcahtoa sohcahtoa sohcahtoa – Nosredna 2009-11-30 18:14:48
一些老嬉皮捕捉到另一個嬉皮士在酸性上跳動 – 2009-12-30 17:01:45