Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб раб6.doc
Скачиваний:
0
Добавлен:
21.11.2019
Размер:
284.67 Кб
Скачать

1.3. Рисование текста

Для рисования текста используется метод DrawText. Для прорисовки сначала создается объект Font со шрифтом типа Lucida Sans Unicode размером 15 единиц. Затем при помощи метода DrawString строка текста «Программирование на С#» выводится на экран.

// создаем объект Graphics

Graphics g = this.CreateGraphics ();

// создаем объект Font

Font titieFont = new Font("Lucida Sans Unicode", 15);

// рисуем текст красным цветом

g.DrawString("Программирование на С#",titleFont, new SolidBrush{Color.Red), point.X, point.Y);

1.4. Рисование графических примитивов

Для рисования линий или контуров фигур

  1. Создайте ссылку на графический объект, который будет использоваться для рисования.

Graphics g = button1.CreateGraphics();

  1. Создайте экземпляр класса Pen, который будет использоваться для рисования линий

Pen myPen = new Pen(Color.Red, 2);

  1. Вызовите метод, изображающий необходимую фигуру. Наиболее часто используемые методы.

g.DrawLine(myPen, 1, 1, 45, 65); //линия

g.DrawBezier(myPen, 15, 15, 30, 30, 45, 30, 87, 20); //кривая Безье

g.DrawEllipse(myPen, Rectangle(33, 45, 40, 50)); //эллипс

g.DrawRectangle(myPen, Rectangle(33, 45, 40, 50));

Для рисования закрашенных фигур

  1. Объявите графический объект

Graphics g = button1.CreateGraphics();

  1. Создайте экземпляр кисти Brush.

SolidBrush myBrush = new SolidBrush(Color.Red);

  1. Вызовите метод, изображающий необходимую фигуру.

g.FillRectangle(myBrush, Rectangle(50, 50, 100, 100)); //прямоугольник

g.FillPie(myBrush, Rectangle(110, 110, 300, 300), 0, 90); //четверть круга

Для того, чтобы нарисовать линию, необходимо выполнить следующие действия:

// создаем объект Реn

Реп BlaсkРеn = new Pen (Color.Black, 3) ;

// создаем объект Graphics

Graphics g = this.CreateGraphics();

// рисуем линию

g. DrawLine (BlaсkРеn, PreviousPoint, point);

Для того, чтобы нарисовать эллипс, необходимо выполнить следующие действия:

// создаем объект Pen

Pen BlaсkРеn = new Pen (Color .Black, 3);

// создаем объект Graphics

Graphics g = this.CreateGraphics();

// рисуем эллипс

g. DrawEllipse (BlaсkРеn, PreviousPoint.X, PreviousPoint.Y, point.X — PreviousPoint.X, point.Y — PreviousPoint.Y)

3. Задания для самостоятельного выполнения

Выполнить задание согласно варианту:

    1. Выбрать необходимые компоненты.

    2. Разработать алгоритм решения задачи.

    3. Разработать приложение.

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

Декартовая система координат

1. Улитка Паскаля:

  x=A·cos2(t)+B·cos(t)   y=A·cos(t)·sin(t)+B·sin(t)

Коэффициенты: A>B, B>0;

Область определения функции: 0t<2·;

Рассмотреть случаи, когда B2·A; A<B<2A; A>B.

2. Спирограф

  x=(A-B)·cos(t)+D·cos(w)   y=(A-B)·sin(t)-D·sin(w),

Коэффициенты: w=A·t/B, D<B<A;

Область определения функции: 0t2··n, n равно B, деленному на наибольший общий делитель (НОД) B и A.

3. Кардиоида

  x=A·cos(t)·(1+cos(t))   y=A·sin(t)·(1+cos(t))

Область определения функции: 0t<2·;

Коэффициенты: A>0.

4. Эпициклоида

  x=(A+B)·cos(t)-A·cos((A+B)·t/A)   y=(A+B)·sin(t)-A·sin((A+B)·t/A),

Коэффициенты: A>0, B>0;

Рассмотреть следующие случаи:

а) если В/А есть целое, положительное число, то  0t<2·);

в) если В/А=p/q, где p и q - целые положительные взаимно простые числа, то 0t<2·q·.

5. Конхоида Никомеда

  x=A+L·cos(t)   y=A·tg(t)+L·sin(t),

Область определения функции: при -/2<t</2 - правая ветвь; при /2<t<3·/2 - левая ветвь;

Коэффициенты: A>0, L>0;

Рассмотреть случаи, когда L<A, L>A, L=A.

6. “Бабочка

  x=sin(A·t+B)·cos(C·t)   y=sin(A·t+B)·sin(D·t),

Область определения функции: 0t2·;

Коэффициенты: A>0, B>0, C>0, D>0.

7. Декартов лист

  x =3·A·t/(t3+1)   y=3·A·t2/(t3+1)

Область определения функции: -∞<t<+∞.

8. Циклоида

  x=A·t-B·sin(t)   y=A-B·cos(t)

Область определения функции: 0t2·;

Рассмотреть случаи: B>A, B<A, B=A.

9. Гипоциклоида

  x=(B-A)·sin(A·t/B)-C·sin((B-A)·t/B)   y=(B-A)·cos(A·t/b)+C·cos((B-A)·t/B),

Область определения функции: 0t2·.

10. Трактриса

  x=A·(cos(t)+ln(tg(t/2))   y=A·sin(t)

Область определения функции: 0t2·.

11. Цепная линия

  y=A·(ex/2+e-x/2)/2.

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

12. Циссоида Диоклеса

  =A·(cos-1(φ)-cos(φ)).

13. Диаграмма направленности

  =L·(1+cos(φ))·sin(·A·sin(φ)/L)/(2··A·sin(φ)), A>0, 0φ<2·.

14. Крест "Cruciform"

  =2·A·sin-1(2φ).

15. Триссектриса

  =A·(4·cos(φ)-cos-1(φ)).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]