我基于示例程序讲
首先先设计指针变量存放旋转坐标值
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);
}