自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

開發(fā) 后端
還記得小時(shí)候玩的萬花尺么?好好玩,各種不同的點(diǎn)距能畫出各種各樣形狀圖形。C語言程序萬花尺模擬,函數(shù)功能:每隔5秒隨機(jī)生成萬花圖形 并自動保存作圖參數(shù)以及圖形到當(dāng)前目錄,圖像格式為jpg

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

C語言程序萬花尺模擬

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

提示:

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

注意:

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

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

 

  1. #include  
  2. #include  
  3. #include  
  4. #include  
  5. #include  
  6. #include  
  7. int mySetRand(int num, int minint max);  
  8. #define PI 3.1415926536  
  9. int main()  
  10.  
  11. int k = 0;  
  12. wchar_t s[255] = { NULL };  
  13. int R; // 靜圓半徑  
  14. int r; // 動圓半徑  
  15. int dr; // 動圓上的作圖點(diǎn)到圓心的距離  
  16. while (1)  
  17.  
  18. //產(chǎn)生一個(gè)100-395之間的隨機(jī)數(shù)  
  19. R = mySetRand(1, 100, 395);  
  20. r = R - mySetRand(1, 5, 95);  
  21. dr = r - mySetRand(1,2, r-5);  
  22. // 求執(zhí)行次數(shù)(最小公倍數(shù)/靜圓半徑)  
  23. int m = R, n = r;  
  24. int tmp;  
  25. while (n != 0)  
  26.  tmp = m % n;  
  27. m = n;  
  28. n = tmp;  
  29.  
  30. double maxdegree = r / m * 2 * PI;  
  31. //清屏  
  32. //cleardevice();  
  33. system("cls");  
  34. initgraph(800, 610);  
  35. setbkcolor(RGB(200, 200, 200));  
  36. // 設(shè)置作圖原點(diǎn)坐標(biāo),使其在窗口中心畫圖  
  37. setorigin(400, 300);  
  38. // 開始繪圖  
  39. int x, y;  
  40. for (double degree = 0; degree < maxdegree; degree += 0.01)  
  41.  
  42. x = (int)(dr * cos(degree*(double(R) / r - 1)) + (R - r) * cos(degree));  
  43. y = (int)(dr * sin(degree*(double(R) / r - 1)) - (R - r) * sin(degree));  
  44. putpixel(x, y, RGB(255,255,0));  
  45.  
  46. //歸位原點(diǎn)坐標(biāo)  
  47. setorigin(0, 0);  
  48. _stprintf_s(s, _T("作圖參數(shù):外圓半徑%.3d像素\\內(nèi)圓半徑%.3d像素\\作圖點(diǎn)到圓心距離%.3d像素"), R, r, dr);  
  49. settextstyle(20, 0, _T("黑體")); 
  50.  settextcolor(RED);  
  51. outtextxy(60, 587, s);  
  52. //保存圖形到當(dāng)前目錄  
  53. k++;  
  54. _stprintf_s(s, _T("%.6d.jpg"), k);  
  55. saveimage(s);  
  56. //畫面停留5秒后,清屏重新畫另一個(gè)圖  
  57. Sleep(5000);  
  58. closegraph();  
  59.  
  60. return 0;  
  61.  
  62. //指定范圍隨機(jī)數(shù)產(chǎn)生  
  63. //num產(chǎn)生個(gè)數(shù),產(chǎn)生范圍minmax(包括minmax 
  64. int mySetRand(int num, int minint max 
  65.  
  66. int *p_num = &num;  
  67. int *p_min = &min 
  68. int *p_max = &max 
  69. int a = 0;  
  70. int p1 = 0, p2 = 0;  
  71. if ((*p_num)<0 || (*p_min>*p_max))  
  72.  
  73. printf("最大值與最小值反過來了?\n元素個(gè)數(shù)為負(fù)數(shù)了?");  
  74. getchar();  
  75. return -1;  
  76.  
  77. srand((unsigned int)time(0));  
  78. for (size_t i = 0; i < *p_num; i++)  
  79.  
  80. a = rand(); 
  81.  if (*p_min == 0) 
  82.  
  83.  
  84. p2 = a % (*p_max + 1);  
  85.  
  86. else if (*p_min>0)  
  87.  
  88. p1 = a / (*p_max - *p_min + 1);  
  89. p2 = a - p1*(*p_max - *p_min + 1) + *p_min; 
  90.   
  91. else  
  92.  printf("處理出錯!");  
  93. getchar(); 
  94.  return -2;  
  95.  
  96. if (p2>*p_max || p2<*p_min)  
  97.  printf("數(shù)據(jù)有誤!");  
  98. getchar();  
  99.  
  100.  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ǔ))

 

 

責(zé)任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2011-07-14 17:45:06

CC++

2011-07-15 00:47:13

C++多態(tài)

2011-07-13 18:24:18

C++

2020-07-30 12:40:35

CC++編程語言

2011-06-21 10:00:21

預(yù)處理指令

2010-02-06 09:53:26

C++ void

2010-02-01 16:13:15

C++繼承

2010-01-28 13:57:19

C++指針基礎(chǔ)

2011-07-05 13:24:03

C++

2009-04-11 15:12:24

.Net MicroI2C總線模擬器

2009-09-14 09:59:19

CCNA模擬器介紹CCNA

2022-04-01 13:10:20

C++服務(wù)器代碼

2023-12-06 13:48:00

C++代碼

2010-01-19 14:45:35

C++語言

2011-07-15 01:38:56

C++this指針

2010-02-02 09:43:27

C++存儲區(qū)域

2010-01-19 10:16:40

C++程序

2021-12-10 12:20:06

LinuxCC++

2021-02-21 12:09:32

C 語言基礎(chǔ)語法

2010-01-21 14:07:14

CC++聲明
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號