91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用C++實現萬花模擬器

發布時間:2021-10-20 15:03:40 來源:億速云 閱讀:138 作者:iii 欄目:編程語言

本篇內容介紹了“怎么用C++實現萬花模擬器”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

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

C語言程序萬花尺模擬

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

提示:

  • 相關參數范圍可以自行設置,用自定義mySetRand函數設置作圖尺寸范圍

注意:

  • 內圓半徑不能大于外圓半徑,內圓作圖點不能大于內圓半徑

/*以下是完整代碼,可自行個性化更改參數*/

#include  #include  #include  #include  #include  #include  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; // 動圓半徑  int dr; // 動圓上的作圖點到圓心的距離  while (1)  {  //產生一個100-395之間的隨機數  R = mySetRand(1, 100, 395);  r = R - mySetRand(1, 5, 95);  dr = r - mySetRand(1,2, r-5);  // 求執行次數(最小公倍數/靜圓半徑)  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));  // 設置作圖原點坐標,使其在窗口中心畫圖  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));  }  //歸位原點坐標  setorigin(0, 0);  _stprintf_s(s, _T("作圖參數:外圓半徑%.3d像素\\內圓半徑%.3d像素\\作圖點到圓心距離%.3d像素"), R, r, dr);  settextstyle(20, 0, _T("黑體"));  settextcolor(RED);  outtextxy(60, 587, s);  //保存圖形到當前目錄  k++;  _stprintf_s(s, _T("%.6d.jpg"), k);  saveimage(s);  //畫面停留5秒后,清屏重新畫另一個圖  Sleep(5000);  closegraph();  }  return 0;  }  //指定范圍隨機數產生  //num產生個數,產生范圍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元素個數為負數了?");  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("處理出錯!");  getchar();  return -2;  }  if (p2>*p_max || p2<*p_min)  {  printf("數據有誤!");  getchar();  }  }  return p2;  }

//部分代碼截圖以及效果圖展現如下

怎么用C++實現萬花模擬器
怎么用C++實現萬花模擬器
怎么用C++實現萬花模擬器
怎么用C++實現萬花模擬器
怎么用C++實現萬花模擬器
怎么用C++實現萬花模擬器
怎么用C++實現萬花模擬器
怎么用C++實現萬花模擬器
怎么用C++實現萬花模擬器

“怎么用C++實現萬花模擬器”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台东市| 曲阳县| 贺兰县| 绿春县| 正镶白旗| 津市市| 南郑县| 栾城县| 保德县| 天祝| 莱芜市| 祁阳县| 阜城县| 香港| 土默特右旗| 平遥县| 兴文县| 安达市| 拉萨市| 诸城市| 常州市| 喜德县| 安阳县| 吴桥县| 滨海县| 团风县| 岳阳县| 湘乡市| 会同县| 山东省| 五莲县| 呼伦贝尔市| 鸡东县| 苏州市| 双城市| 门源| 阿拉善盟| 忻州市| 西乡县| 古田县| 永济市|