我在wiki-pedia和其他地方從僞代碼實現/複製了wu線算法。將多條消除鋸齒的線連接在一起
繪製正弦波時,它會在線從y佔優勢變爲x佔優勢(或相反)的地方出現故障。 (因爲它看起來很可怕,我不需要他們爲我的目的,我沒有抄端點代碼。)
有誰知道這個問題的解決方案?如果沒有,我將自己修改算法以使其運行。我只是好奇,如果別人遇到這個問題,並知道如何解決它。是否可以實現,而不是全局意識到彼此?或者這就是爲什麼繪製API的工具moveto和lineto功能?
我在wiki-pedia和其他地方從僞代碼實現/複製了wu線算法。將多條消除鋸齒的線連接在一起
繪製正弦波時,它會在線從y佔優勢變爲x佔優勢(或相反)的地方出現故障。 (因爲它看起來很可怕,我不需要他們爲我的目的,我沒有抄端點代碼。)
有誰知道這個問題的解決方案?如果沒有,我將自己修改算法以使其運行。我只是好奇,如果別人遇到這個問題,並知道如何解決它。是否可以實現,而不是全局意識到彼此?或者這就是爲什麼繪製API的工具moveto和lineto功能?
我只是想跟進並關閉它。我以爲我已經從網站上發佈的算法中刪除了端點代碼。但是,我犯了一個錯誤,並沒有刪除所有這些,所以這就是線路斷線的原因。下面是最終的結果:
如果你仔細觀察的話,你可以看到強度跳了一下,當線被Y型顯性到顯性X,反之亦然改變。這也是因爲該線不到一個像素長。我想以更高的分辨率畫出一條線,然後下抽樣會產生像Guy Sirton所建議的更高質量的結果。但是這對我的目的來說已經足夠了。
如果性能是不是一個大問題,你可以採取一個比較幼稚的方法來繪製反鋸齒線,如:
根據您正在開發的語言或操作系統,可能會內置功能來簡化此操作。
或者,您可以計算每行像素的哪部分被行覆蓋(通過將像素平方與行相交)來計算像素值,使像素強度相對於行覆蓋的像素區域部分。
吳線算法已經這樣做。問題在於分數點的繪製線。有一個四捨五入的問題。我正在做。 – 2011-04-24 00:21:44
這是吳氏算法的一個假象。它可以是水平像素或垂直像素的別名。因此,當你將它稱爲「顯性」到「顯性」或「vv」時,你會看到線條變化時的效果。由於算法的本質,在wu框架內沒有辦法解決這個問題。 – Howard 2011-04-20 16:34:37
我想要做的就是畫出一些可以工作的線條,看起來不像****。任何人推薦另一種算法或方法? – 2011-04-20 17:07:57
我想我將不得不跟蹤斜率並相應地調整算法。 – 2011-04-20 17:13:43