320x240 彩色LCD營幕的複雜幾何圖形範例#15.jpg
休閒了一個星期多,再次模擬網路看到的幾何圖形,去思考如何攸出相同之效果,所以本次程式的撰寫過程,試驗了計多次才找出相互的關係,才將程式寫出以下之範例。基本上是共6個圈形,由最內圈逐漸劃出,單數圈數是以虛線方式,雙數圈數是以實線方式劃出。
for(k=0;k<6;k++) {
for(i=0;i<361;i++) // 第一圈(最內圈)是虛線圖案
{ x0=120+k+(cos(i*PI/180)*(30+k));
y0=200+(sin(i*PI/180)*(30+k));
if((i%6)<=3) Put_pixel(x0,y0,YCOLOR[z1]);
}
for(i=0;i<361;i++) // 第二圈是以實線圖案
{ x0=123-k+(cos(i*PI/180)*(45+k));
y0=200+(sin(i*PI/180)*(45+k));
Put_pixel(x0,y0,YCOLOR[z1]);
}
}
for(k=0;k<6;k++) {
for(i=0;i<361;i++) // 第三圈是以虛線圖案
{ x0=120+(cos(i*PI/180)*(60+k));
y0=200+k+(sin(i*PI/180)*(60+k));
if((i%6)<=3) Put_pixel(x0,y0,YCOLOR[z1]);
}
for(i=0;i<361;i++) // 第四圈是以實線圖案
{ x0=122+(cos(i*PI/180)*(75+k));
y0=205-k+(sin(i*PI/180)*(75+k));
Put_pixel(x0,y0,YCOLOR[z1]);
}
}
for(k=0;k<6;k++) {
for(i=0;i<361;i++) // 第五圈是以虛線圖案
{ x0=120+k+(cos(i*PI/180)*(90+k));
y0=200+k+(sin(i*PI/180)*(90+k));
if((i%6)<=3) Put_pixel(x0,y0,YCOLOR[z1]);
}
for(i=0;i<361;i++) // 第六圈是以實線圖案(最外圈)
{ x0=123-k+(cos(i*PI/180)*(105+k));
y0=206-k+(sin(i*PI/180)*(105+k));
Put_pixel(x0,y0,YCOLOR[z1]);
}
}