Графическая информация
<<  Формирование изображений программным способом Готовая на информатика в жизни человека картинками  >>
Кривые линии и ограничение изображения
Кривые линии и ограничение изображения
Дуга окружности
Дуга окружности
Пример с рисованием дуг
Пример с рисованием дуг
Текст примера
Текст примера
Закругление
Закругление
Кривые Безье
Кривые Безье
Математические подробности
Математические подробности
Интерфейсные подробности
Интерфейсные подробности
Мой вариант решения
Мой вариант решения
Рисование внутри контура
Рисование внутри контура
Небольшой пример
Небольшой пример
Программа для картинки
Программа для картинки

Презентация на тему: «Кривые линии и ограничение изображения». Автор: Joseph V Romanovsky. Файл: «Кривые линии и ограничение изображения.ppt». Размер zip-архива: 173 КБ.

Кривые линии и ограничение изображения

содержание презентации «Кривые линии и ограничение изображения.ppt»
СлайдТекст
1 Кривые линии и ограничение изображения

Кривые линии и ограничение изображения

Лекция 8

2 Дуга окружности

Дуга окружности

Конечно же, хочется рисовать не только прямые линии, но и … , разумеется, например, окружности. Команда arc прорисовывает (добавляет к пути) дугу окружности. Ее точный формат x y r a1 a2 arc При таких параметрах проводится дуга окружности с центром в точке (x,y) и радиусом r от угла a1 до угла a2. Дуга проводится против часовой стрелки. Для дуг, проводимых по часовой стрелке имеется команда arcn. Уточнение: до рисования дуги проводится отрезок от текущей точки до начала дуги, если вы не хотите, чтобы этот отрезок появился, установите сами правильную начальную точку.

3 Пример с рисованием дуг

Пример с рисованием дуг

Вот красивый пример — старинный восточ-ный символ Инянь, олицетворяющий соединение двух противоположных начал.

4 Текст примера

Текст примера

%! /Disk {dup cp 4 2 roll 0 rm 0 360 arc}def % полезное действие, рисует окружность данного % радиуса с центром в текущей точке /r 20 def /rh r 0.5 mul def /rhole R 0.05 mul def 300 500 T % черная часть фигуры 0 R m 0 0 R 90 270 arc % левая часть 0 RH neg RH 270 90 arc % низ правой части 0 RH dup 270 90 arcn F % верх правой части 0 RH m rhole disk F % черная точка GS 0 RH neg m rhole disk WHITE F GR % белая точка 0 LW % внешняя окружность 0 0 m R disk S showpage

5 Закругление

Закругление

Кроме непосредственного рисования дуг окружностей в Постскрипте предусмотрена возможность рисования закруглений углов. Действия arcto и arct вписывают дугу данного радиуса в заданный угол. Мы здесь рассмотрим только arct. Его формат x1 y1 x2 y2 r arct Пусть текущая точка обозначена через A, и имеются точки B=(x1,y1) и C=(x2,y2). В угол ?ABC вписывается окружность радиуса r. Действие arct проводит прямую линию по AB до точки касания и дугу окружности до точки касания на BC. Эта вторая точка касания и становится текущей.

6 Кривые Безье

Кривые Безье

Безье — это наш современник (возможно, он еще жив). Он работал инженером-проектировщиком во французской автомобильной фирме на заре компьютерных методов проектирования. Предложенное им семейство кривых оказалось очень удобно и используется не только в Постскрипте. Действие x1 y1 x2 y2 x3 y3 curveto проводит гладкую кривую, соединяющую текущую точку (x0,y0) с точкой (x3,y3), причем направление этой кривой в начальной точке совпадает с направлением на точку (x1,y1), а в конечной точке — с направлением на (x2,y2). Степень прилегания кривой к направлениям зависит от удаленности этих направляющих точек.

7 Математические подробности

Математические подробности

Кривые Безье – это частный случай полиномов Бернштейна. Для тех, кто жаждет математических подробностей: кривая Безье задается параметрически полиномами третей степени x(t) = a_x t^3 + b_x t^2 + c_x + x_0, y(t) = a_y t^3 + b_y t^2 + c_y + y_0, причем параметр t пробегает значения от 0 до 1. Контрольные точки связаны с коэффициентами следующими равенствами x1 = x_0 + c_x/3, x2 = x1 + (c_x + b_x)/3, x3 = x0 + a_x + b_x + c_x, и совершенно аналогично для y.

8 Интерфейсные подробности

Интерфейсные подробности

В программных системах, использующих Постскрипт и предназначенных для визуальных изменений графики, например, в CorelDraw и в FontLab, отрезки кривых, описываемые кривыми Безье, в режиме редактирования изображаются с двумя «булавками». Пользователь может перемещать концы этих булавок, и кривая Безье сразу же изменяется. Попробуйте сами нарисовать кривую Безье с такими «булавками»

9 Мой вариант решения

Мой вариант решения

%! /m{moveto}def /l{lineto}def LW{setlinewidth}def /GS{gsave}def /GR{grestore}def /CP{currentpoint}def /S{stroke}def /F{fill}def /BLUE{0 0 1 setrgbcolor}def /pin{GS l CP BLUE 0 LW S m CP 2 0 360 arc F GR}def /pcurveto{GS 6 copy m pin GR GS pin GR curveto S}def 200 200 m 1.5 LW 300 250 450 250 400 200 pcurveto showpage

10 Рисование внутри контура

Рисование внутри контура

Сейчас настал момент описать еще одно использование замкнутых путей. Путь может задавать область, внутри которой должна находиться видимая часть рисунка. Для того, чтобы достичь такого эффекта, нужно после построения замкнутого контура выполнить действие clip, а затем действие newpath, открывающее образование нового пути. Рисование этого нового пути (или закраска) использует ограничивающий контур и вызовет его потерю. Однако, так как ограничивающий контур входит в графическое состояние, то сохранением состояния, можно сохранить и его.

11 Небольшой пример

Небольшой пример

Что нужно сделать, чтобы несколько геометрических фигур «подсунуть друг под друга» в циклическом порядке? Если мы будем просто рисовать одну фигуру за другой, то последняя нарисованная фигура окажется верхней. Слева показано, что получилось, тонкой рамкой обведено неправильное место. Его просто поправить, если внутри рамки нарисовать заново первую фигуру. Так получен рисунок в центре. Справа показано, что так можно делать и более сложные вещи.

12 Программа для картинки

Программа для картинки

/FS{GS 0.75 setgray fill GR stroke}def /V {30 -60 rm -7.5 90 rl 15 hrl CL FS} def % клин 1.2 LW % Левая картинка: рисуются 6 закрашенных клиньев 120 340 m 6 {GS CPT V GR 60 rotate} repeat % рамка вокруг «неправильного» места, % где самый последний клин лежит выше всех GS 21 -31 rm 25 vrl 25 hrl -25 vrl CL 0.5 LW S GR % Центральная картинка: такие же клинья 260 340 m 6 {GS CPT V GR 60 rotate} repeat % потом строится та же рамка GS 21 -31 rm 25 vrl 25 hrl -25 vrl CL % но рамка не рисуется, а объявляется огранич. % контуром, и путь начинает строиться заново clip newpath 260 340 m V GR % нарисованный клин изобразился только внутри рамки showpage

«Кривые линии и ограничение изображения»
http://900igr.net/prezentacija/informatika/krivye-linii-i-ogranichenie-izobrazhenija-174036.html
cсылка на страницу
Урок

Информатика

130 тем
Слайды
900igr.net > Презентации по информатике > Графическая информация > Кривые линии и ограничение изображения