|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Љг§Ґж®ў Ђ«ҐЄбҐ© 2:5020/400 01 Mar 2003 08:53:37 To : All Subject : генерация равномерной сетки --------------------------------------------------------------------------------
Здравствуйте!
Вот возникла такая проблема, что-то я для общего случая не могу
составить алгоритм.
Итак:
Передается массив из N точек
Каждая точка может иметь размерность M
Hадо эти точки проинициализировать таки образом, что бы они
составляли равномерную сетку в диапазоне [-1, 1] с шагом 2/k
для одномерного все просто
для 2-ух мерного случая (M=2) я родил что-то вроде
k := integer(Power(N, 1/M)); // или SQRT(N);
l := k * k;
N-l точек я просто сгенерю случайным образом (если они вообще будут)
step := 2 / k;
ix := 0;
x := -1;
for i := 0 to k-1 do
begin
y := -1;
for j := 0 to k-1 do
begin
UU[ix,0] := x; // где UU - это массив который
UU[ix,1] := y; // собственно и содержит сетку
y := y + step;
Inc(ix);
end;
x := x+step;
end;
для 3-х мерного будет 3 цикла и так далее, а как бы сделать красиво?
Вот а хотелось бы в общем случае, понятно что для размерности > 3
N уже должно быть достаточно велико
C Уважением Кузнецов Алексей
kuaw26@mail.ru
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.ru (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/6488ec9c6c44.html, оценка из 5, голосов 10
|