Рисование окружности. Лабораторная работа №11

Содержание

Слайд 2

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

void Circle(HDC hdc, int cx, int cy, int size) {
HPEN hPen;
hPen

Рисование окружности void Circle(HDC hdc, int cx, int cy, int size) {
= CreatePen(PS_SOLID, 2, RGB(255, 0, 0));
SelectObject(hdc, hPen);
Ellipse(hdc, cx - size, cy - size, cx + size, cy + size);
DeleteObject(hPen);
}

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
// TODO: Добавьте сюда любой код прорисовки,
// использующий HDC...
Circle(hdc, 200, 160, 80);
EndPaint(hWnd, &ps);
}
break;

Слайд 3

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

void Cross(HDC hdc, int cx, int cy, int size) {
HPEN hPen;
hPen

Рисование креста void Cross(HDC hdc, int cx, int cy, int size) {
= CreatePen(PS_SOLID, 2, RGB(0, 255, 0));
SelectObject(hdc, hPen);
MoveToEx(hdc, cx - size, cy, NULL);
LineTo(hdc, cx + size, cy);
MoveToEx(hdc, cx, cy - size, NULL);
LineTo(hdc, cx, cy + size);
DeleteObject(hPen);
}

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
// TODO: Добавьте сюда любой код прорисовки, использующий HDC...
Cross(hdc, 200, 160, 80);
EndPaint(hWnd, &ps);
}
break;

Слайд 4

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

void Triangle(HDC hdc, int cx, int cy, int size) {
HPEN hPen;
hPen

Рисование треугольника void Triangle(HDC hdc, int cx, int cy, int size) {
= CreatePen(PS_SOLID, 2, RGB(0, 0, 255));
SelectObject(hdc, hPen);
MoveToEx(hdc, cx, cy - size, NULL);
LineTo(hdc, cx + size, cy + size);
LineTo(hdc, cx - size, cy + size);
LineTo(hdc, cx, cy - size);
DeleteObject(hPen);
}

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
// TODO: Добавьте сюда любой код прорисовки, использующий HDC...
Triangle(hdc, 200, 160, 80);
EndPaint(hWnd, &ps);
}
break;

Слайд 5

Рисование треугольника 2

void Triangle2(HDC hdc, int cx, int cy, int size) {
int

Рисование треугольника 2 void Triangle2(HDC hdc, int cx, int cy, int size)
x1 = cx - size;
int y1 = cy - size;
int x2 = cx + size;
int y2 = cy - size;
int x3 = cx;
int y3 = cy + size;
HPEN hPen;
hPen = CreatePen(PS_SOLID, 2, RGB(0, 0, 255));
SelectObject(hdc, hPen);
MoveToEx(hdc, x1, y1, NULL);
LineTo(hdc, x2, y2);
LineTo(hdc, x3, y3);
LineTo(hdc, x1, y1);
DeleteObject(hPen);
}

Triangle2 (hdc, 200, 160, 80);

Слайд 6

Image1

void Image1(HDC hdc, int cx, int cy, int size) {
int x1 =

Image1 void Image1(HDC hdc, int cx, int cy, int size) { int
cx;
int y1 = cy - size;
int x2 = cx + size;
int y2 = cy + size;
int x3 = cx;
int y3 = cy + size / 2;
int x4 = cx - size;
int y4 = cy + size;
HPEN hPen;
hPen = CreatePen(PS_SOLID, 2, RGB(0, 0, 255));
SelectObject(hdc, hPen);
MoveToEx(hdc, x1, y1, NULL);
LineTo(hdc, x2, y2);
LineTo(hdc, x3, y3);
LineTo(hdc, x4, y4);
LineTo(hdc, x1, y1);
DeleteObject(hPen);
}

Слайд 10

Image 5 – Функция вызывает функцию

Image 5 – Функция вызывает функцию

Слайд 11

Рекурсия

Рекурсия

Слайд 12

Рекурсия

Рекурсия

Слайд 13

Рекурсия

Рекурсия

Слайд 14

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

void Cross(HDC hdc, int cx, int cy, int size) {
HPEN hPen;
hPen

Рисование креста void Cross(HDC hdc, int cx, int cy, int size) {
= CreatePen(PS_SOLID, 2, RGB(0, 255, 0));
SelectObject(hdc, hPen);
MoveToEx(hdc, cx - size, cy, NULL);
LineTo(hdc, cx + size, cy);
MoveToEx(hdc, cx, cy - size, NULL);
LineTo(hdc, cx, cy + size);
DeleteObject(hPen);
}

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
// TODO: Добавьте сюда любой код прорисовки, использующий HDC...
Cross(hdc, 200, 160, 80);
EndPaint(hWnd, &ps);
}
break;

Слайд 15

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

void RecursiveCross(HDC hdc, int cx, int cy, int size) {
Cross(hdc,

Рисование рекурсивного креста void RecursiveCross(HDC hdc, int cx, int cy, int size)
cx, cy, size);
if (size < 2) {
return;
}
RecursiveCross(hdc, cx - size, cy, size / 2);
}

case WM_PAINT: {
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
RecursiveCross(hdc, 200, 160, 80);
EndPaint(hWnd, &ps);
}

Слайд 16

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

void RecursiveCross(HDC hdc, int cx, int cy, int size) {
Cross(hdc,

Рисование рекурсивного креста void RecursiveCross(HDC hdc, int cx, int cy, int size)
cx, cy, size);
if (size < 10) {
return;
}
RecursiveCross(hdc, cx, cy - size, size / 2);
}

RecursiveCross(hdc, 200, 160, 80);

Слайд 17

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

void RecursiveCross(HDC hdc, int cx, int cy, int size) {
Cross(hdc,

Рисование рекурсивного креста void RecursiveCross(HDC hdc, int cx, int cy, int size)
cx, cy, size);
if (size < 10) {
return;
}
RecursiveCross(hdc, cx - size, cy, size / 2);
RecursiveCross(hdc, cx, cy - size, size / 2);
}…
RecursiveCross(hdc, 200, 160, 80);

Слайд 18

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

void RecursiveCross(HDC hdc, int cx, int cy, int size) {
Cross(hdc,

Рисование рекурсивного креста void RecursiveCross(HDC hdc, int cx, int cy, int size)
cx, cy, size);
if (size < 10) {
return;
}
RecursiveCross(hdc, cx - size, cy, size / 2);
RecursiveCross(hdc, cx, cy - size, size / 2);
}…
RecursiveCross(hdc, 200, 160, 80);

Слайд 19

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

void RecursiveCross(HDC hdc, int cx, int cy, int size) {
Cross(hdc,

Рисование рекурсивного креста void RecursiveCross(HDC hdc, int cx, int cy, int size)
cx, cy, size);
if (size < 10) {
return;
}
RecursiveCross(hdc, cx - size, cy, size / 2);
RecursiveCross(hdc, cx + size, cy, size / 2);
}…
RecursiveCross(hdc, 200, 160, 80);

Слайд 20

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

void RecursiveCross(HDC hdc, int cx, int cy, int size) {
Cross(hdc,

Рисование рекурсивного креста void RecursiveCross(HDC hdc, int cx, int cy, int size)
cx, cy, size);
if (size < 10) {
return;
}
RecursiveCross(hdc, cx - size, cy, size / 2);
RecursiveCross(hdc, cx + size, cy, size / 2);
}…
RecursiveCross(hdc, 200, 160, 80);

Слайд 21

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

void RecursiveCross(HDC hdc, int cx, int cy, int size) {
Cross(hdc,

Рисование рекурсивного креста void RecursiveCross(HDC hdc, int cx, int cy, int size)
cx, cy, size);
if (size < 10) {
return;
}
RecursiveCross(hdc, cx - size, cy, size / 2);
RecursiveCross(hdc, cx, cy - size, size / 2);
RecursiveCross(hdc, cx + size, cy, size / 2);
}

RecursiveCross(hdc, 200, 160, 80);

Слайд 22

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

void RecursiveCross(HDC hdc, int cx, int cy, int size) {
Cross(hdc,

Рисование рекурсивного креста void RecursiveCross(HDC hdc, int cx, int cy, int size)
cx, cy, size);
if (size < 10) {
return;
}
RecursiveCross(hdc, cx - size, cy, size / 2);
RecursiveCross(hdc, cx, cy - size, size / 2);
RecursiveCross(hdc, cx + size, cy, size / 2);
}

RecursiveCross(hdc, 200, 160, 80);

Слайд 23

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

void RecursiveCross(HDC hdc, int cx, int cy, int size) {
Cross(hdc,

Рисование рекурсивного креста void RecursiveCross(HDC hdc, int cx, int cy, int size)
cx, cy, size);
if (size < 10) {
return;
}
RecursiveCross(hdc, cx - size, cy, size / 2);
RecursiveCross(hdc, cx, cy - size, size / 2);
RecursiveCross(hdc, cx + size, cy, size / 2);
RecursiveCross(hdc, cx, cy + size, size / 2);
}

RecursiveCross(hdc, 200, 160, 80);

Слайд 24

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

void Triangle(HDC hdc, int cx, int cy, int size) {
HPEN hPen;
hPen

Рисование треугольника void Triangle(HDC hdc, int cx, int cy, int size) {
= CreatePen(PS_SOLID, 2, RGB(0, 0, 255));
SelectObject(hdc, hPen);
MoveToEx(hdc, cx, cy - size, NULL);
LineTo(hdc, cx + size, cy + size);
LineTo(hdc, cx - size, cy + size);
LineTo(hdc, cx, cy - size);
DeleteObject(hPen);
}

Triangle(hdc, 200, 160, 80);

Слайд 25

Рисование рекурсивной фигуры с треугольником
void RecursiveTriangle(HDC hdc, int cx, int cy, int

Рисование рекурсивной фигуры с треугольником void RecursiveTriangle(HDC hdc, int cx, int cy,
size) {
Triangle(hdc, cx, cy, size);
if (size < 10) {
return;
}
RecursiveTriangle(hdc, cx, cy - size, size / 2);
}…
RecursiveTriangle(hdc, 200, 160, 80);

Слайд 26

Рисование рекурсивной фигуры с треугольником
void RecursiveTriangle(HDC hdc, int cx, int cy, int

Рисование рекурсивной фигуры с треугольником void RecursiveTriangle(HDC hdc, int cx, int cy,
size) {
Triangle(hdc, cx, cy, size);
if (size < 10) {
return;
}
RecursiveTriangle(hdc, cx, cy - size, size / 2);
RecursiveTriangle(hdc, cx + size, cy + size, size / 2);
}…
RecursiveTriangle(hdc, 200, 160, 80);

Слайд 27

Рисование рекурсивной фигуры с треугольником

void RecursiveTriangle(HDC hdc, int cx, int cy, int

Рисование рекурсивной фигуры с треугольником void RecursiveTriangle(HDC hdc, int cx, int cy,
size) {
Triangle(hdc, cx, cy, size);
if (size < 10) {
return;
}
RecursiveTriangle(hdc, cx, cy - size, size / 2);
RecursiveTriangle(hdc, cx + size, cy + size, size / 2);
}…
RecursiveTriangle(hdc, 200, 160, 80);

Слайд 28

Рисование рекурсивной фигуры с треугольником

void RecursiveTriangle(HDC hdc, int cx, int cy, int

Рисование рекурсивной фигуры с треугольником void RecursiveTriangle(HDC hdc, int cx, int cy,
size) {
Triangle(hdc, cx, cy, size);
if (size < 10) {
return;
}
RecursiveTriangle(hdc, cx, cy - size, size / 2);
RecursiveTriangle(hdc, cx + size, cy + size, size / 2);
RecursiveTriangle(hdc, cx - size, cy + size, size / 2);
}

RecursiveTriangle(hdc, 200, 160, 80);

Слайд 29

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

void Circle(HDC hdc, int cx, int cy, int size) {
HPEN hPen;
hPen

Рисование окружности void Circle(HDC hdc, int cx, int cy, int size) {
= CreatePen(PS_SOLID, 2, RGB(255, 0, 0));
SelectObject(hdc, hPen);
Ellipse(hdc, cx - size, cy - size, cx + size, cy + size);
DeleteObject(hPen);
}

Circle(hdc, 200, 160, 80);

Слайд 30

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

void RecursiveCircle(HDC hdc, int cx, int cy, int size) {
Circle(hdc,

Рисование рекурсивной окружности void RecursiveCircle(HDC hdc, int cx, int cy, int size)
cx, cy, size);
if (size < 10) {
return;
}
RecursiveCircle(hdc, cx, cy - size, size / 2);
}…
RecursiveCircle(hdc, 200, 160, 80);

Слайд 31

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

void RecursiveCircle(HDC hdc, int cx, int cy, int size) {
Circle(hdc,

Рисование рекурсивной окружности void RecursiveCircle(HDC hdc, int cx, int cy, int size)
cx, cy, size);
if (size < 10) {
return;
}
RecursiveCircle(hdc, cx, cy - size, size / 2);
RecursiveCircle(hdc, cx + size, cy, size / 2);
}…
RecursiveCircle(hdc, 200, 160, 80);

Слайд 32

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

void RecursiveCircle(HDC hdc, int cx, int cy, int size) {
Circle(hdc,

Рисование рекурсивной окружности void RecursiveCircle(HDC hdc, int cx, int cy, int size)
cx, cy, size);
if (size < 10) {
return;
}
RecursiveCircle(hdc, cx, cy - size, size / 2);
RecursiveCircle(hdc, cx + size, cy, size / 2);
RecursiveCircle(hdc, cx, cy + size, size / 2);
}…
RecursiveCircle(hdc, 200, 160, 80);

Слайд 33

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

void RecursiveCircle(HDC hdc, int cx, int cy, int size) {
Circle(hdc,

Рисование рекурсивной окружности void RecursiveCircle(HDC hdc, int cx, int cy, int size)
cx, cy, size);
if (size < 10) {
return;
}
RecursiveCircle(hdc, cx, cy - size, size / 2);
RecursiveCircle(hdc, cx + size, cy, size / 2);
RecursiveCircle(hdc, cx, cy + size, size / 2);
RecursiveCircle(hdc, cx - size, cy, size / 2);
}…
RecursiveCircle(hdc, 200, 160, 80);

Слайд 35

Фракталы

Фракталы

Слайд 37

Рисование треугольника 2

void Triangle2(HDC hdc, int cx, int cy, int size) {
int

Рисование треугольника 2 void Triangle2(HDC hdc, int cx, int cy, int size)
x1 = cx - size;
int y1 = cy - size;
int x2 = cx + size;
int y2 = cy - size;
int x3 = cx;
int y3 = cy + size;
HPEN hPen;
hPen = CreatePen(PS_SOLID, 2, RGB(0, 0, 255));
SelectObject(hdc, hPen);
MoveToEx(hdc, x1, y1, NULL);
LineTo(hdc, x2, y2);
LineTo(hdc, x3, y3);
LineTo(hdc, x1, y1);
DeleteObject(hPen);
}

Triangle2 (hdc, 200, 160, 80);

Слайд 38

Рисование рекурсивной фигуры

void RecursiveImage1_1(HDC hdc, int cx, int cy, int size) {
Triangle2(hdc,

Рисование рекурсивной фигуры void RecursiveImage1_1(HDC hdc, int cx, int cy, int size)
cx, cy, size);
if (size < 20) {
return;
}
RecursiveImage1_1(hdc, cx - size, cy - size, size / 2);
}

case WM_PAINT: {
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
RecursiveImage1_1 (hdc, 200, 160, 80);
EndPaint(hWnd, &ps);
}
break;

Слайд 39

Задача 1.1. Нарисуйте

Задача 1.1. Нарисуйте

Слайд 40

Задача 1.2. Нарисуйте

Задача 1.2. Нарисуйте

Слайд 41

Задача 1.3. Нарисуйте

Задача 1.3. Нарисуйте

Слайд 42

Задача 2.1. Нарисуйте

Задача 2.1. Нарисуйте

Слайд 43

Задача 2.2. Нарисуйте

Задача 2.2. Нарисуйте

Слайд 44

Задача 3.1.*. Нарисуйте

Задача 3.1.*. Нарисуйте

Слайд 45

Задача 3.2*. Нарисуйте

Задача 3.2*. Нарисуйте

Слайд 47

Image2 рекурсивный

Image2 рекурсивный

Слайд 48

Задача 4.1. - нарисуйте

Задача 4.1. - нарисуйте

Слайд 49

Задача 4.2. - нарисуйте

Задача 4.2. - нарисуйте

Слайд 51

Image3 рекурсивный

Image3 рекурсивный

Слайд 52

Задача 5* - нарисуйте

Задача 5* - нарисуйте

Слайд 53

Варианты (Для вдохновения)

Варианты (Для вдохновения)
Имя файла: Рисование-окружности.-Лабораторная-работа-№11.pptx
Количество просмотров: 43
Количество скачиваний: 0