欧美日韩在线第一页-欧美日韩在线观看精品-欧美日韩在线观看一区二区-欧美日韩在线免费看-欧美日韩在线视频不卡一区二区三区

編程代碼
新聞詳情

萬花模擬器(C/C++基礎(chǔ))

發(fā)布時(shí)間:2021-01-11 10:55:18 瀏覽次數(shù):2918

/****************************

還記得小時(shí)候玩的萬花尺么?好好玩,各種不同的點(diǎn)距能畫出各種各樣形狀圖形。

C語言程序萬花尺模擬

函數(shù)功能:每隔5秒隨機(jī)生成萬花圖形 并自動(dòng)保存作圖參數(shù)以及圖形到當(dāng)前目錄,圖像格式為jpg

提示:

相關(guān)參數(shù)范圍可以自行設(shè)置,用自定義mySetRand函數(shù)設(shè)置作圖尺寸范圍

注意:

內(nèi)圓半徑不能大于外圓半徑,內(nèi)圓作圖點(diǎn)不能大于內(nèi)圓半徑

*****************************/

/*以下是完整代碼,可自行個(gè)性化更改參數(shù)*/

#include<time.h>

#include<stdio.h>

#include<math.h>

#include<conio.h>

#include<graphics.h>

#include<wchar.h>

int mySetRand(int num, int min, int max);

#define PI 3.1415926536

int main()

{


int k = 0;

wchar_t s[255] = { NULL };

int R; // 靜圓半徑

int r; // 動(dòng)圓半徑

int dr; // 動(dòng)圓上的作圖點(diǎn)到圓心的距離

while (1)

{

//產(chǎn)生一個(gè)100-395之間的隨機(jī)數(shù)

R = mySetRand(1, 100, 395);

r = R - mySetRand(1, 5, 95);

dr = r - mySetRand(1,2, r-5);


// 求執(zhí)行次數(shù)(最小公倍數(shù)/靜圓半徑)

int m = R, n = r;

int tmp;

while (n != 0)

{

tmp = m % n;

m = n;

n = tmp;

}

double maxdegree = r / m * 2 * PI;

//清屏

//cleardevice();

system("cls");


initgraph(800, 610);

setbkcolor(RGB(200, 200, 200));

// 設(shè)置作圖原點(diǎn)坐標(biāo),使其在窗口中心畫圖

setorigin(400, 300);


// 開始繪圖

int x, y;

for (double degree = 0; degree < maxdegree; degree += 0.01)

{

x = (int)(dr * cos(degree*(double(R) / r - 1)) + (R - r) * cos(degree));

y = (int)(dr * sin(degree*(double(R) / r - 1)) - (R - r) * sin(degree));

putpixel(x, y, RGB(255,255,0));

}


//歸位原點(diǎn)坐標(biāo)

setorigin(0, 0);

_stprintf_s(s, _T("作圖參數(shù):外圓半徑%.3d像素\\內(nèi)圓半徑%.3d像素\\作圖點(diǎn)到圓心距離%.3d像素"), R, r, dr);

settextstyle(20, 0, _T("黑體"));

settextcolor(RED);

outtextxy(60, 587, s);

//保存圖形到當(dāng)前目錄

k++;

_stprintf_s(s, _T("%.6d.jpg"), k);

saveimage(s);

//畫面停留5秒后,清屏重新畫另一個(gè)圖

Sleep(5000);

closegraph();

}

return 0;


}

//指定范圍隨機(jī)數(shù)產(chǎn)生

//num產(chǎn)生個(gè)數(shù),產(chǎn)生范圍min到max(包括min和max)

int mySetRand(int num, int min, int max)

{

int *p_num = &num;

int *p_min = &min;

int *p_max = &max;

int a = 0;

int p1 = 0, p2 = 0;

if ((*p_num)<0 || (*p_min>*p_max))

{

printf("最大值與最小值反過來了?\n元素個(gè)數(shù)為負(fù)數(shù)了?");

getchar();

return -1;

}

srand((unsigned int)time(0));

for (size_t i = 0; i < *p_num; i++)

{

a = rand();

if (*p_min == 0)

{

p2 = a % (*p_max + 1);

}

else if (*p_min>0)

{

p1 = a / (*p_max - *p_min + 1);

p2 = a - p1*(*p_max - *p_min + 1) + *p_min;

}

else

{

printf("處理出錯(cuò)!");

getchar();

return -2;

}

if (p2>*p_max || p2<*p_min)

{

printf("數(shù)據(jù)有誤!");

getchar();

}


}

return p2;

}


//部分代碼截圖以及效果圖展現(xiàn)如下

萬花模擬器(C/C++基礎(chǔ))

萬花模擬器(C/C++基礎(chǔ))

萬花模擬器(C/C++基礎(chǔ))

萬花模擬器(C/C++基礎(chǔ))

萬花模擬器(C/C++基礎(chǔ))

萬花模擬器(C/C++基礎(chǔ))

萬花模擬器(C/C++基礎(chǔ))

萬花模擬器(C/C++基礎(chǔ))

萬花模擬器(C/C++基礎(chǔ))
在線客服 雙翌客服
客服電話
  • 0755-23712116
  • 13310869691
主站蜘蛛池模板: 日本一级成人毛片免费观看| 国产精品视频网| 广东毛片| 欧美一区福利| 女的被到爽的羞羞视频| 久久88香港三级| 色骚综合| 国产精品白浆精子流水合集| 国产精品视频人人做人人爱| 欧美性综合| 97超巨香蕉在线亚洲精选| 亚洲一区在线观看视频| 欧美精品亚洲精品日韩一区| 精品一区二区三区在线视频观看| 欧美日韩在线第一页| s级毛片| 亚洲 自拍 欧美 另类小说| 欧美激情一区二区三区不卡| 国产精品乳摇在线播放| 高清欧美不卡一区二区三区| 青草视频国产| 中文字幕亚洲综合久久202| 日本特黄绿像大片免费看| 色播欧美| 免费永久在线观看黄网| 国产高清成人吃奶成免费视频| 成人在线观看国产| 国产人碰人摸人爱视频| 日韩第六页| 一本久道热中字伊人| 久久青青草原精品影院| 亚洲黄色三级视频| 欧美亚洲一二三区| 国产精品亚洲第五区在线| 黄色片在线观看视频| 国产99久久九九精品免费| 久久亚洲私人国产精品va| 亚洲 欧美 自拍 另类 欧美| 9丨精品国产高清自在线看| 日本黄色免费网址| 亚洲国产精品第一区二区三区|