На этом уроке мы научимся рисовать графические орнаменты на сиОписание алгоритма рисования графического оранмента на си
Задается процедура рисования одной узорной плитки одного элемента орнамента Экран заполняется узорными плитками.
В процедуру рисования плитки мы передаем координаты верхнего левого угла и размер плитки.
При написании программы полезными буду уроки:Графика в Си и Процедуры и функции в Си
Чтобы заполнить экран узорными плитками используется вложенный цикл for . Внешний цикл про
бегаем по всем строкам (координата y ), внутренний цикл для каждой строки пробегаем по всем столбцам (координата x).
Пример программы на си для рисования графического орнамента
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
// процедура для рисования одной плитки с координатами верхнего левого угла x, y и размера size
void pl (int x, int y, int size)
{
setcolor(15);
circle(x+size/2, y+size/2, size/2);
circle(x+size/2, y+size/2, size/4);
circle(x+size/2, y+size/2, size/8);
line (x+size/2,y,x+size/2,y+size );
line (x,y+size/2,x+size,y+size/2 );
}
main()
{
int i,j;// перменные для циклов
int k=10; // количество плиток
int size;// размер плитки
initwindow(600, 600);// инициализируем графическое окно
size=600/k;
// пробегаемся по всем строкам
for (i=0; i<=k; i++)
{
// пробегаемся по всем столбцам
for (j=0;j<=k;j++)
{
// рисуем плитку
pl(j*size,i*size, size);
}
}
getch();
closegraph();
}
На заметку.
1. Пусть нам нужно нарисовать объект размером шириной xmax и высотой ymax.
Сам объект можно задать координатами левого верхнего угла или координатами центра.
Если объект задан координатами верхнего левого угла x, y, то
координаты центра x+xmax/2 , y +ymax/2
координаты правого нижнего x+xmax, y+ymax
Если объект задан координатами центра x,y, то
координаты левого верхнего угла x-xmax/2, y-ymax/2
координаты правого нижнего угла x+xmax/2 , y +ymax/2
Задания для самостоятельной работы:
1. Создайте свой узор в процедуре pl. В качестве параметра предавайте цвет узора
Полезно почитать по теме графика в Си
Графика в Си
Графическая программа на Си Узоры концентрическими окружностями
Графическая программа на Си Анимация на Си
Поделиться
Нет комментариев. Ваш будет первым!