2011-05-14 13 views

답변

9

Bresenham's algorithm을 참조하십시오.

+3

요즘 실제로 사용하는 경우는 거의 없을 것입니다. 그래픽 API를 사용하는 경우는 거의 없습니다. 그러나 때때로 동등한 것으로 드러나는 다른 문제를 아는 것은 때때로 가치가 있습니다. 예를 들어 모든 틱 이벤트에서 정수 시간 변수를 업데이트해야하지만 틱 이벤트는 일부 정수가 아닌 간격으로 제공됩니다. 그 간격이 합리적인 한 Bresenhams 기반 접근법은 누적 오류없이 그 시간을 유지할 수 있습니다. – Steve314

+0

@ 스티브 : 오늘도 많은 용도가 있습니다. 2 차원 격자에서 플레이어를 움직이거나 3 차원 격자를 통해 광선을 추적하는 것 (수정이 필요함) ... – ybungalobill

4

pointwise 알고리즘은 없습니다 - 점은 극히 작으므로 점을 기반으로하는 알고리즘은 완료하는 데 무한한 시간이 걸립니다.

대신에 명료 한 펜 너비를 기준으로 선을 그리고 펜을 사용하여 선을 쓰다듬을 픽셀의 강도 및 강도를 계산합니다.

픽셀을 켜고 끄기 만하면 1970 년대처럼, Brensenham의 알고리즘 제품군 중 하나를 사용하십시오.

대부분의 최신 컴퓨터 그래픽은 스 트리킹, 서브 샘플링 또는 정확한 픽셀 범위를 포함하는 앤티 앨리어싱 알고리즘과 GPU의 병렬 알고리즘을 사용합니다 (예 : 얇은 사각형을 평면에 투영하거나 범위를 적용하여 선을 그립니다. 한 픽셀 당 병렬 계산).

많은 그래픽 알고리즘은 베 지어 곡선을 기반으로합니다. 직선은 제어점이 한 줄에있는 곡선이므로 곡선을 그리는 알고리즘은 동일하지만 몇 가지 최적화를 할 수 있습니다.

+1

+1 -하지만 "픽셀"대신 "포인트"라는 용어를 사용하는 그래픽에 대해 많은 글을 보았습니다 ". 나는 "픽셀"이 더 낫다는 것에 동의하지만, 수학자들은 영어를 정의 할 특별한 힘이 없다. – Steve314