使用计算机图形学创建哆啦A梦卡通字符的程序
计算机图形学是提高编码技能的重要学科。许多事情可以使用计算机图形来实现。例如 - 汽车动画、卡通字符等等。在本文中,卡通字符哆啦A梦是使用计算机图形创建的。
用 C 实现
在 C 中, graphics.h函数用于绘制不同的形状(如圆形、矩形等),以不同的格式(不同的字体和颜色)显示文本(任何消息)。通过使用 graphics.h,可以制作程序、动画和游戏。这些对初学者很有用。
使用的功能:
- setcolor(n) : graphics.h 头文件中的一个函数,用于设置指针(光标)的颜色。
- line(int x1, int y1, int x2, int y2) : Line函数用于从点 (x1, y1) 到点 (x2, y2) 即 (x1, y1) 和 (x2, y2) 绘制一条线) 是线的端点。下面给出的代码画了一条线。
- setfillstyle(pattern, color) :头文件 graphics.h 包含setfillstyle()函数,它设置当前的填充图案和填充颜色。
- floodfill(pattern, color) :函数用于填充封闭区域。当前的填充图案和填充颜色用于填充该区域。
下面是用 C 语言绘制卡通字符哆啦A梦的实现:
C
// C program to implement
// the above approach
#include
#include
#include
// Driver code
int main()
{
int gd = DETECT, gm;
initgraph(&gd, &gm, "C:\\turboc3\\bgi");
setfillstyle(SOLID_FILL, CYAN);
// Head Outer Circle
circle(500, 200, 100);
// Head Inner Circle
circle(500, 212, 88);
floodfill(502, 102, 15);
setfillstyle(SOLID_FILL, CYAN);
// Body Outer Circle
circle(500, 400, 100);
// Body Inner Circle
circle(500, 388, 88);
floodfill(502, 498, 15);
setfillstyle(SOLID_FILL, RED);
// NOSE
circle(502, 214, 10);
floodfill(504, 216, 15);
// Left Eye
circle(460, 170, 15);
// Right Eye
circle(540, 170, 15);
// Left Mustache Middle
// Line
line(430, 214, 380, 214);
// Left Mustache Upper
// Line
line(430, 214, 380, 196);
// Left Mustache Lower
// Line
line(430, 214, 380, 234);
// Right Mustache Middle
// Line
line(570, 214, 620, 214);
// Right Mustache Upper
// Line
line(570, 214, 620, 196);
// Right Mustache Lower
// Line
line(570, 214, 620, 234);
// Nose-Mouth Connector
line(502, 224, 502, 240);
// Mouth Horizental Line
line(465, 240, 535, 240);
// Mouth Tangent Line
line(465, 240, 502, 260);
// Mouth Tangent Line
line(502, 260, 535, 240);
setfillstyle(SOLID_FILL, CYAN);
// Right Up Hand
line(500, 300, 650, 320);
// Right Low Hand
line(500, 300, 650, 340);
// Right Hand Joining
line(650, 320, 650, 340);
floodfill(645, 332, 15);
setfillstyle(SOLID_FILL, CYAN);
// Left Up Hand
line(500, 300, 350, 320);
// Left Down Hand
line(500, 300, 350, 340);
// Left Hand Join
line(350, 320, 350, 340);
floodfill(355, 332, 15);
circle(665, 331, 15);
circle(335, 331, 15);
// Pocket Horizental
line(445, 380, 555, 380);
// Pocket Tangent
line(445, 380, 500, 420);
// Pocket Tangent
line(500, 420, 555, 380);
setfillstyle(SOLID_FILL, RED);
// Bell Pad Upper Horizental
line(430, 298, 570, 298);
// Bell Pad Lower Horizental
line(430, 308, 570, 308);
// Bell Pad Left Join
line(430, 298, 430, 308);
// Bell Pad Right Join
line(570, 298, 570, 308);
floodfill(432, 302, 15);
floodfill(568, 302, 15);
floodfill(500, 307, 15);
setfillstyle(SOLID_FILL,
YELLOW);
// Bell
circle(500, 323, 15);
floodfill(502, 325, 15);
setcolor(BLACK);
// Inner Bell Upper Line
line(485, 323, 515, 323);
// Inner Bell Upper Line
line(485, 328, 515, 328);
setcolor(WHITE);
// Left Leg Left Line
line(450, 480, 450, 550);
// Left Leg Right Line
line(470, 490, 470, 550);
// Right Leg Right Line
line(550, 480, 550, 550);
// Right Leg Left Line
line(530, 490, 530, 550);
// Left Leg Pad
rectangle(440, 550, 480, 570);
// Right Leg Pad
rectangle(520, 550, 560, 570);
// Left Leg Color
setfillstyle(SOLID_FILL, CYAN);
floodfill(460, 500, 15);
// Right Leg Color
setfillstyle(SOLID_FILL, CYAN);
floodfill(540, 500, 15);
getch();
closegraph();
return 0;
}
输出: