Я работаю над генерацией 3D-шума Перлина. Библиотека C # Math кажется мне излишней, поскольку большинство ее функций используют двойное разрешение. Я использую Math.Sin () в нескольких местах для генерации шума. Кто-нибудь знает о более быстрой функции синуса?
xna
c#
mathematics
user2709
источник
источник
Каков диапазон входных значений для вашей функции sin () ? Для того, для чего вы его используете, похоже, что они могут быть ограничены, что означает, что вы можете предварительно вычислить значения . Например, если вы округляете входные значения до ближайшего градуса, то у вас есть только 360 возможных значений - просто предварительно вычислите их и сохраните в таблице.
Если вам нужно немного больше значений, скажем, с одним десятичным знаком, вы можете интерполировать из таблицы - я не знаком с перлин-шумом , но слово «шум», кажется, указывает на то, что он не требует высокой точности. :) (Вы также можете просто сделать таблицу большего размера, 3600 записей не много места).
источник
Вы можете прочитать это тоже, это есть быстрый синус и косинус приближения
источник