2013-08-20 36 views
0

我想找到p2處的切線角度。如果積分p1p2在一條線上,我認爲y2-y1/x2-x1會給出斜率。並且tan ((y2-y2)/(x2-x1))是否給出了切線角?另外,如果p1p2在弧上,我怎樣才能得到弧的切線角度爲p2我有兩點p1:(x1,y1)和p2:(x2,y2)和從p1到p2的曲線(有時是圓弧,沒有特定形狀)

任何人都可以幫助我嗎?

編輯: 更具體一點,我正在從p1到p2的路徑上移動一條船。我想根據p2的切線角度改變船的方向,以便船的前端總是指向路徑的方向。考慮在維基圖像http://upload.wikimedia.org/wikipedia/commons/7/7a/Graph_of_sliding_derivative_line.gif

+0

除非我失去了你需要更具體的瞭解你正在嘗試做一些事情明顯。你寫的是「如果點p1和p2在一條線上」 - 給定任意兩點你可以在它們之間畫一條線,所以它們總是在一條線上......而且你說弧線「沒有特定的形狀」 - 有無限數量的弧線穿過p1&p2,每個弧線都有自己的切線。 – CRD

+0

@CRD我的意思是沒有形狀的路徑,它可能是弧線或線條等。 – androios

+0

「沒有形狀的路徑」 - 這是沒有意義的。如何定義路徑?它的數據結構是什麼?該數據結構的元素代表什麼?替代地,你用什麼API來訪問和操作路徑?編輯您的問題以包含這些詳細信息。 –

回答

0

你可以很容易地做矢量數學。這裏有一個基本的想法,讓你的船點每次在曲線上的行駛方向:

  1. 你必須得到船隻將移動的曲線方程。
  2. 假設船在曲線上的點p1處。
  3. 確定距離d1約爲曲線總長度的0.5%。
  4. 獲得距離d1處的點pBack倒轉到曲線上的p1。
  5. 獲得距離d1的點pFront前進到曲線上的p1。
  6. 現在我們有一個向量v1 =(pFront.x - pBack.x,pFront.y - pBack.y)
  7. 通過在它們之間做點積來求出v1和v2 =(1,0)之間的夾角。
  8. 一旦你有了角度,只需在你的船上進行旋轉翻譯。

爲參考向量代數:http://www.mathsisfun.com/algebra/vectors.html

相關問題