1

我正在用 Python 编写一个简单的 2d 布朗运动模拟器。从分布中绘制 x 位移和 y 位移的值显然很容易,但我必须设置它以便从分布中绘制 2d 位移(即斜边),然后将其转换为新的 x 和 y 坐标。这可能是微不足道的,我离三角学太远了,无法记住如何正确地做到这一点。我是否需要为斜边生成一个值,然后将其转换为带有 sin 和 cos 的 x 和 y 位移?(你如何正确地做到这一点?)

4

2 回答 2

1

这最好通过为您的分布使用极坐标 来完成(您的“斜边”在哪里),然后将结果转换为, 使用and 。也就是说,从您喜欢的任何分布中选择,然后选择 a ,通常是从 0 到 360 度的平坦分布,然后将这些值转换为和。(r, theta)r(x, y)x = r cos(theta)y = r sin(theta)rthetaxy

反过来(即构建给出方向独立斜边的相关 (x, y) 分布)将非常困难。

于 2012-02-15T17:31:06.297 回答
0

如果你有一条线段形式的斜边,那么你有两个点。从表格中的两个点,您可以通过从和从P0 = (x0, y0) P1 = (x1, y1)减去来获得 x 和 y 位移。x0x1y0y1

如果您的斜边实际上是极坐标平面中的向量,那么是的,您必须将sin角度的 乘以向量的大小以得到 y 位移,同样得到cosx 位移。

于 2012-02-15T17:06:48.530 回答