中精灵项目u8g2单色图形库设计实践:6三角形

我基于示例程序讲

首先先设计指针变量存放旋转坐标值

int TriangleI[2][60]={
				{0},
				{0},
};
int TriangleII[2][60]={
				{0},
				{0},
};
int TriangleIII[2][60]={
				{0},
				{0},
};

int Triangle1[2][60]={
				{0},
				{0},
};
int Triangle2[2][60]={
				{0},
				{0},
};
int Triangle3[2][60]={
				{0},
				{0},
};

int Triangle4[2][60]={
				{0},
				{0},
};
int Triangle5[2][60]={
				{0},
				{0},
};
int Triangle6[2][60]={
				{0},
				{0},
};

三个三角形,共9组

旋转

void LCD_DrawClockZheng(int (*p)[60],int x,int y,int r,int L)//»ñÈ¡¿Ì¶ÈÅÌÖ¸ÕëÕë¼â×ø±ê
{ 
    int i;//L¿ØÖƿ̶ȳ¤¶È  (r-L)Ö¸Õ볤¶È
	int x2,y2,x1,y1;
	//gui_circle(x,y,0xFFFF,r,0);
    for(int i=0;i<60;i++)
    {
		x1=r*sin((564-i*6*pi)/180)+x; 
		y1=r*cos((564-i*6*pi)/180)+y; 
		*(*(p+0)+i)=x2=(r-L)*sin((564-i*6*pi)/180)+x; 
		*(*(p+1)+i)=y2=(r-L)*cos((564-i*6*pi)/180)+y; 
		//LCD_DrawLine(x1,y1,x2,y2);
	    //delay_ms(50);
	}
}

获得旋转值

LCD_DrawClockZheng(TriangleI,64,32,28,0);
	LCD_DrawClockZheng(TriangleII,64,32,28,5);
	LCD_DrawClockZheng(TriangleIII,64,32,28,20);
	
	LCD_DrawClockZheng(Triangle1,96,32,28,0);
	LCD_DrawClockZheng(Triangle2,96,32,28,5);
	LCD_DrawClockZheng(Triangle3,96,32,28,20);
	
	LCD_DrawClockZheng(Triangle4,32,32,28,0);
	LCD_DrawClockZheng(Triangle5,32,32,28,5);
	LCD_DrawClockZheng(Triangle6,32,32,28,20);
	

画三角形

for(int i=0;i<60;i=i+2)
    {
		u8g2_ClearBuffer(u8g2); 
		if(8+i>59) break;
		u8g2_DrawTriangle(u8g2,TriangleI[0][0+i],TriangleI[1][0+i],TriangleII[0][4+i],TriangleII[1][4+i],TriangleIII[0][8+i],TriangleIII[1][8+i]);//Èý½ÇÐÎ
		u8g2_DrawTriangle(u8g2,Triangle1[0][0+i],Triangle1[1][0+i],Triangle2[0][4+i],Triangle2[1][4+i],Triangle3[0][8+i],Triangle3[1][8+i]);//Èý½ÇÐÎ
		u8g2_DrawTriangle(u8g2,Triangle4[0][0+i],Triangle4[1][0+i],Triangle5[0][4+i],Triangle5[1][4+i],Triangle6[0][8+i],Triangle6[1][8+i]);//Èý½ÇÐÎ
	
		u8g2_SendBuffer(u8g2);
	}
	

综合显示

for(int i=0;i<60;i=i+2)
    {
		if(8+i>59) break;
		u8g2_DrawTriangle(u8g2,TriangleI[0][0+i],TriangleI[1][0+i],TriangleII[0][4+i],TriangleII[1][4+i],TriangleIII[0][8+i],TriangleIII[1][8+i]);//Èý½ÇÐÎ
		u8g2_DrawTriangle(u8g2,Triangle1[0][0+i],Triangle1[1][0+i],Triangle2[0][4+i],Triangle2[1][4+i],Triangle3[0][8+i],Triangle3[1][8+i]);//Èý½ÇÐÎ
		u8g2_DrawTriangle(u8g2,Triangle4[0][0+i],Triangle4[1][0+i],Triangle5[0][4+i],Triangle5[1][4+i],Triangle6[0][8+i],Triangle6[1][8+i]);//Èý½ÇÐÎ
	
		u8g2_SendBuffer(u8g2);
	}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值