在C#中获得Lissajous 135°曲线

时间:2017-09-18 01:20:28

标签: c#

我实际上是想在Unity 5的C#脚本中获得Lissajous曲线。

Curves

这是从中左,135°曲线开始的第4次。我已经达到了45°曲线,但我无法在我的C#脚本中得到它的倒置变体因为这个“3π”我似乎无法用Mathf.PI重现。

我尝试过((Mathf.PI * 3)/ 4)和((Mathf.PI + Mathf.PI + Mathf.PI)/ 4),但它没有奏效。曲线不是我想要的曲线。

这是我已经实现的45°曲线的代码:

        float xU = 0, yU = 0;
    yU += yLissajousU * Mathf.Sin ((lissajousUSwaySpeed * 2) * Time.time);
    xU += xLissajousU * Mathf.Sin (lissajousUSwaySpeed * Time.time + Mathf.PI / 4);

我确信这很简单,但我昨天就完成了45°曲线剧本,这是我第一次独自编码。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案!

        float xA = 0, yA = 0;
    yA += yLissajousA * Mathf.Sin ((lissajousASwaySpeed / 2) * Time.time);
    xA += xLissajousA * Mathf.Sin (lissajousASwaySpeed * Time.time + ((Mathf.PI + Mathf.PI + Mathf.PI) / 4));

只需将yA SwaySpeed除以2而不是乘法。 Mathf.PI的添加似乎是正确的。

然而,x和y值被反转。我会尝试解决它们。