0

您好,我正在尝试想象一个 Aizawa 吸引子,它一开始似乎有效,但随后稳定在零/停止移动。我在网上查看了几个实现,我的似乎是一样的,但我不知道为什么它停止移动。

这是接受一个点并返回新点的代码:

public class Aizawa
{
    private const float a = 0.95f;
    private const float b = 0.7f;
    private const float c = 0.6f;
    private const float d = 3.5f;
    private const float e = 0.25f;
    private const float f = 0.1f;

    public static void Iterate(float x, float y, float z, out float dX, out float dY, out float dZ)
    {
        dX = ((z - b) * x  - d * y);
        dY = (d * x + (z - b) * y);
        dZ = (c + a * z - ((z * z * z) / 3f) - (x * x + y * y) * (1f + e * z) + f * z * x * x * x);
    }
}

在此之后,我将点设置如下:

_xPos += dX * time;
_yPos += dY * time;
_zPos += dZ * time;

我正在使用统一来可视化它,这是迄今为止的结果: screenshot

我不知道从这里去哪里!任何帮助,将不胜感激

干杯

4

0 回答 0