КОМПЬЮТЕРНАЯ 2D-ГРАФИКА

On Line операторы учебник 2D 3D модели midi


Загружаемый в буфер страницы по S.bgImage("адрес") анимированный гиф не портится рестартами. По умолчанию грузится в точку размера 1x1 на видимом (левом) краю экрана, за адресом можно указать иные размеры. Нельзя размещать оператор загрузки в цикле. Если в адресе не указан путь, то рисунки берутся из папки моделей.

МАШТАБИРОВАНИЕ


Задачи компьютерной графики часто связаны с масштабированиеи и поворотом рисунков. Приведем некоторые элементарные сведения на этот счет.

Масштаб – это функция 0<M<=1 параметра, например, высоты r объекта над линией горизонта. Линейная функция M=1–r/H хороша, когда жестко соблюдается область вариации r<H, где H – высота картинки. Заведомо больше 0 нелинейная функция M=exp(-mr/H), где m – настраиваемый коэффициент сжатия. Выпуклая функция: M=1+(1-exp(mr/H))/exp(m). Вид настраиваемой с помощью m функции масштабирования можно предлагать любой, но желательно отстроить график ее, чтобы не допустить несуразности.

Как правило, объект компьютерной графики представлен координатами левого верхнего его угла (x,y), длиной w и шириной h. Что касается длины и ширины, то их масштабирование просто, надо лишь умножить их на масштабный коэффициент M<1. Но при этом стяжка масштабируемого объекта пойдет в сторону левого верхнего угла. Если масштабируемый объект сжимается к некоторой точке (X,Y), назовем ее центром тяжести фигуры, то при длине Mw и ширине Mh координаты угла будут равны x=X-Mw/2, y=Y-Mh/2. Посмотрим вид падающего футбольного мяча при масштабировании линейной функцией.

Посмотрим вид падающего футбольного мяча при масштабировании вогнутой функцией.

Посмотрим вид падающего футбольного мяча при масштабировании выпуклой функцией.

ПОВОРОТ НА ЗАДАННЫЙ УГОЛ


Матрица вращения. Тригонометрическая ортогональная матрица поворота вектора на заданный угол α имеет вид

T(α)=
 cos(α) 
 –sin(α) 
 sin(α) 
 cos(α) 


Построим на ее основе секундомер, меняя раз в секунду положение секундной стрелки, текущие координаты острия которой будем рассчитывать по формуле z=T(α)f, f – некоторое стартовое значение координат.

Предположим теперь, что это не секундная стрелка, а фигура (полигон), который зададим тремя точками c координатами вершин в столбцовой матрице F.

Rambler's Top100