Úvod do algoritmu kreslení čar

V tomto článku uvidíme obrys na Algoritmus kreslení čar. Čárový výkres v počítači znamená, že obrazovka počítače se dělí na dvě části řádků a sloupců. Tyto řádky a sloupce jsou také známé jako pixely. V případě, že musíme na počítači nakreslit čáru, musíme nejprve vědět, na kterých pixelech by měly být. Čára je součástí přímky, která se natahuje v opačném směru na neurčito. Řádek je definován dvěma koncovými body. Jeho hustota by měla být oddělena od délky linie.
Vzorec pro zachycení čáry svahu: Y = mx + b
V tomto vzorci m je přímka svahu a b je průnik y v této přímce. V pozicích (x1, y1) a (x2, y2) jsou pro segment úsečky určeny dva koncové body.

Hodnota sklonu ma ab může být stanovena odpovídajícím způsobem
• m = y2 - y1 / x2 - x1
• tj. M = Δy / Δx

Příklad:

Koncové body řádku jsou (0, 0) a (4, 12). Vynesením výsledku vypočítáte každou hodnotu y jako kroky x od 0 do 4.

Řešení:

Máme tedy rovnici přímky: Y = mx + b
• m = y2 - y1 / x2 - x1
• m = 12 - 0/4 - 0
• m = 3
Průnik y je pak nalezen spojením y1 a x1 se vzorcem y = 3 x + b, 0 = 3 (0) + b. Proto b = 0, takže y = 3x řádek vzorce.
Cílem je co nejrychleji určit předchozí x, y lokaci.

Druhy algoritmů kreslení čar

Níže jsou uvedeny typy algoritmu:

1. Digitální diferenciální algoritmus (DDA)

Inkrementální konverzní metoda je DDA algoritmus a také jsme nazvali digitální diferenciální algoritmus (DDA). Tento přístup je charakterizován použitím výsledků z předchozí fáze v každém výpočtu.

Podívejme se na níže uvedené příklady:

Příklad č. 1

Řádek koncového bodu je (x1, y1) a (x2, y2)

  • dx = x2 - x1
  • dy = y2 - y1

takže nyní určíme délku řádku, pokud abs (dx)> = abs (dy), pak délka = abs (dx) jinde délka = abs (dy)

  • Δx = dx / délka
  • Δy = dy / délka
  • X = x1
  • Y = y1

Setpixel (kolo (x), kolo (y));

  • i = 1

zatímco (i <= délka)

  • x = x + Ax;
  • y = y + y;

setpixel (kolo (x), kolo (y));
i = i + 1
konec, zatímco

Příklad č. 2

Řada koncových bodů (5, 4) a (6, 9) může být převedena pomocí DDA.

Řešení:
• dx = x2 - x1
• dx = 6 - 5 = 1
• dy = y2 - y1
• dy = 9 - 4

dy = 5
Jako, dx <dy,
• délka = y2 - y1 = 5
• dx = (x2 - x1) / délka = 1/5 = 0, 2
• dy = (y2-y1) / délka = 5/5 = 1
x1 y1 x2 y2 L dx dy ixy

Výsledek:

X1

Y1

X2

Y2

L

Dx

Dy

X

Y

Výsledek

3

2

4

7

5

.2

1

0

3.5

5.5

3, 5, 5, 5

1

3.9

1.5

3.9, 1.5

2

4.9

3.5

4.9, 3.5

3

5.1

7.5

5.1, 7.5

4

3.7

4.5

3.7, 4.5

5

4.5

7.5

4.5, 7.5

Omezení algoritmu DDA

  • Aritmetika pro plovoucí a zaokrouhlovací body jsou časově náročné postupy.
  • Chyba zaokrouhlení může vést k vzdálenosti od skutečné dráhy dlouhého úseku segmentu podle místa měřeného pixelu.

2. Algoritmus Bresenhamovy linie

Algoritmus převodu skenování je Bresenhamův algoritmus. Tento algoritmus nabízí hlavní výhodu použití pouze celočíselných výpočtů.

1. Koncové body řádku a uložte levý koncový bod do (x1, y1)
2. Pro rozhodovací parametr získáme první hodnotu Δx tj. Dx, Δy tj. Dy, 2 Δy a 2 xx.
3. Inicializujte spuštění
4. Inicializujte i = 1 jako čítač,
Jinak je dalším bodem vykreslení (xk + 1, yk + 1) a opakujte krok 4 (Δx - 1) krát.
Nastavení
Pro m> 1 můžeme říci, že když x zvětšíme x, zvýšíme x.
Po vyřešení rozhodovací proměnné pk bude vzorec velmi podobný, budou nahrazeny pouze xay v rovnici.

Shrnutí algoritmu Bresenhamovy linie

Toto jsou následující výhody algoritmu Bresenhamovy linie:
• Rychlý přírůstkový algoritmus.
• Používá se pouze celočíselné výpočty.
DDA má při porovnání s algoritmem DDA následující problémy:
• Pixelovaná čára může být vzdálena od očekávané akumulace chyb zaokrouhlování.
• Čas je vyžadován pro zaokrouhlovací operace a aritmetiku s pohyblivou řádovou čárkou.

Doporučené články

Toto byl průvodce Algoritmem kreslení čar. Zde diskutujeme, co je algoritmus kreslení čar spolu s různými příklady. Další informace naleznete také v následujících článcích -

  1. Algoritmy strojového učení
  2. Algoritmus SVM
  3. Jednoduchá lineární regrese
  4. Vícerozměrná regrese
  5. Nejlepší srovnání lineární regrese vs. logistické regrese

Kategorie: