bresenham

    0熱度

    1回答

    我目前正在參加圖形的入門課程,並且正在學習使用Bresenham算法繪製直線。現在我必須承認,我的學習習慣涉及谷歌搜索額外的筆記,因爲有時在課堂筆記中僅僅是不夠的。 我知道用一般的Bresenham算法你可以畫出第一個八分圓,爲了畫出其他八分圓,你必須做一些奇特的技巧。 現在,我真正的問題涉及到如何理解在第七個八分圓中畫一條線的概念。根據這些筆記 https://courses.engr.illi

    3熱度

    2回答

    當使用Bresenham line drawing algorithm, 畫線時,行可能不在要寫入的位圖範圍內 - 剪切結果以便它們適合要寫入的圖像的軸對齊邊界將很有用。 儘管可能首先將線條剪切爲矩形,然後繪製線條。這是不理想的,因爲它往往會給線(假設使用int coords)略有不同。 由於這是一個如此簡單的操作,是否已經建立了在保持相同形狀的同時剪切線的方法? 如果有幫助,here is a

    0熱度

    1回答

    我看了很多地方,並沒有找到任何資源(我明白)解釋如何將標準的中點圓算法(使用八分圓來創建整個圓)變成只考慮特定的「切片」圈。我正在使用它來查找視線半徑內的瓦片。 我正在使用的代碼是如何實現算法的基本維基百科代碼。 我正在使用內部的「處理」Java原型的東西了。 我想知道這個算法是如何工作的,所以我可以修改它,但我遇到了麻煩。

    0熱度

    1回答

    我創建了一個函數,該函數接受矢量中的2個點的2D std::vector,並在矢量內「繪製」一條線。但是,它並不涵蓋所有情況(八分圓)。一條線我的意思是直線相互連接的點。該矢量將被寫入.ppm文件,因此它在圖像中顯示爲一條線。 我實現了使用這個鏈接此功能:https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm 看這裏:https://e

    -2熱度

    1回答

    我想創建一個基於GUI的程序,它使用網格和Bresenham的圓形算法繪製橢圓。但是,我有兩個問題。一個是我無法獲得panel_grid刷新,以便將新的r值傳遞給GridComponent,並使用新的半徑重新繪製橢圓。第二個問題是,我設法讓代碼生成一個圓,但我無法弄清楚如何修改它來生成一個橢圓。有人可以一步一步向我解釋我將如何解決這兩個問題嗎?提前致謝。 public class GUI exte

    2熱度

    2回答

    Bresenham's line drawing algorithm是衆所周知的,實施起來相當簡單。 雖然有更高級的方法來繪製反退色線條,但是Im有興趣編寫一個基於浮點座標繪製單個像素寬度非反鋸齒線條的函數。 這意味着當第一個和最後一個像素保持不變時,它們之間繪製的像素將根據兩個端點的子像素位置產生偏差。 原則上這應該不是那麼複雜,因爲我假設可以使用子像素偏移來計算繪製線條時要使用的初始值erro

    0熱度

    1回答

    我想用2個步進電機(42H48)和2個驅動器(TB6560)繪製圓。 硬件是這樣的:現在 (y-axis motor) | | --—--- |-------- (x-axis motor) | | ,我只能控制這些馬達繪製像鑽石形狀。 // 1 digitalWrite(xAxisMotorDirection, HIGH);

    1熱度

    2回答

    我有一些代碼來生成網格座標(SDL_Point只包含兩個int S代表X和Y)與圓形: std::vector<SDL_Point> circle(const SDL_Point & start, const int radius) { int x{ radius }, y{ 0 }; int xChange{ 1 - 2 * radius }; int yChan

    0熱度

    2回答

    我需要像素化/從封閉的2D多邊形獲得點。不勾勒,但用「像素」體素填充,以檢索它們的位置作爲點。 現在我有用於線柵格的C#代碼,有沒有類似於多邊形的方法?

    -1熱度

    1回答

    我想用Bresenham的線算法或類似的方法從四個點創建一個填充的矩形,以獲得平滑的邊。我在Stack Overflow [link]上遇到了這個答案,它非常適合在兩點之間創建一條線。我如何使用/修改這個函數來創建一個填充矩形?有沒有其他算法可以更好地滿足我的需求?