Я прочитал Stefan Gustavson превосходную статью о симплекс-шуме, в которой мне было обещано, что:
Симплексный шум не имеет заметных направленных артефактов
в отличие от "классического" шума Perlin. Я взволнованно реализовал его, чтобы выяснить, что противоположность оказалась правдой. Я вижу артефакты в классическом шуме, но я вижу, по крайней мере, столько артефактов в симплексном шуме, выровненном под углом 45 градусов к основным осям. Они особенно заметны, когда вы сопоставляете шум с шаговой функцией.
Чтобы гарантировать, что это не проблема с моей реализацией, я использовал кто-то другой вариант JavaScript. Сравните некоторые изображения:
И здесь галерея со всеми из них. В этом последнем изображении найдите границы, которые выровнены на 45 градусов по горизонтали/по вертикали. Они повсюду. Я могу выделить некоторые из них, если нужно, но они кажутся мне действительно очевидными. (И снова, я вижу их и в классическом шумовом изображении.)
EDIT: чтобы быть более количественным, я выбрал 1 миллион случайных точек, и для каждой точки я численно вычислил градиент как классического, так и симплексного шума и взял гистограмма направления градиента, проецируемого на плоскость xy. Если бы не было направленных артефактов, график был бы плоским. Но вы можете видеть, что как классический, так и симплексный шум скапливаются каждые 45 градусов.
Это проблема с алгоритмом симплекс-шума? Это что-то, что можно исправить? Или я единственный, кто считает это проблемой?