SlideShare a Scribd company logo
1 of 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!

More Related Content

What's hot

2D transformation (Computer Graphics)
2D transformation (Computer Graphics)2D transformation (Computer Graphics)
2D transformation (Computer Graphics)Timbal Mayank
 
Output primitives in Computer Graphics
Output primitives in Computer GraphicsOutput primitives in Computer Graphics
Output primitives in Computer GraphicsKamal Acharya
 
Composite transformation
Composite transformationComposite transformation
Composite transformationPooja Dixit
 
Mid point circle algorithm
Mid point circle algorithmMid point circle algorithm
Mid point circle algorithmMani Kanth
 
Circle generation algorithm
Circle generation algorithmCircle generation algorithm
Circle generation algorithmAnkit Garg
 
3D transformation in computer graphics
3D transformation in computer graphics3D transformation in computer graphics
3D transformation in computer graphicsSHIVANI SONI
 
Polygon filling algorithm
Polygon filling algorithmPolygon filling algorithm
Polygon filling algorithmAparna Joshi
 
2 d geometric transformations
2 d geometric transformations2 d geometric transformations
2 d geometric transformationsMohd Arif
 
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...Saikrishna Tanguturu
 
Line Drawing Algorithms - Computer Graphics - Notes
Line Drawing Algorithms - Computer Graphics - NotesLine Drawing Algorithms - Computer Graphics - Notes
Line Drawing Algorithms - Computer Graphics - NotesOmprakash Chauhan
 
Window to viewport transformation
Window to viewport transformationWindow to viewport transformation
Window to viewport transformationAnkit Garg
 
Hidden surfaces
Hidden surfacesHidden surfaces
Hidden surfacesMohd Arif
 
Anti- aliasing computer graphics
Anti- aliasing computer graphicsAnti- aliasing computer graphics
Anti- aliasing computer graphicsSafayet Hossain
 
Computer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithmComputer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithmRuchi Maurya
 
Cyrus beck line clipping algorithm
Cyrus beck line clipping algorithmCyrus beck line clipping algorithm
Cyrus beck line clipping algorithmPooja Dixit
 
Digital Image Processing: Image Segmentation
Digital Image Processing: Image SegmentationDigital Image Processing: Image Segmentation
Digital Image Processing: Image SegmentationMostafa G. M. Mostafa
 

What's hot (20)

BRESENHAM’S LINE DRAWING ALGORITHM
BRESENHAM’S  LINE DRAWING ALGORITHMBRESENHAM’S  LINE DRAWING ALGORITHM
BRESENHAM’S LINE DRAWING ALGORITHM
 
2D transformation (Computer Graphics)
2D transformation (Computer Graphics)2D transformation (Computer Graphics)
2D transformation (Computer Graphics)
 
Output primitives in Computer Graphics
Output primitives in Computer GraphicsOutput primitives in Computer Graphics
Output primitives in Computer Graphics
 
Composite transformation
Composite transformationComposite transformation
Composite transformation
 
Mid point circle algorithm
Mid point circle algorithmMid point circle algorithm
Mid point circle algorithm
 
Circle generation algorithm
Circle generation algorithmCircle generation algorithm
Circle generation algorithm
 
3D transformation in computer graphics
3D transformation in computer graphics3D transformation in computer graphics
3D transformation in computer graphics
 
Polygon filling algorithm
Polygon filling algorithmPolygon filling algorithm
Polygon filling algorithm
 
2 d geometric transformations
2 d geometric transformations2 d geometric transformations
2 d geometric transformations
 
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
 
Line Drawing Algorithms - Computer Graphics - Notes
Line Drawing Algorithms - Computer Graphics - NotesLine Drawing Algorithms - Computer Graphics - Notes
Line Drawing Algorithms - Computer Graphics - Notes
 
Window to viewport transformation
Window to viewport transformationWindow to viewport transformation
Window to viewport transformation
 
Polygon filling
Polygon fillingPolygon filling
Polygon filling
 
Hidden surfaces
Hidden surfacesHidden surfaces
Hidden surfaces
 
Anti- aliasing computer graphics
Anti- aliasing computer graphicsAnti- aliasing computer graphics
Anti- aliasing computer graphics
 
Computer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithmComputer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithm
 
Cyrus beck line clipping algorithm
Cyrus beck line clipping algorithmCyrus beck line clipping algorithm
Cyrus beck line clipping algorithm
 
Lighting and shading
Lighting and shadingLighting and shading
Lighting and shading
 
Depth Buffer Method
Depth Buffer MethodDepth Buffer Method
Depth Buffer Method
 
Digital Image Processing: Image Segmentation
Digital Image Processing: Image SegmentationDigital Image Processing: Image Segmentation
Digital Image Processing: Image Segmentation
 

Similar to Mid point line Algorithm - Computer Graphics

Computer Graphics Unit 2
Computer Graphics Unit 2Computer Graphics Unit 2
Computer Graphics Unit 2SanthiNivas
 
Open GL T0074 56 sm4
Open GL T0074 56 sm4Open GL T0074 56 sm4
Open GL T0074 56 sm4Roziq Bahtiar
 
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 algorithmsAmol Gaikwad
 
OUTPUT PRIMITIVES.pptx
OUTPUT PRIMITIVES.pptxOUTPUT PRIMITIVES.pptx
OUTPUT PRIMITIVES.pptxIndhuMcamphil
 
OUTPUT PRIMITIVES.pptx
OUTPUT PRIMITIVES.pptxOUTPUT PRIMITIVES.pptx
OUTPUT PRIMITIVES.pptxAlamelu
 
Chapter 3 Output Primitives
Chapter 3 Output PrimitivesChapter 3 Output Primitives
Chapter 3 Output PrimitivesPrathimaBaliga
 
chapter 3 , foley.pptxhuujjjjjjjkjmmmm. Ibibhvucufucuvivihohi
chapter 3 , foley.pptxhuujjjjjjjkjmmmm.  Ibibhvucufucuvivihohichapter 3 , foley.pptxhuujjjjjjjkjmmmm.  Ibibhvucufucuvivihohi
chapter 3 , foley.pptxhuujjjjjjjkjmmmm. Ibibhvucufucuvivihohi54MahakBansal
 
Open GL 04 linealgos
Open GL 04 linealgosOpen GL 04 linealgos
Open GL 04 linealgosRoziq Bahtiar
 
Line drawing algorithm and antialiasing techniques
Line drawing algorithm and antialiasing techniquesLine drawing algorithm and antialiasing techniques
Line drawing algorithm and antialiasing techniquesAnkit Garg
 
Computer graphics notes 2 tutorials duniya
Computer graphics notes 2   tutorials duniyaComputer graphics notes 2   tutorials duniya
Computer graphics notes 2 tutorials duniyaTutorialsDuniya.com
 
cgrchapter2version-1-200729063505 (1).pdf
cgrchapter2version-1-200729063505 (1).pdfcgrchapter2version-1-200729063505 (1).pdf
cgrchapter2version-1-200729063505 (1).pdfmeenasp
 
Computer Aided Manufacturing Design
Computer Aided Manufacturing DesignComputer Aided Manufacturing Design
Computer Aided Manufacturing DesignV Tripathi
 
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 examtigag49721
 

Similar to 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
 
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
 
03.Scan Conversion.ppt
03.Scan Conversion.ppt03.Scan Conversion.ppt
03.Scan Conversion.ppt
 
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
 
2D_line_circle.ppt
2D_line_circle.ppt2D_line_circle.ppt
2D_line_circle.ppt
 

More from Drishti Bhalla

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

More from 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
 

Recently uploaded

11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptNarmatha D
 
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectssuserb6619e
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Romil Mishra
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communicationpanditadesh123
 
Crystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptxCrystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptxachiever3003
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadaditya806802
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
Autonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptAutonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptbibisarnayak0
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Sumanth A
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
chpater16.pptxMMMMMMMMMMMMMMMMMMMMMMMMMMM
chpater16.pptxMMMMMMMMMMMMMMMMMMMMMMMMMMMchpater16.pptxMMMMMMMMMMMMMMMMMMMMMMMMMMM
chpater16.pptxMMMMMMMMMMMMMMMMMMMMMMMMMMMNanaAgyeman13
 

Recently uploaded (20)

11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.ppt
 
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communication
 
Crystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptxCrystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptx
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasad
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
Autonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptAutonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.ppt
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
chpater16.pptxMMMMMMMMMMMMMMMMMMMMMMMMMMM
chpater16.pptxMMMMMMMMMMMMMMMMMMMMMMMMMMMchpater16.pptxMMMMMMMMMMMMMMMMMMMMMMMMMMM
chpater16.pptxMMMMMMMMMMMMMMMMMMMMMMMMMMM
 

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).