SlideShare ist ein Scribd-Unternehmen logo
1 von 12
MID-POINT LINE
PLOTTING ALGORITHM
MADE BY: DIMPY
CHUGH (1833)
DRISHTI BHALLA (1838)
INTRODUCTION
The Midpoint line algorithm is an incremental line plotting algorithm
i.e. at each step we make incremental calculations based on
preceding step to find next y value, in order to form a close
approximation to a straight line between two points.
 It chooses the pixels closest to the line with accuracy, consistency
and straightness.
 It is very simple and requires only integer data and simple
arithmetic.
 It avoids division and multiplication and thus avoid truncate
errors.
ADVANTAGES
BASISOF ALGORITHM
 Given the previous pixel P, there are two candidates for the next pixel
closest to the line, E and NE .
 If the M is above the line, choose E. If M is below the line, choose NE.
Previous pixel Choices for
current pixel
Previous pixel Choices for
current pixel
Assumptions:
Two end points of a line : (x0, y0) and (x1, y1)
Also, x0 < x1
Since, we are sampling in x-direction, so, for the next pixel , x-coordinate
will be xp+1 i.e. xp+ 1 and correspondingly we will calculate the value of y-
coordinate .
The implicit equation of a line is:
F(x, y) = a x + b y + c …….(1)
dx = x1 –x0
dy = y1 – y0
Slope intercept form a line is : y = m x+ B
y = (dy/dx) x +B
F(x,y)= (x)dy – (y)dx + Bdx ……(2)
Comparing (1) and(2) we get,
a= dy, b= -dx and c= Bdx
DERIVATION
M=(xp +1, yp+1/2)
d= F(M)= F(xp +1, yp+1/2)
- The sign of the decision variable ‘d’ is used to make the midpoint
determination for all remaining pixels.
 If d is negative, the midpoint is above the line and E is chosen
i.e. (xp +1, yp) will be plotted.
 If d is positive, the midpoint is below the line and NE is
chosen, i.e. we will plot (xp +1, yp+1).
As the algorithm progresses from pixel to pixel, d is calculated
with one of two pre-calculated values based on the E/NE decision.
 For all points on the line, the solution to F(x, y) is 0.
 For all points above the line F(x, y) result in a negative number
 For all points below F(x, y) result in a positive number.
This relationship is used to determine the relative position of M.
Case 1: If E is chosen (d<0)
dnew= F(xp +2, yp+1/2)
= a(xp +2) + b(yp+1/2) +c
dold = a(xp+1) + b(yp+1/2)+c
∆d = dnew -dold
= a(xp +2)- a(xp+1)+ b(yp+1/2)- b(yp+1/2)+c-c
= a(xp) +2a –a(xp) –a = a.
Therefore, dnew = dold + dy
Case 2: If NE is chosen (d>0)
dnew= F(xp +2, yp+3/2)
= a(xp +2) + b(yp+3/2) +c
dold = a(xp+1) + b(yp+1/2)+c
∆d = dnew -dold
= a(xp +2)- a(xp+1)+ b(yp+3/2)- b(yp+1/2)+c-c
= a(xp) +2a –a(xp) –a+ b(yp) +3/2b –
b(yp) -1/2b
= a+b
Therefore, dnew = dold + dy-dx
d0= F(x0+1 , y0+1/2)
= a(x0+1) + b(y0+1/2) +c
= ax0+ by0+c +a+ b/2
= F(x0,y0) + a+ b/2
= 0 + a+ b/2 ( a= dy, b= -dx)
Therefore, d0 = dy - dx/2
Derivationforcalculatingthe initial value for d0
ALGORITHM(|M|<1)
1) Input (x0,y0) and (x1,y1)
2) Calculate dy and dx
3) d= dy-(dx/2)
4) x= x0 and y=y0
5) Plot(x , y)
6) While(x<x1)
7) x=x+1
8) If(d<0)
9) d=d+dy
10) else
11) d=d+dy-dx
12) y=y+1
13) Plot(x,y)
ALGORITHM (|M|>1)
1) Input (x0,y0) and (x1,y1)
2) Calculate dy and dx
3) d= dx-(dy/2)
4) x= x0 and y=y0
5) Plot(x , y)
6) While(y<y1)
7) y=y+1
8) If(d<0)
9) d=d+dx
10) else
11) d=d+dx-dy
12) x=x+1
13) Plot(x,y)
EXAMPLE Draw a line from (4,8) to (9,12)
and plot the points accordingly.
Initially:
(x,y)=(4,8)
(x1,y1)=(9,12)
dy=(y1-y0)= (12-8)= 4
dx= (x1-x0)=(9-4)= 5
Now, the first decision variable
(d0)= dy- dx/2
= 4-5/2
= 1.5
As d0 >0 , NE is chosen and the next pixel to be plotted will be
( x+1,y+1) i.e. (5,9)
-> d1= d0+ (dy-dx)
= 1.5+ 4-5 = 0.5
As d1 >0 , again NE is chosen and the next pixel to be plotted will be
( x+1,y+1) i.e.(6,10)
-> d2=d1+ dy-dx
= 0.5+4-5 = -0.5
As d2 <0 , E is chosen and the next pixel to be plotted will be
( x+1,y) i.e. (7,10)
-> d3= d2+dy
= -0.5 + 4 = 3.5
As d3 >0 , NE is chosen and the next pixel to be plotted will be ( x+1,y+1)
i.e. (8,11)
-> d4= d3+dy-dx
= 3.5+ 4-5 = 2.5
As d4 >0 , NE is chosen and the next pixel to be plotted will be ( x+1,y+1)
i.e. (9,12)
Now as we have reached our second end point i.e.
(x1,y1)= (9,12) ,we will stop the procedure.
Therefore, the plotted points on the grids will be (5,9) ,(6,10),
( 7,10) ,(8,11) and (9,12).
THANK YOU!

Weitere ähnliche Inhalte

Was ist angesagt?

Computer graphics iv unit
Computer graphics iv unitComputer graphics iv unit
Computer graphics iv unit
aravindangc
 

Was ist angesagt? (20)

Line Drawing Algorithms - Computer Graphics - Notes
Line Drawing Algorithms - Computer Graphics - NotesLine Drawing Algorithms - Computer Graphics - Notes
Line Drawing Algorithms - Computer Graphics - Notes
 
Cohen sutherland line clipping
Cohen sutherland line clippingCohen sutherland line clipping
Cohen sutherland line clipping
 
Anti- aliasing computer graphics
Anti- aliasing computer graphicsAnti- aliasing computer graphics
Anti- aliasing computer graphics
 
Bresenham's line drawing algorithm
Bresenham's line drawing algorithmBresenham's line drawing algorithm
Bresenham's line drawing algorithm
 
Dda algorithm
Dda algorithmDda algorithm
Dda algorithm
 
Raster Scan Graphics, Line Drawing Algorithm and Circle Drawing Algorithm
Raster Scan Graphics, Line Drawing Algorithm and Circle Drawing Algorithm Raster Scan Graphics, Line Drawing Algorithm and Circle Drawing Algorithm
Raster Scan Graphics, Line Drawing Algorithm and Circle Drawing Algorithm
 
Polygon filling algorithm
Polygon filling algorithmPolygon filling algorithm
Polygon filling algorithm
 
Liang- Barsky Algorithm, Polygon clipping & pipeline clipping of polygons
Liang- Barsky Algorithm, Polygon clipping & pipeline clipping of polygonsLiang- Barsky Algorithm, Polygon clipping & pipeline clipping of polygons
Liang- Barsky Algorithm, Polygon clipping & pipeline clipping of polygons
 
Clipping
ClippingClipping
Clipping
 
Computer Graphic - Lines, Circles and Ellipse
Computer Graphic - Lines, Circles and EllipseComputer Graphic - Lines, Circles and Ellipse
Computer Graphic - Lines, Circles and Ellipse
 
Clipping
ClippingClipping
Clipping
 
Computer graphics iv unit
Computer graphics iv unitComputer graphics iv unit
Computer graphics iv unit
 
Depth Buffer Method
Depth Buffer MethodDepth Buffer Method
Depth Buffer Method
 
Segments in Graphics
Segments in GraphicsSegments in Graphics
Segments in Graphics
 
2 d viewing computer graphics
2 d viewing computer graphics2 d viewing computer graphics
2 d viewing computer graphics
 
Anti aliasing Computer Graphics
Anti aliasing Computer GraphicsAnti aliasing Computer Graphics
Anti aliasing Computer Graphics
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
Mid point circle algorithm
Mid point circle algorithmMid point circle algorithm
Mid point circle algorithm
 
Polygon filling
Polygon fillingPolygon filling
Polygon filling
 
Cohen-Sutherland Line Clipping Algorithm
Cohen-Sutherland Line Clipping AlgorithmCohen-Sutherland Line Clipping Algorithm
Cohen-Sutherland Line Clipping Algorithm
 

Ähnlich wie Mid point line Algorithm - Computer Graphics

Open GL T0074 56 sm4
Open GL T0074 56 sm4Open GL T0074 56 sm4
Open GL T0074 56 sm4
Roziq Bahtiar
 
chapter 3 , foley.pptxhuujjjjjjjkjmmmm. Ibibhvucufucuvivihohi
chapter 3 , foley.pptxhuujjjjjjjkjmmmm.  Ibibhvucufucuvivihohichapter 3 , foley.pptxhuujjjjjjjkjmmmm.  Ibibhvucufucuvivihohi
chapter 3 , foley.pptxhuujjjjjjjkjmmmm. Ibibhvucufucuvivihohi
54MahakBansal
 
Open GL 04 linealgos
Open GL 04 linealgosOpen GL 04 linealgos
Open GL 04 linealgos
Roziq Bahtiar
 
Line drawing algorithm and antialiasing techniques
Line drawing algorithm and antialiasing techniquesLine drawing algorithm and antialiasing techniques
Line drawing algorithm and antialiasing techniques
Ankit Garg
 

Ähnlich wie Mid point line Algorithm - Computer Graphics (20)

Line circle draw
Line circle drawLine circle draw
Line circle draw
 
99995320.ppt
99995320.ppt99995320.ppt
99995320.ppt
 
raster algorithm.pdf
raster algorithm.pdfraster algorithm.pdf
raster algorithm.pdf
 
Computer Graphics Unit 2
Computer Graphics Unit 2Computer Graphics Unit 2
Computer Graphics Unit 2
 
Open GL T0074 56 sm4
Open GL T0074 56 sm4Open GL T0074 56 sm4
Open GL T0074 56 sm4
 
Unit-2 raster scan graphics,line,circle and polygon algorithms
Unit-2 raster scan graphics,line,circle and polygon algorithmsUnit-2 raster scan graphics,line,circle and polygon algorithms
Unit-2 raster scan graphics,line,circle and polygon algorithms
 
OUTPUT PRIMITIVES.pptx
OUTPUT PRIMITIVES.pptxOUTPUT PRIMITIVES.pptx
OUTPUT PRIMITIVES.pptx
 
OUTPUT PRIMITIVES.pptx
OUTPUT PRIMITIVES.pptxOUTPUT PRIMITIVES.pptx
OUTPUT PRIMITIVES.pptx
 
Dda algo notes
Dda algo notesDda algo notes
Dda algo notes
 
Chapter 3 Output Primitives
Chapter 3 Output PrimitivesChapter 3 Output Primitives
Chapter 3 Output Primitives
 
chapter 3 , foley.pptxhuujjjjjjjkjmmmm. Ibibhvucufucuvivihohi
chapter 3 , foley.pptxhuujjjjjjjkjmmmm.  Ibibhvucufucuvivihohichapter 3 , foley.pptxhuujjjjjjjkjmmmm.  Ibibhvucufucuvivihohi
chapter 3 , foley.pptxhuujjjjjjjkjmmmm. Ibibhvucufucuvivihohi
 
Open GL 04 linealgos
Open GL 04 linealgosOpen GL 04 linealgos
Open GL 04 linealgos
 
Computer graphics LINE DRAWING algorithm.pptx
Computer graphics LINE DRAWING algorithm.pptxComputer graphics LINE DRAWING algorithm.pptx
Computer graphics LINE DRAWING algorithm.pptx
 
Cs580
Cs580Cs580
Cs580
 
Line drawing algorithm and antialiasing techniques
Line drawing algorithm and antialiasing techniquesLine drawing algorithm and antialiasing techniques
Line drawing algorithm and antialiasing techniques
 
Computer graphics notes 2 tutorials duniya
Computer graphics notes 2   tutorials duniyaComputer graphics notes 2   tutorials duniya
Computer graphics notes 2 tutorials duniya
 
cgrchapter2version-1-200729063505 (1).pdf
cgrchapter2version-1-200729063505 (1).pdfcgrchapter2version-1-200729063505 (1).pdf
cgrchapter2version-1-200729063505 (1).pdf
 
Output primitives in Computer Graphics
Output primitives in Computer GraphicsOutput primitives in Computer Graphics
Output primitives in Computer Graphics
 
Computer Aided Manufacturing Design
Computer Aided Manufacturing DesignComputer Aided Manufacturing Design
Computer Aided Manufacturing Design
 
elementry-objects-CG give great effort on learning for exam
elementry-objects-CG give great effort on learning for examelementry-objects-CG give great effort on learning for exam
elementry-objects-CG give great effort on learning for exam
 

Mehr von Drishti Bhalla

Mehr von Drishti Bhalla (16)

Propositions - Discrete Structures
Propositions - Discrete Structures Propositions - Discrete Structures
Propositions - Discrete Structures
 
Physical Layer Numericals - Data Communication & Networking
Physical Layer  Numericals - Data Communication & NetworkingPhysical Layer  Numericals - Data Communication & Networking
Physical Layer Numericals - Data Communication & Networking
 
Determinants - Mathematics
Determinants - MathematicsDeterminants - Mathematics
Determinants - Mathematics
 
Matrices - Mathematics
Matrices - MathematicsMatrices - Mathematics
Matrices - Mathematics
 
Holy Rivers - Hindi
Holy Rivers - HindiHoly Rivers - Hindi
Holy Rivers - Hindi
 
Unix Memory Management - Operating Systems
Unix Memory Management - Operating SystemsUnix Memory Management - Operating Systems
Unix Memory Management - Operating Systems
 
Collections Api - Java
Collections Api - JavaCollections Api - Java
Collections Api - Java
 
Airline Reservation System - Software Engineering
Airline Reservation System - Software EngineeringAirline Reservation System - Software Engineering
Airline Reservation System - Software Engineering
 
Performance Management and Feedback - SHRM
Performance Management and Feedback - SHRMPerformance Management and Feedback - SHRM
Performance Management and Feedback - SHRM
 
Computer System Architecture - BUN instruction
Computer System Architecture - BUN instructionComputer System Architecture - BUN instruction
Computer System Architecture - BUN instruction
 
King of acids -Sulphuric Acid H2SO4
King of acids -Sulphuric Acid H2SO4King of acids -Sulphuric Acid H2SO4
King of acids -Sulphuric Acid H2SO4
 
Information Technology - System Threats
Information Technology - System ThreatsInformation Technology - System Threats
Information Technology - System Threats
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
 
Binary Search - Design & Analysis of Algorithms
Binary Search - Design & Analysis of AlgorithmsBinary Search - Design & Analysis of Algorithms
Binary Search - Design & Analysis of Algorithms
 
CNF & Leftmost Derivation - Theory of Computation
CNF & Leftmost Derivation - Theory of ComputationCNF & Leftmost Derivation - Theory of Computation
CNF & Leftmost Derivation - Theory of Computation
 
Fd & Normalization - Database Management System
Fd & Normalization - Database Management SystemFd & Normalization - Database Management System
Fd & Normalization - Database Management System
 

Kürzlich hochgeladen

Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 

Kürzlich hochgeladen (20)

Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 

Mid point line Algorithm - Computer Graphics

  • 1. MID-POINT LINE PLOTTING ALGORITHM MADE BY: DIMPY CHUGH (1833) DRISHTI BHALLA (1838)
  • 2. INTRODUCTION The Midpoint line algorithm is an incremental line plotting algorithm i.e. at each step we make incremental calculations based on preceding step to find next y value, in order to form a close approximation to a straight line between two points.  It chooses the pixels closest to the line with accuracy, consistency and straightness.  It is very simple and requires only integer data and simple arithmetic.  It avoids division and multiplication and thus avoid truncate errors. ADVANTAGES
  • 3. BASISOF ALGORITHM  Given the previous pixel P, there are two candidates for the next pixel closest to the line, E and NE .  If the M is above the line, choose E. If M is below the line, choose NE. Previous pixel Choices for current pixel Previous pixel Choices for current pixel
  • 4. Assumptions: Two end points of a line : (x0, y0) and (x1, y1) Also, x0 < x1 Since, we are sampling in x-direction, so, for the next pixel , x-coordinate will be xp+1 i.e. xp+ 1 and correspondingly we will calculate the value of y- coordinate . The implicit equation of a line is: F(x, y) = a x + b y + c …….(1) dx = x1 –x0 dy = y1 – y0 Slope intercept form a line is : y = m x+ B y = (dy/dx) x +B F(x,y)= (x)dy – (y)dx + Bdx ……(2) Comparing (1) and(2) we get, a= dy, b= -dx and c= Bdx DERIVATION
  • 5. M=(xp +1, yp+1/2) d= F(M)= F(xp +1, yp+1/2) - The sign of the decision variable ‘d’ is used to make the midpoint determination for all remaining pixels.  If d is negative, the midpoint is above the line and E is chosen i.e. (xp +1, yp) will be plotted.  If d is positive, the midpoint is below the line and NE is chosen, i.e. we will plot (xp +1, yp+1). As the algorithm progresses from pixel to pixel, d is calculated with one of two pre-calculated values based on the E/NE decision.  For all points on the line, the solution to F(x, y) is 0.  For all points above the line F(x, y) result in a negative number  For all points below F(x, y) result in a positive number. This relationship is used to determine the relative position of M.
  • 6. Case 1: If E is chosen (d<0) dnew= F(xp +2, yp+1/2) = a(xp +2) + b(yp+1/2) +c dold = a(xp+1) + b(yp+1/2)+c ∆d = dnew -dold = a(xp +2)- a(xp+1)+ b(yp+1/2)- b(yp+1/2)+c-c = a(xp) +2a –a(xp) –a = a. Therefore, dnew = dold + dy Case 2: If NE is chosen (d>0) dnew= F(xp +2, yp+3/2) = a(xp +2) + b(yp+3/2) +c dold = a(xp+1) + b(yp+1/2)+c ∆d = dnew -dold = a(xp +2)- a(xp+1)+ b(yp+3/2)- b(yp+1/2)+c-c = a(xp) +2a –a(xp) –a+ b(yp) +3/2b – b(yp) -1/2b = a+b Therefore, dnew = dold + dy-dx
  • 7. d0= F(x0+1 , y0+1/2) = a(x0+1) + b(y0+1/2) +c = ax0+ by0+c +a+ b/2 = F(x0,y0) + a+ b/2 = 0 + a+ b/2 ( a= dy, b= -dx) Therefore, d0 = dy - dx/2 Derivationforcalculatingthe initial value for d0
  • 8. ALGORITHM(|M|<1) 1) Input (x0,y0) and (x1,y1) 2) Calculate dy and dx 3) d= dy-(dx/2) 4) x= x0 and y=y0 5) Plot(x , y) 6) While(x<x1) 7) x=x+1 8) If(d<0) 9) d=d+dy 10) else 11) d=d+dy-dx 12) y=y+1 13) Plot(x,y)
  • 9. ALGORITHM (|M|>1) 1) Input (x0,y0) and (x1,y1) 2) Calculate dy and dx 3) d= dx-(dy/2) 4) x= x0 and y=y0 5) Plot(x , y) 6) While(y<y1) 7) y=y+1 8) If(d<0) 9) d=d+dx 10) else 11) d=d+dx-dy 12) x=x+1 13) Plot(x,y)
  • 10. EXAMPLE Draw a line from (4,8) to (9,12) and plot the points accordingly. Initially: (x,y)=(4,8) (x1,y1)=(9,12) dy=(y1-y0)= (12-8)= 4 dx= (x1-x0)=(9-4)= 5 Now, the first decision variable (d0)= dy- dx/2 = 4-5/2 = 1.5 As d0 >0 , NE is chosen and the next pixel to be plotted will be ( x+1,y+1) i.e. (5,9) -> d1= d0+ (dy-dx) = 1.5+ 4-5 = 0.5 As d1 >0 , again NE is chosen and the next pixel to be plotted will be ( x+1,y+1) i.e.(6,10)
  • 11. -> d2=d1+ dy-dx = 0.5+4-5 = -0.5 As d2 <0 , E is chosen and the next pixel to be plotted will be ( x+1,y) i.e. (7,10) -> d3= d2+dy = -0.5 + 4 = 3.5 As d3 >0 , NE is chosen and the next pixel to be plotted will be ( x+1,y+1) i.e. (8,11) -> d4= d3+dy-dx = 3.5+ 4-5 = 2.5 As d4 >0 , NE is chosen and the next pixel to be plotted will be ( x+1,y+1) i.e. (9,12) Now as we have reached our second end point i.e. (x1,y1)= (9,12) ,we will stop the procedure. Therefore, the plotted points on the grids will be (5,9) ,(6,10), ( 7,10) ,(8,11) and (9,12).