|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Rustam Ramazanov 2:5020/400 14 Oct 2002 20:29:17 To : Vjacheslav Maslov Subject : Re: математическая задачка -------------------------------------------------------------------------------- Приветствую! > Господа, волею судьбы столкнулся я с такой задачкой. > Есть функция, draw(double x0, double x1,double y0,double y1) - рисует фрактал > на участке от (x0,y0) до (x1,y1). Числа x0,x1,y0,y1 - небольшие вещественные (меньше 2). Плавали, знаем. Величины не важны. Можешь попробовать построить не только z^2 строить. А например, 1/z^2. Довольно интересные картинки получаются. > Хочется сделать увеличение. То есть выбираем на экране мышкой нужную область, > затем пересчитываем x0,x1,y0,y1 и получаем новую фигуру. > Дано: > (sx,sy) - верхняя левая точка новой область; > (ex,ey) - нижняя правая; > MaxX - количество точек по горизонтали; > MaxY - количество точек по вертикали; > (x0,y0) - верхняя левая граница фрактала; > (x1,y1) - нижняя правая граница фрактала. > -------------------------------------------------- > Hаити: > (x0`,y0`),(x1`,y1`) - новые границы области. Я несколько упрощу себе жизнь, пусть верхняя левая точка будет с координатами (0,0). Тады: kx=(x1-x0)/MaxX ky=(y1-y0)/MaxY Тут все понятно, если хочется, то можно использовать и обратные величины - по желанию. Далее остается получить новые границы: x0'=x0+sx*kx y0'=y0+sx*ky Аналогично поступаем с точкой (x1', y1'). Кажется нигде не наврал. Если верхняя левая точка не (0,0), то надо вместо sx брать sx-Ox и т.д. ---- Рустам. -- Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5 * Origin: Talk.ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/6488524a7826.html, оценка из 5, голосов 10
|