網路城邦
上一篇 回創作列表 下一篇   字體:
320x240 彩色LCD營幕的六角形之幾何圖形範例#5A & 5B
2020/03/05 17:09:27瀏覽268|回應0|推薦0

320x240 彩色LCD營幕的六角形之幾何圖形範例#5A


 本次撰寫幾何圖形屬六角形,原先第一次的程式是如#5A下方的方式撰寫,但是所產生的六角形,卻於右上方的座標出現與其他位置不對齊,經判斷是在計算SIN & COS函數時,會產生累積誤差所致,才出現所畫出來圖形是非正六角形。
Show_RGB(0,240,20,320,0x0000);
z1++;if(z1>8) z1=1;    // 圓形圈的顏色
for(i=0;i<6;i++)

{     x0 =120+(cos(i)*120);
       y0 =200+(sin(i)*120);
       GS[i][0]=x0;
       GS[i][1]=y0;
}
for(i=0;i<5;i++)

{     Line(GS[i][0],GS[i][1],GS[i+1][0],GS[i+1][1],YCOLOR[z1]);  }
       Line(GS[0][0],GS[0][1],GS[5][0],GS[5][1],YCOLOR[z1]);
for(j=0;j<6;j++)

{
      for(i=1;i<4;i++)

      { Line(GS[j][0],GS[j][1],GS[i+1][0],GS[i+1][1],YCOLOR[z1]);  }
}
Line(GS[1][0],GS[1][1],GS[5][0],GS[5][1],YCOLOR[z1]);

320x240 彩色LCD營幕的圓形之幾何圖形範例#5B


 因此重新構思如何畫出正六角形的圖案,程式如下所示,此次撰寫過程未加以精簡,各位如需採用,也許可以也挑戰自已一下,將其精簡之。
Show_RGB(0,240,20,320,0x0000);
z1++;if(z1>8) z1=1;    // 圓形圈的顏色
GS[0][0]=120; GS[0][1]=200;
GS[1][0]=240; GS[1][1]=200;
GS[4][0]=  0; GS[4][1]=200;
GS[2][0]=120+(cos(1)*120);
GS[2][1]=200+(sin(1)*120);
GS[3][0]=240-GS[2][0];
GS[3][1]=GS[2][1];
GS[5][0]=GS[3][0];
GS[5][1]=200-(GS[3][1]-200);
GS[6][0]=GS[2][0];
GS[6][1]=GS[5][1];
for(i=1;i<6;i++)

{      Line(GS[0][0],GS[0][1],GS[i][0],GS[i][1],YCOLOR[z1]); 
        Line(GS[i][0],GS[i][1],GS[i+1][0],GS[i+1][1],YCOLOR[z1]); 
}
Line(GS[6][0],GS[6][1],GS[1][0],GS[1][1],YCOLOR[z1]);
Line(GS[6][0],GS[6][1],GS[0][0],GS[0][1],YCOLOR[z1]);
Line(GS[1][0],GS[1][1],GS[3][0],GS[3][1],YCOLOR[z1]);
Line(GS[2][0],GS[2][1],GS[4][0],GS[4][1],YCOLOR[z1]);
Line(GS[3][0],GS[3][1],GS[5][0],GS[5][1],YCOLOR[z1]);
Line(GS[4][0],GS[4][1],GS[6][0],GS[6][1],YCOLOR[z1]);
Line(GS[5][0],GS[5][1],GS[1][0],GS[1][1],YCOLOR[z1]);
Line(GS[6][0],GS[6][1],GS[2][0],GS[2][1],YCOLOR[z1]);

 

( 興趣嗜好電腦3C )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=PYANG&aid=131933867