В нескольких местах я видел, что для бесшовной петли шума Перлина требуется дважды рассчитать ее несколько различными способами и суммировать два результата.
Этот FAQ по математике в Perlin дает формулу:
сделать функцию шума петлей в направлении z . Он также упоминает , что расширение этого, чтобы петли в 2 -х измерениях будет принимать 4 оценки F и к петле в 3 -х измерениях будет принимать 8 оценок F .
Я понимаю, что это дает бесшовное соединение между плитками, которое не только непрерывно, но и непрерывно дифференцируемо, но я интуитивно ожидаю, что это произойдет, если функция шума будет просто оценена один раз с уменьшением точек сетки по модулю требуемого размера плитки. Если функция шума только когда-либо основана на непосредственно окружающих точках сетки (4 для 2D-шума, 8 для 3D-шума), то, конечно, просто используя крайние левые точки сетки, когда точка для вычисления проходит мимо правого края плитки, даст такое же качество шума, как между любыми другими точками сетки?
Так как я видел этот подход с несколькими вычислениями в нескольких местах, я предполагаю, что он должен иметь некоторое преимущество, но я изо всех сил пытаюсь увидеть недостаток, просто оборачивая точки сетки обратно в начало, когда они становятся слишком большими. Что мне не хватает?