블로그 이미지

카테고리

Total (16)
Study (11)
Project (1)
Like (1)
Info (3)
Total
Today
Yesterday

달력

« » 2025.5
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

공지사항

최근에 올라온 글

 

main.c

output.bin

직선의 방정식을 이용하여 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. 결과



Posted by whfod
, |