Узоры окружности

12 сентября 2018 - Администратор

Графические узоры на си
Рассмотрим программу для рисования узоров на си. Программа будет рисовать узор из концентрических окружностей
Концентрические окружности это набор окружностей, которые имеют общий центр и различный радиус(возможно разный цвет).
Для того чтобы составлять различные узоры из концентрических окружностей необходимо написать процедуру рисования концентрических окружностей с заданным центром. При написании программы полезными будут уроки Графика в Си.  и Процедуры и функции в Си.
В процедуре рисования концентрических окружностей будут следующие входные параметры
x – координата x  центра окружностей
y-  координата y  центра окружностей
k – количество окружностей
r- изменение радиуса
Чтобы нарисовать концентрические окружности используется цикл for. Переменная цикла будет задавать текущий номер окружности.Чтобы нарисовать окружность в Си использучется оператор circle(x,y,radius)
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
// узор из концентрических окружностей центр узора x и y.k -количество окружностей. r - изменение радиуса
void uzor(int x, int y, int k, int r)
{
int i; // перменная цикла
int color; // перменная для цвета окружности
int radius; // радиус окружности
// пробегаемся  по всем окружностям
for (i=1; i<=k; i++)
{
// определяем цвет  окружности
color=i%15;
// определяем радиус окружности
radius=i*r;
setcolor(color);      // устанавливаем цвет
circle(x, y, radius); // окружность с центром x и y и радиусом radius
}
 }

В дальнейшем в программе мы можем вызывать данную процедуру несколько раз, меняя ее входные параметры.
Пример полного решения графический узор на си
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>

// узор из концентрических окружностей центр узора x и y . k количество окружностей. r изменение радиуса
void uzor(int x, int y, int k, int r)
{
int i; // переменная цикла
int color; // переменная для цвета окружности
int radius; // радиус окружности
// пробегаемся  по всем окружностям
for (i=1; i<=k; i++)
{
// определяем цвет  окружности
color=i%15;
// определяем радиус окружности
radius=i*r;
setcolor(color);      // устанавливаем цвет
circle(x, y, radius); // окружность с центром x и  y и радиусом 10
}
 }
main()
{
initwindow(300, 300);
uzor (100,150,20, 5);
uzor (200,150,20, 5);
getch();
closegraph();
}

графический рисунок узор на си

На заметку:
1. Чтобы создать собственную процедуру в си используем
void имя процедуры (список параметров через запятую)
{
}

Задания для самостоятельной работы:
1. Попробуйте, используя программу нарисовать картину из 4 узоров в виде креста.
2. Поменяйте узор концентрических окружностей, так, чтобы можно было задавать смещение центра окружностей 
по осям x и y. Для этого  в процедуре uzor необходимо добавить два параметра dx и dy смещение. 
При этом координаты  каждой  последующей окружности будут увеличиваться xc=xc+dx yc=yc+dy
Пример решения графической программы на си для рисования узоров концентрическими окружностями
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
// узор из концентрических окружностей центр узора x и y .
//k -количество окружностей . r - изменение радиуса
//dx -  смещение центра окружностей по оси x
//dy -  смещение центра окружностей по оис y

void uzor(int x, int y, int k, int r, int dx, int dy)
{
int i;
int color;// цвет  окружности
int radius;// радиус окружности
int xc, yc;// координаты центра окружности
xc=x;
yc=y;
// пробегаем все окружности их k
for (i=1; i<=k; i++)
{
color=i%15;//определяем цвет
radius=i*r;//определяем радиус
setcolor(color);
xc=xc+dx;// смещаем координату xc окружности
yc=yc+dy; // смещаем координату yc окружности  
circle(xc, yc, radius);// рисуем окружность
}
 }

main()
{
initwindow(400, 400);
uzor (100,200,5, 20, 5, 0);
uzor (200,200,5, 20, -5, 0);
uzor (150,150,5, 20, 0, 5);
uzor (150,250,5, 20, 0, -5);
getch();
closegraph();
}

графический узор на си

Вернуться к содержанию

Полезно почитать по теме графика в Си
Графика в Си
Графическая программа на Си Анимация на Си

Графическая программа на Си Узорный орнамент на Си

Поделиться

 
 
Комментарии (0)

Нет комментариев. Ваш будет первым!