Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2011, 13:26   #1
мята
 
Регистрация: 07.03.2011
Сообщений: 5
По умолчанию шум,турбуленция

здравствуйте!посоветуйте что-нибудь...
Есть трехмерная функция шума:
DBL Noise3D(DBL x, DBL y, DBL z)
{
INT ix, ix1, iy, iy1, iz, iz1;
DBL fx, fy, fz;

if (x < 0)
ix = ((INT) x - 1) & NOISE_MASK;
else
iy = (INT) x & NOISE_MASK;
if (y < 0)
iy = ((INT) y - 1) & NOISE_MASK;
else
ix = (INT) y & NOISE_MASK;
if (z < 0)
iz = ((INT) z - 1) & NOISE_MASK;
else
iz = (INT) z & NOISE_MASK;

ix1 = (ix + 1) & NOISE_MASK;
fx = x - floor(x);
fx = fx * fx * (3 - 2 * fx);
iy1 = (iy + 1) & NOISE_MASK;
fy = y - floor(y);
fy = fy * fy * (3 - 2 * fy);
iz1 = (iz + 1) & NOISE_MASK;
fz = z - floor(z);
fz = fz * fz * (3 - 2 * fz);

return;
}
Эти многомерные массивы хотелось бы заменить на что-нибудь, занимающее меньше места в памяти...
(Tab3[iy][ix] *(1 - fx)+ Tab[iy][ix1] * fx) * (1 - fy) + (Tab3[iy1][ix] * (1 - fx)+Tab3[iy1][ix1] * fx......)-
Каким образом можно убрать массивы и написать четырехмерную функцию, 4-ый параметр-время?
DBL Turb3D(DBL x, DBL y, DBL z, DBL Omega)
{
INT i;
DBL Sum = 0, D = 1, C = 0;
for (i = 0; i < Omega; i++)
Sum += Noise3D(x, y, z) / D;
C += 1 / D, x *= 2, y *= 2, z *= 2, D *= 2;
return Sum / C;
}
мята вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
шум при перемещении мыши Lotles Компьютерное железо 6 14.12.2010 21:16
Эффект "Шум" - резкий перепад на 3-ем шаге Alex Cones Общие вопросы Delphi 1 18.06.2010 18:34
Информационный шум usersat Свободное общение 0 21.04.2009 17:46
Шум от кулера, ЧЕМ ЛЕЧИТЬ? Altera Компьютерное железо 10 21.08.2008 14:00