Professional Documents
Culture Documents
Computer Graphics
Computer Graphics
Computer Graphics
y
scan line top to
bottom
[Ymax •
0 ) to
Cy :O , nmax )
Grid shade
the [ Nisy )
,
* DDA ✗ The
Drawing Algorithm
DDA :
Digital Differential Analyzer
↓ ↓
point
I ↳ y
ioy
i slope intercept
% I
•
I
- - -
_ - -
CN , ,y , ) on
tano i.e oy
In
>
m >I m :\ MLI
y
%
¥
"
-
.
, ,y , ) = ( in )
_
10
( 4,1 )
.
- Cnziyz ) =
9 .
8- .
on = 4-1 =3
>
I •
by
= I -
I = O
•
(¥ =D
G
m= 0
5-
-
% ,
3-
÷ % . •
%
_
◦
l I 1 I 1 I 1 I l f I I 1 I
f
0 1 2 34
oy)
needed ( on
Max .
no ,
of steps to cover
=
man ,
i. e max [ 3,10)
i. e 3
°"
1
i.e
§
"
}
=
=
increment
É
Steps iteration
means
for every
valve of re
changes
[
-
1
by
Y increment = ie
g- = 0
y changes by
steps
O
ne y
1- 1 e- start
2 1
3 I
4 1 ← end
SOI on
=
O n y
5
dy = 7 2
m = undefined / infinite 2 6
2 7
Steps = Max ( O ) 7) 2 8
2
=
7- 9
2 10
0 2 11
✗
increment
= OI i -
e
steps 2 12
Y increment
=
I ire 1 ( ¥)
step
CASI
[a , , y , ) = (5-4)
( x2 / Yz) = ( 12,7)
SOI on = 7
Oy =3
m
= 3 steps = 7-
,
-7
7
Nine
= = 1
-7
3-
0-4
Yinc
= =
round off
a y →
5 4
6 4.4 ≈ 4
7 4.8 ≈ 5
8 5.2 ≈ 5
9 5.6 ≈ 6
10 6
11 6.4 ≈ 6
12
6- 8 ≈ 7-
✗
K -11
=
Uk -11 Kk -11
=
Nk -1
£
Ykti =
YK + m
Yu -11
=
Yu + I
m
( 517 )
Case_4 nut I =
die +1
( 10,15 )
Yu -11
=
Yk +1
on
=
5
8
Oy =
m = 8- E.e I -6
5
steps = 8
0.625
Nine
g§
=
=
1
Yinc § i.e
=
no y Nk ti
=
Me + (m -
1)
5 7 Ykti =
ya +1
5- 6 ≈ 6 8
62 ≈ 6 9
≈ 7 10
6- 8
≈ 7 11
7. 4
8 12
8. 6 ≈ 9 13
9. 2 ≈ 9 14
9. 8 ≈ 10 15
ca
( 12,9)
( 17,14)
SOI
on
=
5
Nut , =
Nk +1
Oy = 5
m =) Yu -11 =
Ye -11
5
Steps =
Nine = 1
I
Time =
→
12
9
13 10
14 11
15 12
16 ' 3
17 14
* Demerits of DAA :
• More
float valve =
more computation time
-
irregular slope
Algorithm DDA [ Ni , y , , ✗ 2.
yz )
{
du =
Nz -
Ni
dy =
yz
-
y ,
Nine du / step
'
=
/ step
Yinc =
dy
'
for ( 1=1 ,
is step , i + 1)
{
Put pixel In , ,y ,)
=
x, N +
, Nine
y ,
=
y, + Yinc
}
}
convert
>
Mn ( Rasterizate ) Raster
y =
+ c
✗ =
Uk +1 line is passing in between
next .
Ynext =
Yu or Yuri , ? calculated . Lesser selected .
Yu -11
d2{ •
> lniy) point considered
zd ,
to map distance
from
Yu
Nk NK -11
m < I
=
mcnutt ) + c ①
y '
di =
y
-
yn
substitute
<
Yu -11
di =
m ( nu + 1) + c- yk ④
ᵈ2{ •
> In ,y) point
zd ,
Yu
dz =
Yutl -
y
dz ( Nutt) c ④
y , +1
-
= -
m
Nk Nk -11
if
di -
dz < 0
y ,
d, -
dz > 0 =) yk -11
mcnutt ) + c-
yu
Yu -11, -
Mcnutt ) -
e
¥y+zc-Éy-
-
di -
dz = 2m ( Nutt ) -
2yK -12C -
I
-
as m is a
fraction ,
( ¥n)
chance of float
exists
multiply by on
,
on ( di -
dz ) = Ok
[ 2.
ˢn
( Nutt ) -
Zyu -12C
-1
]
Ould , -
dz ) =
20g ( Nk -11 ) -
2ony.ie + Zone _
on
20g Hk
+
ZOY 2DUYu 1- 20N C
outrun
= -
-
me
Removing mm
constants
,
we
get
PK
=
20g Kk Zonyk
-
( decision parameter)
/ Pnext
=
Pat ,
209 nne✗t
-
20h9 next
↓
[Decision parameter for next pixel)
Then ,
p
next
-
Pk =
[ 209 rhnext -
2029 next ]
[zoy Xia
-
Zou
Yu ]
Pnext Pu =
Zoy ( ✗ next Nk) 20N ( y Yu)
-
- -
-
next
if
Pnext -
PK < 0 ( ynext =
Yu ) " " "" %
Pnext =
Pu +
Zoy # + , _
µ)
-
zony@g0.yL
Pnext =
Pu +
20g
if
Pnext Pie ≥ 0 (y =
Yun )
-
next
Pnex , =
Pu +
20g He + I -
%)
-
20k ( Tye + I -
µ)
-
Pnext =
Pk +
ZDY
-
20N
¥n
c =
y ,
-
✗ 1
y ,)
For 1ˢᵗ (x ,
point /
Pk = 20 yuk -
20N Yu + 2 Oy + 20sec - on
[ ]
ON
P
%g
1- 20N
Zoya Yi
-
Zoey , +
zoy
=
.se
- -
,
, ,
P, =
20¢21 ,
-
20µg ,
1-
209 +
20×9 ,
-
20¢21 ,
-
ON
P
Dy
Dum
,
=
2. -
>I m< I
P= Zou Dy P=2Oy on
-
-
P < 0 PLO
Nk+ , =
Uk ( no change) Rk+ ,
=
Nu + I
YK + I [ change )
4kt ,
=
yu+,
=
Yu no
P= Pt 20N P = P + 2.
by
P ≥o P ≥o
✗ 1
Nut
= +
U
Nut , Nut ?
=
,
Yea =
Ye +1 Yu
=
Yu + I
, + ,
P =P -120k -
Zay p = P -1209 -
20N
Algorithm ( Ni ,
y , .kz , yz ) ( m <
1)
{
✗ = U ,
y y,
-
-
du =
Uz -
Ni
dy =
Yz -
Y,
P da
=
2dg
-
{
putpixel (re ,
y)
Ntt
if ( p < 0 )
{
p =
p + Zdy
}
else
{
P= p -12dg -
2dm
# Y only
y++ increases
} °
if P >
( a. g) =
[ 1,1 )
( 8,5)
( U2 , yz )
=
SOI
✗ = x, = I
=)
y =
y ,
Nz = 8
yz = 5
da = 8 -
I = 7
5- I
dy = = 4
m = dy =
4- = 0-5 ? -
e 1m < I
In
-1+4 ; / ! /
p
=
Edy -
da n
y p
= (2×4) -
7
=
a- ± ^
2 ≥
3 2 3
1ˢᵗ
P1 > 0 as p> ◦ s →
it .
,
, , ,
y=2 5 3 5
2dm a -1-1 4 I
P +2dg 6 -
=p
-
12×7 ) 4 7-
=
It (2×4) - U=2 7
=
1-18-14 1
= -5
"
zr P 20
will not increase
it .
y
Ntt
p =
p
+
2dg
= -
5 1- (2×4)
=
3
p= p 2dg+ 2dm -
= 3+(2×4) (2×7) -
= 31-8-14
= -
3
In -5 )
¥ at -1
-
p =
ptzdy
=
-
3+8
= 5
p =
p -1 2dg -
2dm
=
5-18-14
I - I
p< 0 lyin .c ✗+ + )
6th ,
D= p -12dg
= -
I -18
= 7
( ytt.at -1 )
7th P >0
p =
p -12dg -2dm
= 7-18-14
= 1
Q) intermediate for
a ,y ,
= ( 1,1)
[ 5,3)
Yz
☐ 2 =
,
a y p
da = 4
1 I 0
dy = 2
2 2 -
y
m =
0.5 Im < 1) 3 2 0
4 3 -4
3 O
5
p =
2dg du -
=
(2×2)-24
= 0
P =p -12dg 2dm -
0+4-8
=
=
-4
( y
)
nc
2ⁿᵈ
-
p <0
_
✗ ++
p =p -12dg
= -
4 + 4
= 0
3¥ p = 0 fat -1 ,y -1-1 )
p =p -12dg -2daL
= -
4
Q ) ( ni ) ) =
[ 10,10) n
y p
(22/42) =
(18/20)
10 10 6
dy = 10 11 11 2
dm =
8 12 12 - 2
12 13 14
m = 1.25 )M 13 14 10
14 15 6
16
P =
2dm -
dy 15 2
= 16 -
10 16 17 -2
16 18 14
= 6
17 19 10
18 20 6
p = p + 2dR -
2dg
= 6 + 16 -
20
= 2
P > 0 [ at -1 ytt)
21 2
•
p
= 1-16-20
=
-2
3ʳᵈ p < 0
IN
, yet )
p= p + ZDN
= -
2 + 16
= 14
= 10
a1
0 ( Ntt '
PYO P >
51 y++ )
P>0 In -1-1,4+-1 )
7¥ = 21-16 -20
p
= -2
PSO IN - nc
, y )
-1-1
Itn p =p +2dm
= - 2+16
=
14
•
ty ) ( yin )
n
,
43 )
centre Chik) c- &
µ
2 2 8 ref point
(n 4) ( y b) m2
.
,
-
+ -
=
> -
Cm ,
%)
z [ 3,2 )
centre 10,0 )
22 1-
y
2
= M2 6 3
(n y)
-
-
5 4
f- IN y) x2 v2 ( 3 2)
yz
=
-
+ =
.
fy ,
- a)
( 2 ,
-
3)
{
< ° ( n' Y ) inside boundary
'
g- In ,y ) =
0 CU ,
y) on circle
,
> 0
,
Cu , y) outside circle 8- way symmetry
>
Midpoint circle
drawing
a moves in unit interval
y -
? CYK or Yu _
,
)
( Matt , ya ) ( Uk -11 , Yu -1 )
( Nk
-112-1
Yu
= Hk -11 + ye I
midpoint
-
,
2
= ( Mie +1 Yu -
'
12 )
,
Pu =
( au + 1)
2
+ ( yn -
112)
?
_
22 ①
Put ,
=
( Ny + 1)
2
+ ( yu+
,
_
I/ 2) - v2
2
Piet ,
-
Pk
=
( Nu + 1) + ( yu+ , -
I / 2)
2
_ v2
v2
2 2
( Nu 1) ( I / 2) 1-
-
+
yn
-
-
2
)
?
= [ ( anti) + 1) + ( yu+ , -112)2 _
Can -1112 _
( yn -
112
2
( nu -11 )2 yul
2
1) 2( Nut 1)
'
=
( Nk + Yu+ , + 14 + I
Yu
+ + I +
- -
-
-
114 +
yk
Pk+ ,
=
Pn + 2 Can + 1) + (
Q> Radius = 10 find the points of circle .
SOI : Po = l -
r
u
Y P
% < 10
-9
= I -10 0 10
Y ' n' C
= -9 I 10 -6
Pie Yu -11--94 2 10 -
1
=
0 -11 =\ 3 10 6
Nut ,
10 4 9 -3
Yu -1 ,
=
Yr =
9
5 8
Put ,
=
-
9+2 (0+1)+(0-0) -11 6 8 5
7 7
9+3
= -
÷
= -
6
-
6<0
✗ Kt , = I -11=2
Yu -11 =
ye = 10
Pu+ ,
= - 6 -12 (1+1)+(0-0) -11
=
-6+4+1
= - I
I < 0
-
Mkt ,
=
2+1=3
yn 10
Yue , = =
1+212+1) + (0-0)+1
Put,
-
=
=
6
6 70 Put =
Put 2 (anti) +
,
Nkt ,
= 3 -11 = ↳
( Yu -1,2
The -11 =
Yu
-
I = 9
-
yuz ) -
(9-10) + I
= 6-18-19 -10
= -3
-3<0
5
UK
=
-11
9
Yuri
=
,
Pu+ ,
= -3 -12 (5) + 0+1
=
8
•
(
est Quadrant : a incremented
← while
scanning)
90% 9 decremented
DA
①
da DA =
g +
m•A yu+ ,
•
•
dB = r + OB
W
•
" _
B dB
↳ -
ve usually
as B in circle
T >
K N 1
A ( Nu + 1) , Yu ) ,
B Can -11
,
ya
- 1)
=
✓ ( au + 1) 2
+ ( yn )
2
b/w the
origin
and two pixels .
to decide for y .
10,01 dB = / [ nu -11 -
012 + ( Yu -
I - O )
'
lesser distance
B Inn-11 .
Yu -
1) chosen .
=
J ( un + 1)
2
+ ( yn -
1)
2
From eq
"
① .
DA =
n + 8A dB = r + dB
DA = DA -
r
OB = dB -
r
( F) DA
'
,dB
'
DA dB
squaring as / are
,
new term
DAZ
'
FA = _ v2
OB
'
= DBZ _ v2
Decision Parameter
'
p = 8A t JB
'
P + ve
if 8A > OB choose pixel B
P -
ve if 8A < dB choose pixel A.
Pk dB
'
0A
'
= -1
2) v2)
≥
Pk = ( da -
• + ( dB -
[
-
Pu =
Can + 1) 2- V2 + yr
≥
] + ( seu + 1)
2
+ ( yr -
1) 2- v2 ]
Pn =
2 ( Nu + 1)
2
+ ( yn -
1)
2
+ yu2 _
2r2 ⑥
Pk+ =
2 ( Nu + 1)
2
+ ( yu+ , -
1)
2
+
yk→ ,
2
-
2m
④
,
, ,
NOW ,
⑨ -
⑨ gives .
1) 2-
2 2 2
Put ,
-
Pu = 2 ( xk→ ,
1- 2 ( an + 1) + ( Yu -1 , -
1) _
( ya -
1)
2 2
+
Yu , , y,
-
AS Hu -11
,
Uh , ,
=
,
2 2
Pa , ,
-
Pn = 2 ( nut I + 1) -
2 / an + 1) + ( yu+ ,
-
1)
2
_
( yn -
1)
2
+
yii ,
-
yi
'
(Atb) b2
Expanding terms as a2 -1 1- Zab
( HI ( yu2+ ,
≥
Pu , ,
-
Pu = 2
( un + 4 + ↳
Uk )
-
2 + I +
Zuk) + + I -
Zyie , , )
( yuz I
Zyu ) +
Yu! Yu2
-
+ -
-
* * pn , =
Pk +
Lexie + 2 ( Yu -
yah ) -
2 / Yu -
Yu ) +6
, + , +,
•
Derivation of Po .
@)
"
Pie = 2( Nie -11 )2 + ( ya -
1)
2
+ yu2 -
2,2 ( from ee
=) 1)
2
( Nu (O 1)
2
=0
eyre Po =
2 + +
(r - -1 v2 -
222
Po = 3- 2N
Bresennam Circle Drawing Algorithm
90%
① Plot the
fixed pixel of first octant
•
← as 10 ,r )
(Om) any A
②
•
Yu -11
Po = 3- Zr
T >
loco)i< r +
n ③ Repeat till a ≤ y
:
+6
Pie + ,
=
Pie + ↳ Uk
& Hutt
substituting Hut ,
=
Tn Pie , y
✗ kti=NK
Yue ,
-
-
Yu
else
,
if ( Pie ≥ 0 ) then
Pk+ ,
=
Put 4( Mu -
Yu ) +10
Nu I
V Nut , = 1-
Rieti =Nk =
Yk l
yk+ ,
-
Yue , =
Yu
-
I
7
Sod : (n ,
y) = Coir ) =
( 0,4 )
Po = 3- 2N
= 3- 8 nYP-
= -5
Q1 o
)
I '
Ps o
ly =
ya
4
2 I -1
#
01-1 '
3
=
=
zeke ,
Yue ,
=
Yu =
4
Pu+ = Pu +
4mn +6
,
= -5 + 0 +6
= -5+6
-
-
I
PLONK -11
= 2
Yat , = 4
-1 t 4+6
Put , =
= 9
P>0
Nut , = 3
Yu -11 = 3
( au Yu )
+
Put, =
Pu 4 -
+10
=
9+4 (2-4) +10 P for other
= 9 +10 -
8 Quadrants isnt
= 11 calculated .
Cary) (u y)
-
,
Qi Qz 03 Q4
( 0,4 )
( )
1,4
( 2,3 )
( 3,3)
7
cases radius =
(n
,y ) : [ 0,7) u
y p
Po = 3- 2N 0 7 -11
= -11 I 7 -5
2 7 5
3 6 -5
PLO 4 6 13
+ 4 Ku 6 5 5
Put , =
Pic + 15
6
= -11 + (4×0) +
= -
5
Hut ,
=
1
Yu -1, = 7
p <0
-5+4+6
Put ,
=
= 5
NK -11 =
2
↳ he -11
= 7
P > 0
Put , Pie ↳ ( Mu Yu ) + 10
-
= +
= 5 + 4 (2-7) 1- 10
= -
5
6
4kt , =
Uk -11 =3
Pao
Piet ,
= -5 + 12-16
=
13
Yue , = 6
Muti = 4
p> 0
Put ,
= 13 1- 414 -
6) +10
=
15
Rae ,
= 5
4kt , = 5
Point where
Ri=R2
Ellipse =
elongated
circle
Ri
↑ •
R2 100 ) =
equation
rrynlb
centre
↓
>
U
[major axis)
-
ru /a
Ellipse eqn :
④
E-
NZ = 1-
+
at
ycminor
axis )
① Major axis -
Za =
2mn
④ Minor axis -
2b =
Zry
From ④ ,
n2b2 + y2aᵗ =L
9262
so ,
ry 2×2
+
Zafy 2 -
vu2vy2 =D ⑤
It ⑤ ,
=D < 0 > 0
ON INSIDE OUTSIDE
- '
g ( vy2n2 + hi y2 -
ri ryz } = O
)
÷n(%n) ÷n(%;÷)
dy (y -
←
rearrange
-
-
an
↳ constant
%n czy )
;;÷
-2
=
÷n
=
%!÷
-
,
we want to divide
%n =
-
1 eoual halves
,
2min =
2rn2y
is assumed
point where
R, =Rz
We want to
R'
find a point
q •
Rz
Where R, =
Rz
V9 / b
↓ a + +
-
ru /a
>
4
[major axis)
[ / Yu -11
Yu
(
Slope < I
Rz y
- -
-
[ du
slope
/ nut '
>I
ycminor
axis )
Regional Create)
is
If point in
↳
ya
on / Outside
↳ yn I -
Midpoint Mutt + Uu -11
for region 1
#
yu ) 1) ±)
=
Nutt
( Mn -11 ,
( Mutt , ya
-
( au -11 , ya
-
& Midpoint
%+Y
Eqn ④ ,
= Yu - '
12
ry2n2 rnfy
?
+ -
rn2 ry2 =0
ry2 ( nu ( f)
2
+ 1) + rn2 yn -
2
_
v3 ryz =
Pie ⑤
For
Puti .
± )2
1)
2 ' "
My
2
( sea, + + Vu ( ya , ,
- -
rµ2 ry
=
Put ,
,
In R1
,
n
incrementing ie Mie -11 =
an -11
So ,
2
( 1) 2
ry2 nu + I + + rn2 ( yu+ , -
E) -
ze2ry2 = Put, ②
② -
⑤ gives us .
Put ,
-
Pu
=
ryz { ( Nutt ) + I } -
try
≥
( anti)
'
+
ra2lYu+ ,
-
±)2
( E) r%2 #
≥ 2 2
yn +
on
-
rn
-
-
( anti ) }
2y#
2
ry2 { e)
2
(
☒ 1) -1 1+2
= -
+
/ Yui ) ri
/ yn2+ )
'
÷
+ Yu
rn +
± Yat , - -
-
=
ry2 $ 21mn + 1) +1 } + rn
'
( yu+? -
yn+ , -
yi + Yu )
↳ yn or
Yu-1
1)
2 ≥ 2
pu
=
ry2 ( Nu 1- + rn ( yn - I
/ 2) -
rn
≥
ry
≥
1)
2
po
=
Nyt +
rz2ry2 _
rpiry +
rn% -
rnzryz
÷i
'
Po
=
Vy
-
Tiny +
*
For region 2 ,
Po
=
vy2( no 1- I / 2) +
2
rut Iyo -
1) _
ru2vy2
Midpoint for Rz
( Ru , Yu -1 ) ( au -11 , yn
-
1)
( Nu + 112 ) , ( Yu -1
) ←
midpoint
C- ovation ③ ,
ry2x2 +
Vn2y2 _
rule ry2
( Rz)
( 1)
2
f) Ki rn2ry2
≥
( Pzn
2 =
+
Vy Nu yn
-
+ -
( 1)
2
E) ( 2- 2
ry2 nut , +
+ hi yu+,
-
Tiny =
P2u+ ,
1)
2 2
g) (
'
ryz ( nun , + + rn2 Yu
-
I - -
ring =
Pm+ ,
PZK -11 -
PZU ,
E) } ri { Cyril 1) 2- 1%-1 ) )
2
v5 { ( nut +
E) 2-
( an +
-
= +
,
vn2Vy2 Tiny
-
2
+
¥ ¥]
2
=
vy2[ um , 1- nut ,
+ -
Hui -
nu
+
Val
[ ( yn
'
-11 -
29k + I -
Zyn -1-2) -
( Yul + I -
Zyu ) ]
] )]
=
ry2 [ nut + Um , UKZ nu +
ra2 [ I 2 lyu l
-
- -
-
=
vy2[ Nut ,
+
Nu , ,
-
nu
≥
_
an } + rn2 ( I -
Zyu +. )
}
p>0
Nut ,
= NK
p ≤ 0
+ ,
"
kti
=
Nu
Algorithm
Radius Me , ry (
,gy
N >
Y) for Ri
calculate Po =
ry2 _
ra2 Try +
¥ Vn2 ,
dn =
2Vy2n , dy =
2rn2y
Regi
Repeat while Cda <
dy )
{
IN y)
Plot
,
it IP ,
< 0 )
{
N = ✗ +1
Update dn ( Zuylen)
P ,
= P , -12N } N +
ry2
}
else ,
{
U=N -11 -1
, y
=
y
Update an
Update dy
?
Pa , ,=
Put dn -
dy try
}
peg¥ when [ da ≥ dy )
? 2
Cry 1)
2
pole IN -11 / 2) 2mL (
=
+ + y
- _
vn2ry2
{
Man -1
,
y=y
Update dy
Pz =
Pz -
dy +
rat
else
{
NIN -11 -1
,
y =
y
Update dy
dn
Update
?
Pz : Pz 1- du -
dy +
rn
}
}
Q) Iterate
using midpoint ellipse drawing algorithm
for
rn = 8
Ny = 6
Cdn) Cdy )
Decision
Zyn -117nF
z
( nu , yn ) Parameter ( Muti , Yue ,) 2MW , Vy
P , P2
,
( 0 , 6) -332
,
-224 ( 1,6 ) 72 768
( 1,6 ) -224 ,
-44 (2/6) 144 768
( 2 , 6) -
44
,
208 (3/6) 216 768
( 3,6 ) 208
,
- 108 1415 ) 288 640
( 4,5) -
108
,
288 1515) 360 640
a--8 a 2=64
5=6 62=36
52 al bl
Pk =
+
tgaz
-
=
3Gt (04×6)
%
-
=
-332<0
Pu Pu + 62 t 2
( Mpw + 1) b2 1- a2(y2 y Pred ) al
-
ly -
ypverf