2012-02-15 132 views
1

我正在Python中編寫一個簡單的2d布朗運動模擬器。從分佈中繪製x位移值和y位移值顯然很容易,但我必須設置它以便從分佈中繪製二維位移(即斜邊),然後將其轉換爲新的x和y座標。這可能是微不足道的,我只是遠離三角學來記住如何正確地做到這一點。我是否需要爲斜邊生成一個值,然後將其轉換爲x和y位移,並使用sin和cos? (你如何正確地做到這一點?)2d隨機遊走蟒蛇 - 從分佈圖畫斜邊

回答

1

這是最好用極座標(r, theta)爲您做的分佈(其中r是你的「弦」)),然後將結果轉換爲(x, y),使用x = r cos(theta)y = r sin(theta)。也就是說,從您喜歡的任何分佈中選擇r,然後選擇一個theta,通常從平面0到360度分佈,然後將這些值轉換爲xy

以相反的方式(即構造給定方向無關的斜邊的相關(x,y)分佈)將是非常困難的。

0

如果你有一個線段形式的斜邊,那麼你有兩點。從P0 = (x0, y0)P1 = (x1, y1)兩個點開始,您可以通過從x1y0中減去x0y1得到x和y位移。

如果您的斜邊實際上是一個極座標平面中的矢量,那麼是的,您必須取角度的sin並乘以矢量的大小以獲得y位移,同樣用cos x位移。