謝賓斯基三角形
阿新 • • 發佈:2021-01-13
插入一段漂亮的程式碼片
程式碼片
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
void sanjiaoxing(int x, int y, int color)
{
// 設定畫線顏色
setlinecolor(color);
// 畫三角形的三條邊
line(x, y, x + 10, y);
line(x, y, x, y + 10);
line(x + 10, y, x, y + 10);
}
typedef struct point
{
double x;
double y;
}point;
int main()
{
int n, i;
initgraph(640, 480); // 初始化圖形視窗
point P[3]= { {320, 50}, {120, 400}, {520, 400} }; // 設定三角形的三個頂點
point p;
p.x = rand() % 640;
p.y = rand() % 480;
// 繪製十萬個點
for (i = 0; i <= 100000; i++)
{
n = rand()%3;
p.x = (p.x + P[n].x) / 2;
p.y = (p.y + P[n].y) / 2;
if (i > 100) // 前100個點先不繪畫,先等迭代穩定下來
{
putpixel((int)p.x, (int)p.y, GREEN);
}
}
_getch(); // 按任意鍵繼續
closegraph(); // 關閉圖形視窗
return 0;
}