Нарисуйте движущийся автомобиль, используя программирование компьютерной графики на C
В компьютерной графике используйте graphics.h, который предоставляет прямые функции для рисования различных координатных фигур (например, круга, прямоугольника и т. Д.). Используя эти функции, мы можем рисовать различные объекты, такие как машина, хижина, деревья и т. Д. В этой программе мы будем рисовать движущуюся машину, используя линии и круги.
Функции, используемые в программе:
- delay (n): эта функция используется для удержания вывода программы в течение небольшого периода времени, поскольку обработка выполняется очень быстро, поэтому используйте ее, чтобы увидеть результат.
- setcolor (n): функция из заголовочного файла graphics.h, которая устанавливает цвет указателя (курсора). В компьютерной графике есть несколько предопределенных цветов. Здесь n - номер цвета.
- line (x1, y1, x2, y2): функция из заголовочного файла graphics.h, которая рисует линию с (x1, y1) в качестве первой координаты линии и (x2, y2) в качестве второй координаты линии.
- circle (x, y, r): функция из заголовочного файла graphics.h, которая рисует круг с центром (x, y) и радиусом r.
Example 1: This example create a moving car without using cleardevice() method.
// C program to draw a moving car. This // program run in gcc compiler having // graphics.h library installed #include <graphics.h> #include <stdio.h> // Function to draw moving car void draw_moving_car( void ) { int i, j = 0, gd = DETECT, gm; // Passed three arguments to initgraph // function to initialize graphics mode initgraph(&gd, &gm, "" ); for (i = 0; i <= 420; i = i + 10) { // Set color of car as red setcolor(RED); // Thease lines for bonnet and // body of car line(0 + i, 300, 210 + i, 300); line(50 + i, 300, 75 + i, 270); line(75 + i, 270, 150 + i, 270); line(150 + i, 270, 165 + i, 300); line(0 + i, 300, 0 + i, 330); line(210 + i, 300, 210 + i, 330); // For left wheel of car circle(65 + i, 330, 15); circle(65 + i, 330, 2); // For right wheel of car circle(145 + i, 330, 15); circle(145 + i, 330, 2); // Line left of left wheel line(0 + i, 330, 50 + i, 330); // Line middle of both wheel line(80 + i, 330, 130 + i, 330); // Line right of right wheel line(210 + i, 330, 160 + i, 330); delay(100); // To erase previous drawn car, draw // the whole car at same possition // but color using black setcolor(BLACK); // Lines for bonnet and body of car line(0 + i, 300, 210 + i, 300); line(50 + i, 300, 75 + i, 270); line(75 + i, 270, 150 + i, 270); line(150 + i, 270, 165 + i, 300); line(0 + i, 300, 0 + i, 330); line(210 + i, 300, 210 + i, 330); // For left wheel of car circle(65 + i, 330, 15); circle(65 + i, 330, 2); // For right wheel of car circle(145 + i, 330, 15); circle(145 + i, 330, 2); // Line left of left wheel line(0 + i, 330, 50 + i, 330); // Line middle of both wheel line(80 + i, 330, 130 + i, 330); // Line right of right wheel line(210 + i, 330, 160 + i, 330); } getch(); closegraph(); } // Driver code int main() { draw_moving_car(); return 0; } |
Выход:
Пример 2: В этом примере используется метод cleardevice () для очистки экрана.
// C program to draw a moving car. This // program run in gcc compiler having // graphics.h library installed #include <graphics.h> #include <stdio.h> // Function to draw moving car void draw_moving_car( void ) { int i, j = 0, gd = DETECT, gm; // Passed three arguments to initgraph // function to initialize graphics mode initgraph(&gd, &gm, "" ); for (i = 0; i <= 420; i = i + 10) { // Set color of car as red setcolor(RED); // Thease lines for bonnet and // body of car line(0 + i, 300, 210 + i, 300); line(50 + i, 300, 75 + i, 270); line(75 + i, 270, 150 + i, 270); line(150 + i, 270, 165 + i, 300); line(0 + i, 300, 0 + i, 330); line(210 + i, 300, 210 + i, 330); // For left wheel of car circle(65 + i, 330, 15); circle(65 + i, 330, 2); // For right wheel of car circle(145 + i, 330, 15); circle(145 + i, 330, 2); // Line left of left wheel line(0 + i, 330, 50 + i, 330); // Line middle of both wheel line(80 + i, 330, 130 + i, 330); // Line right of right wheel line(210 + i, 330, 160 + i, 330); delay(100); // To erase previous drawn car // use cleardevice() function cleardevice(); } getch(); closegraph(); } // Driver code int main() { draw_moving_car(); return 0; } |
Выход:
Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями теории CS для собеседований по SDE с помощью курса теории CS по доступной для студентов цене и будьте готовы к работе в отрасли.