2010-12-16 36 views
3

我只找到了一些搜索解決方案,它們是語言特定的或太複雜。我只需要從另一個點旋轉n點得到點距離。我在HTML5畫布中使用這個項目。我知道有一個旋轉功能,但我正在使用路徑,我不相信它適用於它。無論如何,我只需要一個可以插入x,y,距離和方向的公式。從另一個點獲得點旋轉一定距離的X和Y

+2

打破鉛筆和紙,算出數學。然後把它變成代碼。 – 2010-12-16 04:16:00

+0

這是一個簡單的三角函數計算。 ''n「'是弧度還是度數? – stillstanding 2010-12-16 04:16:56

+1

我曾經在開發遊戲的時候處理所有這些三角函數的計算方法。在編程時做這個數學是很有趣的,儘管我曾經在大學時討厭同樣的數學知識,但我不得不知道它適用於何處。 @Ruffian你應該通過一些數學文本和學習這些東西,一旦你正確地做,並獲得在屏幕上旋轉的東西,這是有趣的和非常有價值的:) – 2010-12-16 04:22:58

回答

4
newx = distance * Math.cos(direction) + x 
newy = distance * Math.sin(direction) + y 
+0

感謝兄弟,我認爲他們曾經使用過cos和罪。雖然從來沒有理解得那麼好。假設我應該查找trig函數。 – Anonymous 2010-12-16 04:33:52

+0

還記得高中時的「sohcahtoa」嗎? :) – sje397 2010-12-16 04:36:20

0

通過計算角度的正弦和餘弦,可以在給定的旋轉距離原點一個單位。只需將座標乘以所需的任何距離即可。餘弦對應於X和正弦對應於Y.

換句話說:

  • 決定的角度。
  • 通過獲取角度的餘弦來計算X.
  • 通過獲取角度的正弦來計算Y.
  • 將X和Y乘以距離。
  • 通過「源」點偏移X和Y.
+1

正弦對應於Y和餘弦對應於X – 2010-12-16 04:18:14

+0

@Senthil謝謝,編輯。 – Maxpm 2010-12-16 04:21:36

+0

+1的詳細解釋。如果你可以添加一些僞代碼,我會說它會完成:) – 2010-12-16 04:27:54

相關問題