본문 바로가기

bresenham 알고리즘

(2)
bresenham 알고리즘 설명 이 함수는 Bresenham의 선 그리기 알고리즘을 구현한 것입니다. 주어진 두 점 (start와 end) 사이에 선을 그리는 함수입니다. 각 부분을 상세히 설명하겠습니다:변수 초기화x_step, y_step: 선의 x와 y 방향 증분값을 계산합니다.max_steps: 선을 그리는 데 필요한 최대 단계 수를 계산합니다.i_line: 현재 그리고 있는 선의 단계를 추적합니다.color: 선의 색상 정보를 저장할 구조체 포인터입니다.선 그리기 준비x와 y의 증분값을 계산합니다.최대 단계 수를 x와 y 증분값 중 큰 값으로 설정합니다.증분값을 최대 단계 수로 나누어 정규화합니다.색상 정보를 초기화합니다. 실패 시 프로그램을 종료합니다.선 그리기 루프while 루프에서 각 픽셀을 그립니다:현재 단계에 맞는 색상..
Bresenham 과 DD알고리즘의 기본 원리 이 함수는 DDA(Digital Differential Analyzer) 알고리즘을 구현한 것입니다. DDA 알고리즘의 주요 특징들을 잘 반영하고 있습니다:부동소수점 연산 사용: delta_x와 delta_y를 float 타입으로 선언하여 부동소수점 연산을 사용합니다.증분 계산: delta_x /= bigger_delta;와 delta_y /= bigger_delta;를 통해 각 단계별 x와 y의 증분을 계산합니다.선형 보간: 각 단계마다 start.x += delta_x;와 start.y += delta_y;를 통해 좌표를 선형적으로 증가시킵니다.반복 횟수 결정: bigger_delta를 사용하여 더 긴 축을 기준으로 반복 횟수를 결정합니다.픽셀 그리기: 각 단계마다 계산된 좌표에 픽셀을 그립니다.추가..