Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум по ГММГ.pdf
Скачиваний:
12
Добавлен:
17.03.2015
Размер:
1.01 Mб
Скачать

Министерство образования и науки Российской Федерации Московский государственный университет дизайна и технологии

Секция САПР

Лабораторный практикум по курсу

"Геометрическое моделирование и машинная графика"

для студентов швейного и технологического факультетов

асс. Пылова А.С. к.т.н., стар. пр. Семёнов А.А.

Москва 2006

2

С О Д Е Р Ж А Н И Е

Введение

3

Лабораторная работа №1 "Рисование основных геометрических фи-

 

гур"

18

Лабораторная работа №2 "Работа с мышью. Графический редактор"

21

Лабораторная работа №3 "Алгоритмы построения отрезка и окруж-

 

ности"

23

Лабораторная работа №4 "Кривые Безье, Эрмита"

29

Лабораторная работа №5 "Вычисление площади и периметра

 

произвольного многоугольника"

33

Лабораторная работа №6 "Геометрические преобразования.

 

Сдвиг, масштабирование, поворот, симметрия"

35

Лабораторная работа №7 "Аппроксимация. Mетод наименьших квад-

 

ратов. Интерполяция. Метод Лагранжа"

52

Лабораторная работа №8 "Закраска произвольных областей"

59

Словарь основных терминов среды Visual Basic

66

Список использованной литературы

69

3

Введение

Компьютерная графика - сложная и разнообразная дисциплина. Для изучения, прежде всего, ее необходимо разбить на обозримые части, приняв во внимание, что конечным продуктом компьютерной графики является изображение. Это изображение может, разумеется, использоваться для разнообразных целей. В машинной графике фундаментальным связующим звеном является изображение; следовательно, мы должны рассмотреть:

как изображения представляются в машинной графике;

как изображения готовятся для визуализации;

как предварительно подготовленные изображения рисуются;

как осуществляется взаимодействие с изображением.

Хотя во многих алгоритмах в качестве геометрических данных, описывающих изображения, выступают многоугольники и ребра, каждый многоугольник или ребро в свою очередь может быть представлен своими вершинами. Таким образом, точки являются фундаментальными строительными блоками для представления геометрических данных. Две точки представили бы отрезок, или ребро, а совокупность из трех или более точек - многоугольник. Выводимое изображение обычно формируется с помощью операций поворота, переноса, масштабирования и вычисления различных проекций данных.

Типы графических устройств

Существует много разнообразных устройств для вывода изображений, построенных с помощью машинной графики. В качестве типичных примеров можно назвать перьевые графопостроители, точечно-матричные, электростатические и лазерные печатающие устройства, фильмирующие устройства, дисплеи на запоминающей трубке, векторные дисплеи с регенерацией изображения и растровые дисплеи на электронно-лучевой трубке (ЭЛТ). Ограничимся обсуждением дисплеев на ЭЛТ, поскольку в большинстве систем машинной графики используются дисплеи подобного типа и именно в этом типе дисплеев воплощены наиболее фундаментальные концепции вывода изображения.

Существует 3 основных типа дисплеев на базе ЭЛТ:

1.запоминающие ЭЛТ с прямым копированием изображения (рисование отрезками);

2.векторные дисплеи с регенерацией изображения (рисование отрезками);

3.растровые сканирующие дисплеи с регенерацией (поточечное рисование).

Развитие электронной техники позволило использовать в одном дисплее несколько методов изображения.

Графические дисплеи на запоминающей трубке. Запоминающую ЭЛТ можно рассматри-

вать как ЭЛТ, покрытую люминофором с длительным временем послесвечения. Линия или литера остаются на ней видимыми в течение длительного времени (до одного часа), прежде чем станут окончательно неразличимыми. Чтобы нарисовать отрезок на дисплее, интенсивность электронного луча увеличивают до такой величины, которая вызывает запоминание следа луча на люминофоре. Для стирания изображения на всю трубку подают специальное напряжение, снимающее свечение люминофора. Экран вспыхивает и принимает исходное (темное) состояние. Поскольку вспыхивает вся трубка, то стираются все отрезки и литеры. Таким образом, стереть отдельные линии литеры нельзя, и изображение динамического движения или анимация невозможны. Иногда для обеспечения возможности ограниченной регене-

4

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

Дисплей на запоминающей трубке способен изображать фактически неограниченное количество векторов, а мерцание изображения вообще невозможно. Это векторный дисплей, или дисплей с произвольным сканированием, поэтому отрезок (вектор) может быть нарисован непосредственно из одной адресуемой точки в любую другую.

Векторные графические дисплеи с регенерацией изображения. В противоположность дис-

плею на запоминающей трубке в векторном (рисующем отрезки или векторы) дисплее с регенерацией изображения на базе ЭЛТ используется люминофор с очень коротким временем послесвечения. Из-за того что время послесвечения люминофора мало, изображение на ЭЛТ за секунду должно многократно перерисовываться или регенерироваться.

Для векторного дисплея с регенерацией требуется кроме ЭЛТ еще два элемента: дисплейный буфер и дисплейный контроллер. Дисплейный буфер - это непрерывный участок памяти, содержащий всю информацию, необходимую для вывода изображения на ЭЛТ. Функция дисплейного контроллера заключается в том, чтобы циклически обрабатывать эту информацию со скоростью регенерации.

Растровые графические дисплеи с регенерацией изображения. Как дисплеи на запоми-

нающих ЭЛТ, так и дисплеи с произвольным сканированием являются устройствами рисования отрезков, т. е. отрезок прямой может быть нарисован непосредственно из любой адресуемой точки в любую другую. Графическое устройство на растровой ЭЛТ работает по-другому. Растровое устройство можно рассматривать как матрицу дискретных ячеек (точек), каждая из которых может быть подсвечена. Таким образом, оно является точечно-рисующим устройством. Невозможно, за исключением специальных случаев, непосредственно нарисовать отрезок прямой из одной адресуемой точки или пиксела в матрице в другую адресуемую точку или пиксел. Отрезок можно лишь аппроксимировать последовательностями точек (пикселов), близко лежащих к реальной траектории отрезка.

Чаще всего для графических устройств с растровой ЭЛТ используется буфер кадра. Буфер кадра представляет собой большой непрерывный участок памяти компьютера. Для каждой точки, или пиксела, в растре отводится как минимум один бит памяти. Эта память называется битовой плоскостью. Для квадратного растра размером 512x512 требуется 218, или 262144 бита памяти в одной битовой плоскости. Изображение в буфере кадра строится побитно. Из-за того что бит памяти имеет только два состояния (двоичное 0 или 1), имея одну битовую плоскость, можно получить лишь черно-белое изображение. Битовая плоскость является цифровым устройством, тогда как растровая ЭЛТ - аналоговое устройство, для работы которого требуется электрическое напряжение. Поэтому при считывании информации из буфера кадра и ее выводе на графическое устройство с растровой ЭЛТ должно происходить преобразование из цифрового представления в аналоговый сигнал. Такое преобразование выполняет цифроаналоговый преобразователь (ЦАП). Каждый пиксел буфера кадра должен быть считан и преобразован, прежде чем он будет отображен на растровой ЭЛТ. Цвета или полутона серого цвета могут быть введены в буфер кадра путем использования дополнительных битовых плоскостей. Интенсивность каждого пиксела на ЭЛТ управляется содержимым соответствующих пикселов в каждой из N битовых плоскостей. В соответствующую позицию регистра загружается бинарная величина (0 или 1) из каждой плоскости. Двоичное число, получившееся в результате, интерпретируется как уровень интенсивности между 0 и 2N-1. С помощью ЦАП это число преобразуется в напряжение между 0 (темный экран) и 2N-1 (максимальная интенсив-

5

ность свечения). Всего можно получить 2N уровней интенсивности.

Поскольку существует три основных цвета, можно реализовать простой цветной буфер кадра с тремя битовыми плоскостями, по одной для каждого из основных цветов. Каждая битовая плоскость управляет индивидуальной электронной пушкой для каждого из трех основных цветов, используемых в видеотехнике. Три основных цвета, комбинируясь на ЭЛТ, дают восемь цветов. Эти цвета и соответствующие им двоичные коды приведены в табл. 1.1. Схема простого цветового растрового буфера кадра показана на рис. 1.1.

 

Красный

Зеленый

Синий

Черный

0

0

0

Красный

1

0

0

Зеленый

0

1

0

Синий

0

0

1

Желтый

1

1

0

Голубой

0

1

1

Пурпурный

1

0

1

Белый

1

1

1

Таблица 1.1. Цветовые комбинации для простого буфера кадра с тремя битовыми плоскостями.

Цвет

Психофизиологическое представление света определяется цветовым тоном, насыщенностью и светлотой. Цветовой тон позволяет различать цвета, а насыщенность - определять степень ослабления (разбавления) данного цвета белым цветом. У чистого цвета она равна 100% и уменьшается по мере добавления белого. Насыщенность ахроматического цвета составляет 0%, а его светлота равна интенсивности этого света.

6

Психофизическими эквивалентами цветового тона, насыщенности и светлоты являются доминирующая длина волны, чистота и яркость. Электромагнитная энергия одной длины волны в видимом спектре дает монохроматический цвет. Обычно встречаются не чистые монохроматические цвета, а их смеси. В основе трехкомпонентной теории света служит предположение о том, что в центральной части сетчатки находятся три типа чувствительных к цвету колбочек. Первый воспринимает длины волн, лежащие в середине видимого спектра, т. е. зеленый цвет; второй - длины волн у верхнего края видимого спектра, т. е. красный цвет; третий - короткие волны нижней части спектра, т.е. синий. Относительная чувствительность глаза максимальна для зеленого цвета и минимальна для синего. Если на все три типа колбочек воздействует одинаковый уровень энергетической яркости (энергия в единицу времени), то свет кажется белым. Естественный белый свет содержит все длины волн видимого спектра; однако ощущение белого света можно получить, смешивая любые три цвета, если ни один из них не является линейной комбинацией двух других. Это возможно благодаря физиологическим особенностям глаза. Такие три цвета называются основными.

В машинной графике применяются две системы смешения основных цветов: аддитивная - красный, зеленый, синий (RGB) и субтрактивная - голубой, пурпурный, желтый (CMY). Они изображены на рис. 5.1. Цвета одной системы являются дополнительными к другой: голубой - к красному, пурпурный - к зеленому, желтый - к синему. Дополнительный цвет - это разность белого и данного цвета: голубой это белый минус красный, пурпурный - белый минус зеленый, желтый - белый минуc синий. Хотя красный можно считать дополнительным к голубому, по традиции красный, зеленый и синий считаются основными цветами, а голубой, пурпурный, желтый - их дополнениями. Интересно, что в спектре радуги или призмы пурпурного цвета нет, т.е. он порождается зрительной системой человека.

Для отражающих поверхностей, например типографских красок, пленок и несветящихся экранов применяется субтрактивная система CMY. В субтрактивных системах из спектра белого цвета вычитаются длины волны дополнительного цвета. Например, при отражении или пропускании света сквозь пурпурный объект поглощается зеленая часть спектра. Если получившийся свет отражается или преломляется в желтом объекте, то поглощается синяя часть спектра и остается только красный цвет. После его отражения или преломления в голубом объекте цвет становится черным, так как при этом исключается весь видимый спектр. По такому принципу работают фотофильтры.

Аддитивная цветовая система RGB удобна для светящихся поверхностей, например экранов ЭЛТ или цветных ламп.

7

Visual Basic

Лабораторные работы по курсу ГММГ предполагается выполнять на компьютере в среде программирования MS Visual Basic. Это наиболее простая для понимания среда программирования, обеспечивающая вместе с тем неплохие возможности.

Расположение основных окон в Visual Basic

Панель элементов управления Окно Формы

Окно Кода

Окно Проводника Проекта

 

Окно свойств

Список объектов формы

Список событий

Окно инструментов (ToolBox)

ЭЛЕМЕНТЫ TOOLBOX

1.Pointer ( Указатель)

3.Label ( Метка ) 5.Frame ( Рамка )

7.CheckBox ( Флажок )

9.Combo Box (Комбинированный список)

11.Horizontal Scroll Bar (Гори- (зонтальная линейка прокрутки )

13.Timer ( Таймер )

15.Directory List Box ( Список каталогов )

17.Shape ( Фигура )

19.Image ( Изображение )

8

2.Picture Box ( Рисунок ) 4.TextBox (Текстовое окно )

6.CommandButton ( Командная кнопка ) 8.Option Button ( Переключатель ) 10.List Box ( Список )

12.Vertical Scroll Bar (Вертикальная ли-

нейка прокрутки )

14.Drive List Box ( Список дисков ) 16.File List Box ( Список файлов )

18.Line ( Линия )

1. Pointer

Указатель

Указатель не является элементом управления. Во время работы с формой, если указатель подсвечен, это означает, что можно редактировать форму: “перетаскивать” на ней

объекты на другие места, изменять размеры формы или её объектов.

2. PictureBox

Рисунок

Рисунок – это как бы небольшая форма ( контейнер ) на основной форме , куда можно загрузить растровую картинку ( то есть файл в формате BMP или ICO ). Для загрузки используется свойство Picture и диалоговое окно Load Picture . Перемещая по форме объект

PictureBox, мы перемещаем и загруженную картинку.

Пример программирования. Сделать картинку, помещенную в PictureBox1, невидимой.

PictureBox1.Visible = False

3. Label

Метка

Метка – это поле, которое при создании формы можно заполнить текстом. Во время работы программы ввод текста на метку невозможен ( в отличие от текстового окна ).

Пример программирования. Сделать надпись на метке: “Начало работы”.

Label1.Caption = «Начало работы»

4. TextBox

Текстовое окно

9

Текстовое окно - это окно для ввода текста. Главное отличие текстого окна от метки в том, что изменить или дополнить уже имеющийся в окне текст можно во время ра-

боты программы непосредственно в текстовом окне.

Пример программирования. Сделать надпись в текстовом окне: “Начало работы”.

TextBox1.Text = «Начало работы»

5. Frame

Рамка

Рамка визуально объединяет объекты на форме в группу и регулирует доступ к объектам, которые она обрамляет. Перемещая рамку по форме, перемещаем и объекты, заключённые в неё. Если установить свойство рамки Visible=False, то заголовок рамки блек-

нет, а объекты, заключенные в неё, становятся недоступными.

Объект “Рамка” не реагирует на щелчок мыши. Нельзя вводить текст или загрузить картинку внутрь Рамки.

Содержимое свойства Caption будет заголовком рамки.

Пример программирования. Сделать заголовок рамки: “Начало работы”.

Frame1.Caption = «Начало работы»

6. CommandButton

Командная кнопка

Назначение командной кнопки - запуск выполнения каких-либо действий, запрограммированных ранее, например, нажатие кнопки «Стоп» ( то есть щелчок мышью

по изображению этой кнопки на форме) остановит выполнение программы, и жизнь на форме замрёт.

Пример программирования. 1). Разрешить изменять цвет командной кнопки.

CommandButton1.Style=Graphical

2).Остановить выполнение программы.

Private Sub Команда1_Click() Unload Me

End Sub

7. CheckBox

Флажок

Щелчок мыши по флажку устанавливает или сбрасывает определенный параметр: если на квадратике флажка значок Х, то параметр активен (включен). Каждый флажок на

форме работает независимо от других флажков.

Пример программирования. Установить название флажка “Italic” (Курсив)

CheckBox1.Caption=Italic

8. Option Button

Переключатель

Переключатель всегда работает в группе переключателей и позволяет выбрать какойлибо вариант из нескольких возможных. Когда один переключатель из группы активен (жирная точка в центре кружка, изображающего переключатель -визуальное тому подтвер-

ждение), остальные переключатели отключены (визуальное подтверждение отключения – пустой кружок).

Пример программирования. Выбрать вариант, обозначенный переключателем Опция1 .

OptionButton1.Value=True

 

10

9. Combo Box

Комбинированный список

Комбинированный список – это объединение текстового окна и обычного списка (см.

п.10) .

Интересны два его свойства: Text и Style.

Свойство Text может содержать текст элемента, выделенного в окне списка или текст, набранный в поле ввода.

В зависимости от величины свойства Style получаем разные виды списков. ComboBox1.Style=0 - раскрывающийся комбинированный список. Пример такого списка – поле параметров в окне Properties.

ComboBox 1.Style=1 - список показывается в окне постоянного размера, и, значит, можно вводить текст в список или выбирать элемент из списка.

ComboBox 1.Style=2 – раскрывающийся список. Первоначально такой список отображает одну строку, но щелкнув по указывающей вниз стрелке, открываем весь список, в котором можно выбрать один из элементов. Таким является список в поле “Объект” из окна кода. Пример программирования. Сделать комбинированный список раскрывающимся.

ComboBox 1.Style=2 .

10. List Box Список

Список - это перечень вариантов, выбираемых щелчком мыши.

Включенный в список вариант называется элементом списка. Если список – длинный и на экран целиком не выводится, Visual Basic автоматически добавляет линейки прокрутки (scroll bars). Для корректной работы с объектом «Список» его высота должна быть минимум три строки.

Пример программирования. Очистить список.

ListBox1.Clear

11. Horizontal Scroll Bar Горизонтальная линейка прокрутка

Горизонтальная линейка прокрутки позволяет перемещаться в горизонтальном направлении по экрану.

Пример программирования. Установить величину максимальной позиции движка на горизонтальной линейке равной 300.

HScroll1.Max=300

12. Vertical Scroll Bar Вертикальная линейка прокрутки

Вертикальная линейка прокрутки позволяет перемещаться в вертикальном направлении по экрану.

Пример программирования. Установить величину минимальной позиции движка на вертикальной линейке равной 0.

VScroll1.Min=0

13. Timer

Таймер

Таймер – это внутренние часы формы. Обычные часы отсчитывают секунды, минуты, часы, а таймер отсчитывает временные интервалы, длительность которых устанавли-

вается свойством таймера Interval.

Например, мы хотим, чтобы таймер на форме «тикал» 1 раз в секунду, тогда свойство Interval должно быть равно 1000, так как временной интервал таймера (Interval / 1000) секунд.

11

Значит, если мы хотим, чтобы таймер «тикал» 1 раз в 5 секунд , то получаем уравнение для определения величины свойства Interval: Interval/1000 = 5 секунд ,

И тогда Interval = 5000 .

Пример программирования. Установить отсчёт таймера равным 2 раза в секунду.

Timer1.Interval= 500

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

Инструменты «Список дисков», «Список каталогов» и «Список файлов» служат для диалога с файловой системой. Каждый из них позволяет управлять отдельным компонентом файловой системы. Как правило, при открытии или сохранении файла, комбинируя позиции из всех трёх списков, получаем имя требуемого файла (как бы составляем маршрут к требуемому файлу).

14. Drive List Box

Список дисков

Список дисков – это раскрывающийся список всех дисков данного компьютера. Пример программирования. Установить отсчёт таймера равным 2 раза в секунду.

Timer1.Interval= 500

15.

Directory List Box

Список каталогов

 

Список каталогов - это список всех подкаталогов в текущем каталоге.

 

Пример программирования. Установить отсчёт таймера равным 2 раза в секунду.

 

Timer1.Interval= 500

 

16.

File List Box

Список файлов

Список файлов – это список всех ( или с указанным расширением) файлов в текущем каталоге.

Пример программирования. Установить отсчёт таймера равным 2 раза в секунду.

Timer1.Interval= 500

17. Shape

Фигура

Инструмент “Фигура” позволяет по умолчанию рисовать на форме только прямоугольники. В этом случае свойство Shape для данного инструмента равно 0. В про-

грамме это записывается следующим образом: Shape1.Shape=0 .

Если требуется рисовать на форме другие фигуры, то для окружности и эллипса устанавливается

Shape1.Shape=1.

Для прямоугольника со скругленными углами Shape1.Shape=2 . Свойство BorderColor (Цвет контура) определяет цвет рисуемой фигуры.

12

Свойство BorderStyle (Стиль контура) определяет внешний вид контура фигуры (пунктир, точка-тире и т.д.) .

Пример программирования. Скруглить углы у прямоугольника. Shape1.Shape=2

Примечание: в русской версии Visual Basic имя объекта “Shape” переведено как “Форма” и поэтому всюду в программах используется это имя; но фактически это “Фигура” .

18. Line

Линия

Инструмент “Линия” позволяет рисовать на форме прямые линии. Размер и расположение линии на форме можно изменить двумя способами:

1.Мышью потянуть за концы линии и, тем самым, удлинить или укоротить её. “Схватив” мышью линию, перенести её на новое место.

2.В таблице свойств Properties изменить свойства X1,Y1,X2,Y2 . Это координаты конечных точек линии.

Свойство BorderColor (Цвет контура) определяет цвет рисуемой линии.

Свойство BorderStyle (Стиль контура) определяет внешний вид линии (пунктир, точка-тире и т.д.) .

Пример программирования. Установить один из концов линии в точку с координатами

(100,200) .

Line1.X1=100

Line1.Y1=200

Примечание: в русской версии Visual Basic имя объекта “Line” переведено как “Строка” и поэтому всюду в программах используется это имя; но фактически это “Линия” .

19. Image Изображение

Инструмент «Изображение», как и окно рисунка (PictureBox), позволяет размещать на форме рисунки (то есть загружать готовые картинки из различных файлов установкой

свойства Picture).

Файлы, из которых загружаются картинки, должны иметь форматы .BMP или .ICO . Инструмент «Изображение» имеет ценное свойство Stretch (Эластичность). Если установить Stretch=True, то растягивая мышкой рамку изображения, можно изменить размеры и, как следствие, пропорции изображения.

Пример программирования. Сделать картинку, помещенную в “Изображение1”, невиди-

мой Image1.Visible=False

Программирование графики: пиксел, цвет, система координат

Изображение на экране дисплея складывается из множества отдельных точек, которые называются пикселами (pixel – аббревиатура от английских слов «picture elements» – элементы картинки).

Каждый пиксел на экране (а значит и на форме) имеет свой цвет. Пиксел окраши-

вается смешением красного, зеленого и синего цветов разной интенсивности. А в результате получаем пикселы черного, белого, желтого и т.д. цветов. Таким образом, изображение на экране – это как бы мозаика из разноцветных точек (пикселов). В языке Visual Basic есть функция RGB( ). Её аргументы - это интенсивности цветов красного (RED), зелёного (GREEN ) и синего ( BLUE ). Из таблицы видно, что интенсивности могут изменяться в диапазоне 0 – 255.

13

Таблица цветов

Черный

RGB(0,0,0)

Красный

RGB(255,0,0)

Зеленый

RGB(0,255,0)

Синий

RGB(0,0,255)

Белый

RGB(255,255,255)

Желтый

RGB(255,255,0)

Малиновый

RGB(255,0,255)

Голубой

RGB(0,255,255)

Представим себе, что в банку накапали 255 капель красного цвета. Естественно, в банке будет краска красного цвета. Теперь добавим в банку ещё 255 капель синего цвета и получим при смешивании, как видно из таблицы, краску малинового цвета. Но ведь можно смешивать краски не только порциями по 255 капель, а добавлять произвольное количество капель краски из имеющихся в таблице.

Каждый пиксел на экране (а значит и на форме) имеет координаты. При разме-

щении картинок или просто каких-либо объектов на форме используется система координат. Присутствие системы координат проявляется при размещении первого же объекта на форме

– будь это пиксел (точка), изображение или, например, просто метка. Если посмотреть в окно свойств Properties, то обнаружим в нём следующие свойства:

Left

( Слева )

Top

( Верх )

Height

( Высота )

Width

( Ширина )

Эти четыре свойства полностью определяют положение и размеры объекта на форме, а эти же свойства самой формы определяют её положение и размеры на экране. Система координат в машинной графике отличается от привычной нам системы координат в алгебре.

Для объектов, размещённых на форме, начало системы координат находится в левом верхнем углу формы ( а начало системы координат для формы - в левом верхнем углу экрана); значения по оси X увеличиваются вправо, а по оси Y – вниз.

Свойство Left определяет смещение объекта по оси X (то есть его X-координату) , а свойство Top - по оси Y (то есть его Y-координату).

Рис. 5 Прямая в системе координат на форме

14

Рис. 6 Объект “Прямоугольник” в системе координат на форме

Основные операторы

' Нарисовать точку с координатами X=10,Y=20. PSet (10, 20), RGB(0, 0, 0)

'Нарисовать линию между точками X1=20,Y1=30 и X2=100,Y2=200 Line (20, 30)-(100, 200), RGB(0, 0, 0)

'Нарисовать прямоугольник, у которого координаты противоположных углов X1=150,Y1=30 X2=200,Y2=300

Line (150, 30)-(200, 300), RGB(0, 0, 0), B

'Нарисовать окружность с радиусом R=50 и центром в точке X=340, Y=80 Circle (340, 80), 50, RGB(0, 0, 0), , , 1

'Нарисовать сектор окружности

Circle (340, 80), 50, RGB(0, 0, 0), -0.7, -2.1 'Нарисовать окружность с "выкушенным" сектором

Circle (340, 80), 50, RGB(0, 0, 0), -2.1, -0.7

'Нарисовать эллипс, вытянутый по оси X (аспект=0.4) Circle (500, 80), 50, RGB(0, 0, 0), -2.1, -0.7, 0.4

'Нарисовать эллипс, вытянутый по оси Y (аспект=4) Circle (600, 80), 50, RGB(0, 0, 0), , , 4

Примеры основных процедур, которые используются в лабораторных работах

Пример 1. Очистить экран

Private Очистка_Click()

15

Cls

‘ Clear screen – очистка экрана

End Sub

Пример 2. Установить переменные в программе в 0, а содержимое текстовых окон очистить

Private Sub Сброс_Click()

I=0

XX=0

YY=0 Текст1.Text=” “ Текст2.Text=” “ Текст3.Text=” “

End Sub

Пример 3. Щелчком мыши по командной кнопке CommandButton1 изменить название кнопки “CommandButton1” на название «Команда1» (то есть изменить свойство Caption кнопки

CommandButton1)

Private Sub CommandButton1_Click()

CommandButton 1.Caption = «Команда1»

End Sub

Пример 4. Пример процедуры с условным оператором

Private Выбор_Click()

I=0

If I=0 Then

Текст1.Text=” 0 “ Else

Текст1.Text=” I не равно нулю “

End If

End Sub

Пример 5. На форме имеется линия с координатами конечных точек (5,100) и (500,100). Щелчком мыши по командной кнопке CommandButton1 нарисовать на форме 11 линий, параллельных оси X и отстоящих друг от друга на расстоянии 10 пикселов (Step(Шаг)=10)

Рисуем линию между точками с координатами X1=5,Y1=100 и X2=500,Y2=100, рисуем следующую линию между точками X1=5,Y1=110=(100+10) и X2=500,Y2=110 (100+10), и т.д. Процедура для рисования этих линий будет выглядеть следующим образом (используется оператор цикла For …. Next ):

Private Sub CommandButton1_Click()

For I = 0 To 100 Step 10 ‘ верхняя граница цикла