ARM보드(pxa270) - 직선의 방정식을 이용한 선그리기(OS 없이 LCD 제어)
직선의 방정식을 이용하여 LCD에 선 그리기
1. 식
2. 설명
X의 증가량에 따른 Y의 증가량, 즉 기울기를 이용해서 코딩을 했습니다. 두 점의 좌표를 받아 for문을 이용해 X 좌표에 따른 Y좌표를 위의 식을 이용해 구한 뒤 점을 하나씩 찍어줌
double을 사용한 이유는 int를 사용하면 소수점이 전부 0으로 손실되는 문제를 해결하기 위함.
3. 코드
void GetLine_BaseFrame(double GetX, double GetY, double GetX2, double GetY2, unsigned short color)
{
double X, Y;
double M = (GetY2-GetY)/(GetX2-GetX); // 기울기
for ( X = GetX; X<=GetX2; X++ )
{
Y = M * (X-GetX) + GetY; // 직선의 방정식 식
Put_PixelBaseFrame(X,Y,color);
}
}
int main(void)
{
vinit();
GPIO_init();
lcd_init();
Clear_BaseFrame(0xffff); //화면 클리어
GetLine_BaseFrame(200,500, 600, 100,0xf800);
}
4. 결과
'Study > 임베디드 보드' 카테고리의 다른 글
ARM보드(pxa270) 간단한 카드 짝 맞추기 게임. (0) | 2014.05.28 |
---|---|
아두이노 우노에 대한 조사 (0) | 2014.05.28 |