使用C語言來畫出皮卡丘的教程(附代碼)
在C語言中使用圖形庫畫圖需要引入graphics.h庫,我們可以通過代碼實現(xiàn)畫出一個可愛的皮卡丘,將皮卡丘的繪制分為以下部分:耳朵、臉部、眼睛、嘴巴、手臂、腿部、尾巴,下面我們就來學習如何使用C語言編寫畫皮卡丘的代碼。
1. 簡介
皮卡丘,是游戲《寶可夢》中的一種虛構生物。通過使用C語言的圖形庫,我們可以通過代碼實現(xiàn)畫出一個可愛的皮卡丘。下面,我們就來學習如何使用C語言編寫畫皮卡丘的代碼。
2. 環(huán)境配置
2.1. 需要的庫
在C語言中使用圖形庫畫圖需要引入graphics.h庫,該庫是Turbo C++ IDE自帶的庫,所以在Windows平臺下,我們需要安裝Turbo C++編譯器。
2.2. 安裝Turbo C++
可以使用Turbo C++ IDE 3.2版或后續(xù)版本,這種IDE已經(jīng)停止開發(fā)多年,但是它包含了一個非常好用的圖形庫graphics.h。我們可以從以下網(wǎng)址中下載到Turbo C++ IDE:https://turboc.codeplex.com/
安裝完成之后,我們就可以開始編寫繪制皮卡丘的代碼。
3. 畫皮卡丘
我們可以將皮卡丘的繪制分為以下部分:耳朵、臉部、眼睛、嘴巴、手臂、腿部、尾巴。下面,我們按照這些部分逐一講解繪制的過程和代碼實現(xiàn)。
3.1. 耳朵
皮卡丘的耳朵是黃色的,上面有黑色的線條勾勒出輪廓。我們可以通過繪制一個圓的方式來制作耳朵,然后在圓的基礎上通過畫線條來勾勒出耳朵的輪廓。
// 畫右耳朵 setfillstyle(SOLID_FILL, YELLOW); // 設置填充顏色 circle(325, 135, 40); // 畫圓 floodfill(325, 135, WHITE); // 填充顏色 // 畫右耳朵輪廓 setcolor(BLACK); // 設置畫線條的顏色 arc(325, 135, 50, 140, 40); // 畫圓弧 arc(345, 109, 315, 160, 35);
我們可以在畫左耳朵的時候使用 symmetry function 將繪制左右耳朵的代碼合并。
3.2. 臉部
皮卡丘的臉部是黃色的,下巴部分往下凸出,我們可以通過畫圓來制作皮卡丘的臉部。
同時,臉的底部還需要加上兩個圓弧勾勒出下巴的形狀。
// 畫臉 setfillstyle(SOLID_FILL, YELLOW); // 設置填充顏色 circle(325, 220, 70); // 畫圓 floodfill(325, 220, WHITE); // 填充顏色 // 畫下巴 setcolor(BLACK); // 設置畫線條的顏色 arc(325, 230, 0, 180, 35); // 畫圓弧 arc(325, 230, 180, 360, 35);
通過調整圓的半徑,可以實現(xiàn)分別畫大臉和小臉的效果。
3.3. 眼睛
這里我們需要繪制兩個相同的眼睛,眼睛有黑色邊框,中間填充成白色,接著在白色中間描繪出黑色的瞳孔。我們可以通過畫圓和畫線條的方式來完成繪制。
當然,如果你覺得眼睛不夠可愛,可以為它加上眼皮和睫毛。
// 畫眼睛 setcolor(BLACK); // 設置畫線條的顏色 circle(276, 189, 7); // 畫圓 circle(276, 189, 2); setfillstyle(SOLID_FILL, WHITE); // 設置填充顏色 circle(276, 189, 6); // 畫圓 floodfill(276, 189, BLACK); // 填充顏色 setcolor(BLACK); circle(276, 189, 4); // 畫右眼 setcolor(BLACK); circle(374, 189, 7); circle(374, 189, 2); setfillstyle(SOLID_FILL, WHITE); circle(374, 189, 6); floodfill(374, 189, BLACK); setcolor(BLACK); circle(374, 189, 4);
我們可以通過設置畫布顏色,來給眼睛加上眼皮。
// 畫眼皮 setfillstyle(SOLID_FILL,RGB(250, 195, 165)); pieslice(276, 208, 267, 293, 25); // 畫上眼皮 pieslice(374, 208, 247, 272, 25); setfillstyle(SOLID_FILL,BLACK); pieslice(276, 215, 267, 293, 25); // 畫下眼皮 pieslice(374, 215, 247, 272, 25);
3.4. 嘴巴
皮卡丘的嘴巴是粉紅色的,嘴巴總體呈現(xiàn)為“∩ ”的形態(tài),嘴唇勾勒出一個“M”的形狀。我們可以通過畫圓和畫線條來完成嘴巴的繪制。
// 畫嘴巴 setfillstyle(SOLID_FILL, RGB(248, 118, 91)); pieslice(325, 250, 0, 180, 32); // 畫弧形 setcolor(BLACK); arc(325, 250, 0, 180, 32); // 畫嘴唇 setfillstyle(SOLID_FILL, RGB(241, 65, 103)); pieslice(325, 250, 0, 90, 32); pieslice(325, 250, 180, 270, 32);
3.5. 手臂
繪制皮卡丘的手臂需要繪制兩只手臂,我們可以使用正弦函數(shù)和余弦函數(shù)來實現(xiàn)手臂的曲線,然后連接點畫成曲線。
// 畫左手臂 setcolor(BLACK); moveto(250, 270); for(int i = 0; i <= 90; i++) { double angle = i * PI / 180.0; int x = (int)(250 + 40 * cos(angle)); int y = (int)(270 + 30 * sin(angle)); lineto(x, y); } // 畫右手臂 moveto(400, 270); for(int i = 0; i <= 90; i++) { double angle = i * PI / 180.0; int x = (int)(400 + 40 * cos(angle)); int y = (int)(270 + 30 * sin(angle)); lineto(x, y); } // 連接左右手臂 moveto(250, 270); lineto(400, 270);
3.6. 腿部
皮卡丘的腿有兩只,我們可以參考手臂的繪制方式來繪制腿部。
// 畫左腿 moveto(300, 340); for(int i = 0; i <= 90; i++) { double angle = i * PI / 180.0; int x = (int)(300 + 20 * cos(angle)); int y = (int)(340 + 30 * sin(angle)); lineto(x, y); } // 畫右腿 moveto(350, 340); for(int i = 0; i <= 90; i++) { double angle = i * PI / 180.0; int x = (int)(350 + 20 * cos(angle)); int y = (int)(340 + 30 * sin(angle)); lineto(x, y); } // 連接左右腿 moveto(300, 340); lineto(350, 340);
3.7. 尾巴
皮卡丘的尾巴是黃色的,尾巴末端呈現(xiàn)閃電狀,我們可以通過畫線條的方式來完成尾巴的繪制。
// 畫尾巴 setcolor(BLACK); moveto(150, 310); lineto(180, 297); lineto(190, 310); lineto(190, 320); lineto(180, 333); lineto(150, 320);
4. 總代碼
下面是完整的繪制皮卡丘的代碼。
#include<graphics.h> #include<math.h> #define PI 3.141592654 int main() { initwindow(600, 450); // 創(chuàng)建畫布 // 畫右耳朵 setfillstyle(SOLID_FILL, YELLOW); circle(325, 135, 40); floodfill(325, 135, WHITE); // 畫右耳朵輪廓 setcolor(BLACK); arc(325, 135, 50, 140, 40); arc(345, 109, 315, 160, 35); // 畫左耳朵 setfillstyle(SOLID_FILL, YELLOW); circle(225, 135, 40); floodfill(225, 135, WHITE); // 畫左耳朵輪廓 setcolor(BLACK); arc(225, 135, 40, 130, 40); arc(195, 109, 20, 50, 35); // 畫臉 setfillstyle(SOLID_FILL, YELLOW); circle(325, 220, 70); floodfill(325, 220, WHITE); // 畫下巴 setcolor(BLACK); arc(325, 230, 0, 180, 35); arc(325, 230, 180, 360, 35); // 畫左眼 setcolor(BLACK); circle(276, 189, 7); circle(276, 189, 2); setfillstyle(SOLID_FILL, WHITE); circle(276, 189, 6); floodfill(276, 189, BLACK); setcolor(BLACK); circle(276, 189, 4); // 畫右眼 setcolor(BLACK); circle(374, 189, 7); circle(374, 189, 2); setfillstyle(SOLID_FILL, WHITE); circle(374, 189, 6); floodfill(374, 189, BLACK); setcolor(BLACK); circle(374, 189, 4); // 畫眼皮 setfillstyle(SOLID_FILL,RGB(250, 195, 165)); pieslice(276, 208, 267, 293, 25); pieslice(374, 208, 247, 272, 25); setfillstyle(SOLID_FILL,BLACK); pieslice(276, 215, 267, 293, 25); pieslice(374, 215, 247, 272, 25); // 畫嘴巴 setfillstyle(SOLID_FILL, RGB(248, 118, 91)); pieslice(325, 250, 0, 180, 32); setcolor(BLACK); arc(325, 250, 0, 180, 32); // 畫嘴唇 setfillstyle(SOLID_FILL, RGB(241, 65, 103)); pieslice(325, 250, 0, 90, 32); pieslice(325, 250, 180, 270, 32); // 畫左手臂 setcolor(BLACK); moveto(250, 270); for(int i = 0; i <= 90; i++) { double angle = i * PI / 180.0; int x = (int)(250 + 40 * cos(angle)); int y = (int)(270 + 30 * sin(angle)); lineto(x, y); } // 畫右手臂 moveto(400, 270); for(int i = 0; i <= 90; i++) { double angle = i * PI / 180.0; int x = (int)(400 + 40 * cos(angle)); int y = (int)(270 + 30 * sin(angle)); lineto(x, y); } // 連接左右手臂 moveto(250, 270); lineto(400, 270); // 畫左腿 moveto(300, 340); for(int i = 0; i <= 90; i++) { double angle = i * PI / 180.0; int x = (int)(300 + 20 * cos(angle)); int y = (int)(340 + 30 * sin(angle)); lineto(x, y); } // 畫右腿 moveto(350, 340); for(int i = 0; i <= 90; i++) { double angle = i * PI / 180.0; int x = (int)(350 + 20 * cos(angle)); int y = (int)(340 + 30 * sin(angle)); lineto(x, y); } // 連接左右腿 moveto(300, 340); lineto(350, 340); // 畫尾巴 setcolor(BLACK); moveto(150, 310); lineto(180, 297); lineto(190, 310); lineto(190, 320); lineto(180, 333); lineto(150, 320); getch(); closegraph(); // 關閉畫布 return 0; }
使用上述代碼,就可以畫出一個可愛的皮卡丘了!
5. 總結
通過使用C語言繪制皮卡丘,我們了解了C語言調用圖形庫進行圖形。
到此這篇關于使用C語言來畫出皮卡丘的教程附代碼的文章就介紹到這了,更多相關C語言畫皮卡丘內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Ubuntu16.04下配置VScode的C/C++開發(fā)環(huán)境
這篇文章主要介紹了Ubuntu16.04下配置VScode的C/C++開發(fā)環(huán)境的教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03VScode搭建C/C++開發(fā)環(huán)境的詳細過程
最近迷上了vscode,小巧美觀,最主要的是全平臺,但是vscode并不是ide,必須得自己配置環(huán)境,下面這篇文章主要給大家介紹了關于VScode搭建C/C++開發(fā)環(huán)境的詳細過程,需要的朋友可以參考下2023-06-06C++?this原理與可變參數(shù)及友元函數(shù)友元類分步詳解用法
可變參數(shù)模板(variadic?templates)是C++11新增的強大的特性之一,它對模板參數(shù)進行了高度泛化,能表示0到任意個數(shù)、任意類型的參數(shù),這篇文章主要介紹了C++?this原理與可變參數(shù)及友元函數(shù)友元類2022-11-11