Estou trabalhando na geração de ruído perlin 3d. A biblioteca C # Math parece um exagero para o que eu preciso, pois a maioria de suas funções usa percisão dupla. Eu uso Math.Sin () em vários lugares para gerar o ruído. Alguém sabe de uma função senoidal mais rápida?
xna
c#
mathematics
user2709
fonte
fonte
Qual é o intervalo de valores de entrada para sua função sin () ? Para o que você está usando, parece que eles podem ser limitados, o que significa que você pode pré-calcular os valores . Por exemplo, se você estiver arredondando os valores de entrada para o grau mais próximo, terá apenas 360 valores possíveis - basta pré-calculá-los e armazená-los em uma tabela.
Se você precisar de um pouco mais de valor, digamos com uma casa decimal, poderá interpolar da tabela - não estou familiarizado com o ruído permanente , mas a palavra "ruído" parece indicar que não exige alta precisão. :) (Você também pode criar uma tabela maior, 3600 entradas não são muito espaço).
fonte
Você também pode ler isso , pois possui aproximações rápidas de seno e cosseno
fonte