래스터 기반 페인트 프로그램을 만들고 있습니다. 내 브러시는 타원형입니다. 사용자는 마우스를 클릭 한 다음 드래그하여 영역을 페인트합니다. 이제 pointA (클릭 한 곳)와 pointB (마우스 드래그에서 반환 한 첫 번째 지점)의 두 가지 점이 있습니다. 브러시 영역에 속하는 모든 픽셀을 채우고 싶습니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?타원형 브러시로 두 점 사이의 픽셀을 채우는 가장 빠른 방법은 무엇입니까?
첫 번째 방법은 두 점 사이의 기울기를 계산 한 다음 pointA에서 pointB까지 증가시키는 것입니다. 그 사이의 각 점에 대해 타원 범위 내의 모든 픽셀을 검색하고 범위 내에 있으면 해당 픽셀을 켭니다. 하지만 이것은 비효율적인데, 그 이유는 픽셀이 종종 타원보다 훨씬 작기 때문입니다 (Venn 다이어그램을 생각해보십시오).
더 나은 방법이 있습니까? 더 효율적이며 픽셀을 검사해야하는 횟수를 최소화합니다.
나는 현재 매우 비슷한 일을하고 있는데 내가 뭘 오전 말할 수