Теория недели 19.11 - 24.11.2012

Тема: Графический метод Line. 

Цель: Познакомиться с методом Line, научиться использовать его для построения отрезков, прямоугольников. 

Знать: Назначение метода Line и его возможности.

Уметь: Строить отрезки, прямоугольники. Устанавливать параметры метода: заполнение (заливка) фигуры цветом и флаги.

 

Метод Line.

 

Этот метод применяется в программировании для решения большого круга задач. Метод применяется к оъектам класса Экранная форма (Form) и Графическое окно (PictureBox). Этот метод позволяет:

 

ü  Чертить на объекте, к которому он применяется, отрезки прямых линий

 

ü  Изображать на этом объекте закрашенные или не закрашенные прямоугольники

 

Синтаксис метода таков:

 

[Имя объекта.] Line (x1,y1) - (x2,y2) [,Цвет [,Флаг]]

 

Имя объекта может отсутствовать. За ключевым словом  Line, идут параметры метода. (x1,y1) – (x2,y2) – этокоординаты левого верхнего и правого нижнего угла объекта. Цвет – устанавливается также как и для метода Pset. Флаг – это либо символ В, либо символ BF. Если установлен флаг В, рисуется прямоугольник, а если BF – закрашенный прямоугольник.

 

   В методе Line на вид прямоугольника (если флаг – В) влияют свойства, цвет контура (свойство ForeColor), стиль заполнения (свойство FillStyle), цвет заполнения (свойство FillColor). Свойство FillStyle имеет значения:

Совместное использование методов Line и Print

   Метод Print используется для выдачи чисел и строк на Объект – на форму или графическое окно. Синтаксис метода таков:

 

[Имя объекта.] Print [ПоследовательностьФрагментов]

 

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

 

   Метод Print может использоваться совместно с методом Line и с другими графическими методами, при этом строки и числа печатаются в том месте экранной формы или графического окна, где закончилось рисование объекта.

 

Например:

 

Scale (-10, 10)-(10, -10)

 

Line (-9, 0)-(-1, 7), , BF : Print "1"

 

Line (2, -7)-(8, -3), , B : Print "2"

 

Line (-5, -5)-(5, 5) : Print "3"

 

Line (-8, -8)-(-1, -8) : Print "4"

 

Line (9, 9)-(9, 1) : Print "5"

 

 Задача 1. Проект «Метод Line».  По данному программному коду определите, какой элемент дома построен.

 

Line (500, 500)-(2000, 1500), , BF

 

Line (500, 500)-(1250, 150), RGB(0, 0, 0)

 

Line -(2000, 500), RGB(0, 0, 0)

 

Line (800, 800)-(1700, 1200), RGB(200, 200, 0), BF

 

Остальные элементы добавьте сами.

 

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

 

  Задача 3. Как бы вы записали программный код, чтобы отрезок, пересекающий закрашенный прямоугольник другого цвета, проходил бы над этим прямоугольником? Под этим прямоугольником?

 

 Задача 4. Как вы думаете, что нужно сделать, чтобы числа, которые являются координатами отрезков и прямоугольников в задаче 1, измерялись бы единицами, а не сотнями и тысячами.

 

 Практические задания

 

 Задача1. Создайте проект «Line».

 

 1 этап: Постановка задачи.

 

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

 

 2 этап: Создание формы и установка свойств компонентов 

 

Элемент управления

Свойства элемента управления

Форма

Name – Form1, Caption – Line

Графическое окно

Name - Picture1

Кнопки

Name –Command1,2

Style–1

Picture – VB \ Common \ Graphics \ Bitmaps \ Tlbr_W95 \ Rectangl и Line

Линейки прокрутки

NameHScroll1,2,3

Max –2000,2000,10 Min – 0,0,1

 

 3 этап: Ввода текста программы

 

Private Sub Command1_Click()

 

Picture1.Cls

 

Picture1.DrawWidth = HScroll3

 

Picture1.Line (20, 20)-(20 + HScroll1, 20 + HScroll2), , B

 

End Sub

 

Private Sub Command2_Click()

 

Picture1.Cls

 

Picture1.DrawWidth = HScroll3

 

Picture1.Line (20, 20)-(20 + HScroll1, 20 + HScroll2)

 

End Sub

 

 

Задача2. Создайте проект «Многогранники».

 

Используя кнопки,  метки, линии создайте «картотеку» содержащую название и рисунок многогранника.

 

 Задача3. Создайте проект «Координатная плоскость». Напишите программный код к задаче: после щелчка кнопки появляется изображение координатных осей со стрелками, с нулем в начале координат, с буквами X и Y у концов стрелок и единичными отрезками.

 

 Тема: Графический метод Circle. 

 

Цель: Познакомиться с методом Circle, научиться использовать его для построения окружностей, эллипсов, дуг, секторов. 

 

Знать: Назначение метода Circle  и его возможности.

 

Уметь: Строить окружности, эллипсы, дуги, сектора. Устанавливать параметры метода.

 

 Метод Circle.

 

Этот метод применяется к тем же объектам что и метод Line. Синтаксис метода таков:

 

[Имя объекта.] Circle (x,y), Радиус [,Цвет [,Угол1, Угол2 [ ,Коэффициент сжатия ] ] ]

 

 

Имя объекта может отсутствовать. За ключевым словом  Circle, идут параметры метода. (x,y) – этокоординаты центра окружности. Радиус – радиус окружности или эллипса, Цвет – устанавливается также как и для метода Pset.

 

   Угол1, Угол2 – это начало и конец дуги или сектора,углы измеряются в радианах, их значения берутся в интервале от 0 до 2π. Нулевой угол соответствует горизонтальной оси, направленной вправо. Правило рисования дуг звучит так: «Дуга строится от угла1 к углу2 против часовой стрелки». Для того чтобы показать это наглядно, лучше всего обратиться к тригонометрической окружности. Например: Circle (100,100), 100,  ,0.5,2.6

 

   Если перед ненулевым значением ставиться знак «- », то будет нарисована не дуга, а сектор, то есть концы дуги соединяться с центром окружности.Например: Circle (100,100), 100,  ,-0.8,-2.4

 

   Коэффициент сжатия  - это положительное число, большее или меньшее единицы. Если коэффициент <1, то эллипс вытянут вдоль горизонтальной оси, если коэффициент >1, то эллипс вытянут вдоль  вертикальной оси. Если кооффициент отсутствует, по умолчанию изображается круг. Например: Circle (100,100), 100, , , , 0.3

 

   Как и в методе Line на вид фигуры влияют и свойства, цвет контура (свойство ForeColor), стиль заполнения (свойство FillStyle), цвет заполнения (свойство FillColor)

 

 Задача 1. Как Вы думаете, почему  при использовании метода Circle для рисования дуги Circle (100,100),100, ,0.5,2.6 между его параметрами стоит «лишняя» запятая, а при рисовании эллипса Circle(100,100), 100, , , , 0.3 даже три?

 

 

Задача 2. Напишите программный код для рисования флагов Японии и Турции.

 

Задача 3. Расположите строчки программного кода так, чтобы они изображали сектора в той последовательности в которой они приведены на рисунке (т.е 1, 2, 3, 4).

 

FillStyle = 3

 

FillStyle = 2

 

FillStyle = 5

 

FillStyle = 4

 

Circle (2000, 2000), 1500, , -1.6, -2.4

 

Circle (2000, 2000), 1500, , -0.8, -1.6

 

Circle (2000, 2000), 1500, , -2.4, -3.14

 

Circle (2000, 2000), 1500, , -6.28, -0.8

 

  
Практические задания

 

 Задача 1. Создать проект «Шлейф указателя мыши».

 

1 этап: Постановка задачи. При движении указателя мыши на форму рисуются окружности.

 

2 этап: Создание формы и установка свойств компонентов

 

Элемент управления

Свойства элемента управления

Form - Форма

Name – Form1

Caption –Шлейф указателя мыши

FillColor – Желтый

FillStyle - 0

 

3 этап: Ввода текста программы

 

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

 

Circle (X, Y), 100, RGB(0, 0, 0)

 

End Sub

 

 Задача 2. Дополните проект «Шлейф указателя мыши». Разработайте другие варианты шлейфов.

 

 

 

 Задача 3. Создать проект «Голосование».

 

Определите все этапы работы над проектом, установите свойства компонентов и напишите программный код.

 

Памятка. При вводе чисел в текстовые поля, необходимо учесть, что общее количество проголосовавших должно быть 100%.При построении диаграммы введите дополнительные переменные, которые переводили бы значения текстовых полей в числа. Далее проценты надо перевести в радианы (1% = 0,0628 радиан), для определения начала и конца дуги.