¿Cuál es el rango de valores de entrada para su función sin () ? Para lo que lo está utilizando, parece que podrían ser limitados, lo que significa que podría calcular previamente los valores . Por ejemplo, si está redondeando los valores de entrada al grado más cercano, entonces solo tiene 360 valores posibles, solo calcule previamente y almacénelos en una tabla.
Si necesita un poco más de valores, digamos con un decimal, puede interpolar desde la tabla; no estoy familiarizado con el ruido perlin , pero la palabra "ruido" parece indicar que no requiere una alta precisión. :) (También podría hacer una tabla más grande, 3600 entradas no es mucho espacio).