0
假設我正在創建一個基於柵格的繪畫程序。我的畫筆是橢圓形的。用戶點擊並拖動鼠標來繪製區域。我現在有兩點:pointA(他們點擊的地方)和pointB(從鼠標拖拽返回的第一個點)。我想填充畫筆區域內的所有像素。什麼是最好的方法來做到這一點?使用橢圓形筆刷填充兩點之間像素的最快方法?
我的第一種方法是計算兩點之間的斜率,然後從點A增加到點B.對於它們之間的每個點,我搜索橢圓範圍內的所有像素,並在它們處於範圍內時打開它們。但這看起來效率不高,因爲像素通常會被檢查多次 - 通常會重複多次,因爲增量比橢圓要小得多(請考慮維恩圖)。
有沒有更好的方法呢?一種效率更高並且最小化像素需要檢查的次數。