SlideShare a Scribd company logo
Introduction To Curves
C. P. Divate
Abstract
• We present and study existing digital differential analyzer (DDA) algorithms for circle generation,
including an improved two-step DDA algorithm which can be implemented solely in terms of
elementary shifts, addition, and subtraction.
Introduction
• Digital interpolation algorithms are widely used in machine tools with numerical control, graphics
displays and plotters, and manipulation robots. Circles and circular arcs frequently appear in
computer graphics, computer-controlled printing, and automated control;
• One of most popular methods for generation of circles and arcs is known as digital differential
analyzer (DDA).
• In this chapter a new improved two-step algorithm for DDA circle generation is presented.
• The accuracy of this method is higher than the accuracy of other known algorithms.
• Because of its simplicity (it uses only elementary shift, addition, and subtraction); this method can
also be used in numerical control, planning mechanisms, and so forth.
DDA Algorithms
• The general class of DDA algorithms for circles generation is based on obvious trigonometric
transformations describing rotation of vector R in the coordinate plane x and y
• Advantages of DDA algorithms include simplicity and high speed in generating circle point coordinate
xn+1, yn+1 .
DDA Algorithms
Bezier Curve-
Bezier Curve may be defined as-
•Bezier Curve is parametric curve defined by a set of control points.
•Two points are ends of the curve.
•Other points determine the shape of the curve.
The concept of Bezier curves was given by Pierre Bezier.
Bezier Curve Example-
The following curve is an example of a Bezier curve-
Here,
• This bezier curve is defined by a set of control
points b0, b1, b2 and b3.
• Points b0 and b3 are ends of the curve.
• Points b1 and b2 determine the shape of the curve.
Bezier Curve Properties- Few important properties of a Bezier curve are-
Property-01: Bezier curve is always contained within a polygon called as convex hull of its control points.
Property-02:
• Bezier curve generally follows the shape of its defining polygon.
• The first and last points of the curve are coincident with the first and last points of the defining polygon.
Property-03:
• The degree of the polynomial defining the curve segment is one less than the total number of control
points.
Degree = Number of Control Points – 1
Bezier Curve Properties- Few important properties of a Bezier curve are-
Property-04:
• The order of the polynomial defining the curve segment is equal to the total number of control points.
Order = Number of Control Points
Property-05:
• Bezier curve exhibits the variation diminishing property.
• It means the curve do not oscillate about any straight line more often than the defining polygon.
Bezier Curve Equation-
A bezier curve is parametrically represented by-
Here,
• t is any parameter where 0 <= t <= 1
• P(t) = Any point lying on the bezier curve
• Bi = ith control point of the bezier curve
• n = degree of the curve
• Jn,i(t) = Blending function = C(n,i)ti(1-t)n-i where C(n,i) = n! / i!(n-i)!
Cubic Bezier Curve-
• Cubic bezier curve is a bezier curve with degree 3.
• The total number of control points in a cubic bezier curve is 4.
Here,
• This curve is defined by 4 control points b0, b1, b2 and b3.
• The degree of this curve is 3.
• So, it is a cubic bezier curve.
Substituting n = 3 for a cubic bezier curve, we get-
Cubic Bezier Curve-
• Cubic bezier curve is a bezier curve with degree 3.
• The total number of control points in a cubic bezier curve is 4.
Substituting n = 3 for a cubic bezier curve, we get-
Expanding the above equation, we get-
P (t) = B0J3,0(t) + B1J3,1(t) + B2J3,2(t) + B3J3,3(t) ………..(1)
Now,
Cubic Bezier Curve-
Expanding the above equation, we get-
P (t) = B0J3,0(t) + B1J3,1(t) + B2J3,2(t) + B3J3,3(t) ………..(1)
Now,
Cubic Bezier Curve-
Expanding the above equation, we get-
P (t) = B0J3,0(t) + B1J3,1(t) + B2J3,2(t) + B3J3,3(t) ………..(1)
Now,
Using (2), (3), (4) and (5) in (1), we get-
P(t) = B0(1-t)3 + B13t(1-t)2 + B23t2(1-t) + B3t3
This is the required parametric equation for a cubic bezier curve.
Applications of Bezier Curve-
Bezier curves have their applications in the following fields-
1. Computer Graphics-
• Bezier curves are widely used in computer graphics to model smooth curves.
• The curve is completely contained in the convex hull of its control points.
• So, the points can be graphically displayed & used to manipulate the curve intuitively.
2. Animation-
• Bezier curves are used to outline movement in animation applications such as Adobe Flash and synfig.
• Users outline the wanted path in bezier curves.
• The application creates the needed frames for the object to move along the path.
• For 3D animation, bezier curves are often used to define 3D paths as well as 2D curves.
3. Fonts-
• True type fonts use composite bezier curves composed of quadratic bezier curves.
• Modern imaging systems like postscript, asymptote etc use composite bezier curves composed of cubic bezier
curves for drawing curved shapes.
2
Koch Curve
What is Koch Curve?
The Koch snowflake (also known as the Koch curve, Koch star, or Koch island) is a
mathematical curve and one of the earliest fractal curves to have been described. It is
based on the Koch curve, which appeared in a 1904 paper titled “On a continuous curve
without tangents, constructible from elementary geometry” by the Swedish
mathematician Helge von Koch.
The progression for the area of the snowflake converges to 8/5 times the area of the
original triangle, while the progression for the snowflake’s perimeter diverges to infinity.
Consequently, the snowflake has a finite area bounded by an infinitely long line.
3
Depth 1
1 line segment
4
Depth 2
Contains 4 depth-1 curves
(4 line segments)
5
Depth 3
Contains 4 depth-2 curves
(16 line segments)
6
Depth 4
Contains 4 depth-3 curves
(64 line segments)
7
Depth 5
Contains 4 depth-4 curves
(256 line segments)
Construction
Step1: Draw an equilateral triangle. You can draw it with a compass or
protractor, or just eyeball it if you don’t want to spend too much time
drawing the snowflake.
It’s best if the length of the sides are divisible by 3, because of the nature
of this fractal. This will become clear in the next few steps.
Construction
Step2: Divide each side in three equal parts. This is why it is handy to have the
sides divisible by three.
Construction
Step3: Draw an equilateral triangle on each middle part. Measure the length of the
middle third to know the length of the sides of these new triangles.
Construction
Step4: Divide each outer side into thirds. You can see the 2nd generation of
triangles covers a bit of the first. These three line segments shouldn’t
be parted in three.
Construction
Step5: Draw an equilateral triangle on each middle part. Note how you draw each
next generation of parts that are one 3rd of the mast one.
8
Pseudocode Algorithm
Tomake a Koch Curve:
• Draw a straight line if depth is zero; otherwise
draw four smaller Koch Curves.
Koch Curve
The Koch curve is to divide a line into three equal segments and replace the
middle segment with two lines of the same length.
12
• The Koch snowflake can be constructed by starting
with an equilateral triangle, then recursively altering
each line segment as follows:
divide the line segment into fore segments of equal
length.
draw an equilateral triangle that has the middle
segment from step 1 as its base and points outward.
remove the line segment that is the base of the triangle
from step 2.
28
Koch Curve(Construction)
Koch Curve
Start with a line.
Line Segment Transformation
(x1,y1)
(x4,y4)
(x3,y3)
(x2,y2)
(x5,y5)
(x1,y1)
(x5,y5)
Segment Calculations
Calculating the Projection
l
l
y = √3/2l
x = ½l
m2 + (½ l)2 =l2
m2 + ¼ l2 =l2
√m2 = √¾ l2
m = √3/2l * 1/3 = √3l/6
1/3 length of each iteration

More Related Content

Similar to Computer Graphics Introduction To Curves

1516 contouring
1516 contouring1516 contouring
1516 contouring
Dr Fereidoun Dejahang
 
CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)
Priscilla CPG
 
ME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modelingME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modeling
Javith Saleem
 
cg mod2.pdf
cg mod2.pdfcg mod2.pdf
cg mod2.pdf
ssuserf3db48
 
Surface models
Surface modelsSurface models
Surface models
nmahi96
 
10_1425_web_Lec_04_2D_Motion.pdf
10_1425_web_Lec_04_2D_Motion.pdf10_1425_web_Lec_04_2D_Motion.pdf
10_1425_web_Lec_04_2D_Motion.pdf
KumarRoshan23
 
Curve modeling bezier curves
Curve modeling bezier curvesCurve modeling bezier curves
Curve modeling bezier curves
jhansi1986
 
UNIT V.pptx
UNIT V.pptxUNIT V.pptx
UNIT V.pptx
srihariharika
 
Plastica 1º eso
Plastica 1º eso Plastica 1º eso
Plastica 1º eso
Conchita Fernandez
 
Eg unit 1 2
Eg unit 1 2Eg unit 1 2
Eg unit 1 2
Sundra3
 
Pictorial projection
Pictorial projectionPictorial projection
Pictorial projection
musadoto
 
ch4.pptx
ch4.pptxch4.pptx
ch4.pptx
OnkarTalekar4
 
Anti aliasing,area sampling,koch curve and c curve
Anti aliasing,area sampling,koch curve and c curveAnti aliasing,area sampling,koch curve and c curve
Anti aliasing,area sampling,koch curve and c curve
Pallab Kumar Nandi
 
Construction class 9
Construction class 9Construction class 9
Construction class 9
Vijaya Singh
 
Construction of maths class 9th
Construction of maths class 9th Construction of maths class 9th
Construction of maths class 9th
Sanyam Gandotra
 
Diagrams part 4
Diagrams part 4Diagrams part 4
Diagrams part 4
AkkiMaruthi2
 
Surface design and visible surfaces
Surface design and visible surfacesSurface design and visible surfaces
Surface design and visible surfaces
Arti Parab Academics
 
Lec-4_Rendering-1.pdf
Lec-4_Rendering-1.pdfLec-4_Rendering-1.pdf
Lec-4_Rendering-1.pdf
RuatiBT20CS014
 

Similar to Computer Graphics Introduction To Curves (20)

1516 contouring
1516 contouring1516 contouring
1516 contouring
 
CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)
 
ME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modelingME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modeling
 
cg mod2.pdf
cg mod2.pdfcg mod2.pdf
cg mod2.pdf
 
Surface models
Surface modelsSurface models
Surface models
 
10_1425_web_Lec_04_2D_Motion.pdf
10_1425_web_Lec_04_2D_Motion.pdf10_1425_web_Lec_04_2D_Motion.pdf
10_1425_web_Lec_04_2D_Motion.pdf
 
Curve modeling bezier curves
Curve modeling bezier curvesCurve modeling bezier curves
Curve modeling bezier curves
 
UNIT V.pptx
UNIT V.pptxUNIT V.pptx
UNIT V.pptx
 
Plastica 1º eso
Plastica 1º eso Plastica 1º eso
Plastica 1º eso
 
Eg unit 1 2
Eg unit 1 2Eg unit 1 2
Eg unit 1 2
 
Pictorial projection
Pictorial projectionPictorial projection
Pictorial projection
 
curve one
curve onecurve one
curve one
 
ch4.pptx
ch4.pptxch4.pptx
ch4.pptx
 
Anti aliasing,area sampling,koch curve and c curve
Anti aliasing,area sampling,koch curve and c curveAnti aliasing,area sampling,koch curve and c curve
Anti aliasing,area sampling,koch curve and c curve
 
Construction class 9
Construction class 9Construction class 9
Construction class 9
 
Construction of maths class 9th
Construction of maths class 9th Construction of maths class 9th
Construction of maths class 9th
 
Diagrams part 4
Diagrams part 4Diagrams part 4
Diagrams part 4
 
Surface design and visible surfaces
Surface design and visible surfacesSurface design and visible surfaces
Surface design and visible surfaces
 
Lect14
Lect14Lect14
Lect14
 
Lec-4_Rendering-1.pdf
Lec-4_Rendering-1.pdfLec-4_Rendering-1.pdf
Lec-4_Rendering-1.pdf
 

More from Chandrakant Divate

Web Technology LAB MANUAL for Undergraduate Programs
Web Technology  LAB MANUAL for Undergraduate ProgramsWeb Technology  LAB MANUAL for Undergraduate Programs
Web Technology LAB MANUAL for Undergraduate Programs
Chandrakant Divate
 
UNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the NatureUNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the Nature
Chandrakant Divate
 
Study of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block DiagramStudy of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block Diagram
Chandrakant Divate
 
Computer System Output Devices Peripherals
Computer System Output  Devices PeripheralsComputer System Output  Devices Peripherals
Computer System Output Devices Peripherals
Chandrakant Divate
 
Computer system Input Devices Peripherals
Computer system Input  Devices PeripheralsComputer system Input  Devices Peripherals
Computer system Input Devices Peripherals
Chandrakant Divate
 
Computer system Input and Output Devices
Computer system Input and Output DevicesComputer system Input and Output Devices
Computer system Input and Output Devices
Chandrakant Divate
 
Introduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROMIntroduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROM
Chandrakant Divate
 
Introduction to Computer Hardware Systems
Introduction to Computer Hardware SystemsIntroduction to Computer Hardware Systems
Introduction to Computer Hardware Systems
Chandrakant Divate
 
Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2
Chandrakant Divate
 
Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)
Chandrakant Divate
 
Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)
Chandrakant Divate
 
Fundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptxFundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptx
Chandrakant Divate
 
Fundamentals of Structure in C Programming
Fundamentals of Structure in C ProgrammingFundamentals of Structure in C Programming
Fundamentals of Structure in C Programming
Chandrakant Divate
 
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN CINPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
Chandrakant Divate
 
Programming in C - Fundamental Study of Strings
Programming in C - Fundamental Study of  StringsProgramming in C - Fundamental Study of  Strings
Programming in C - Fundamental Study of Strings
Chandrakant Divate
 
Basics of Control Statement in C Languages
Basics of Control Statement in C LanguagesBasics of Control Statement in C Languages
Basics of Control Statement in C Languages
Chandrakant Divate
 
Features and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for BeginnersFeatures and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for Beginners
Chandrakant Divate
 
Basics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and FlowchartBasics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and Flowchart
Chandrakant Divate
 
Computer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric TransformationsComputer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric Transformations
Chandrakant Divate
 
Computer Graphics - Windowing and Clipping
Computer Graphics - Windowing and ClippingComputer Graphics - Windowing and Clipping
Computer Graphics - Windowing and Clipping
Chandrakant Divate
 

More from Chandrakant Divate (20)

Web Technology LAB MANUAL for Undergraduate Programs
Web Technology  LAB MANUAL for Undergraduate ProgramsWeb Technology  LAB MANUAL for Undergraduate Programs
Web Technology LAB MANUAL for Undergraduate Programs
 
UNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the NatureUNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the Nature
 
Study of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block DiagramStudy of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block Diagram
 
Computer System Output Devices Peripherals
Computer System Output  Devices PeripheralsComputer System Output  Devices Peripherals
Computer System Output Devices Peripherals
 
Computer system Input Devices Peripherals
Computer system Input  Devices PeripheralsComputer system Input  Devices Peripherals
Computer system Input Devices Peripherals
 
Computer system Input and Output Devices
Computer system Input and Output DevicesComputer system Input and Output Devices
Computer system Input and Output Devices
 
Introduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROMIntroduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROM
 
Introduction to Computer Hardware Systems
Introduction to Computer Hardware SystemsIntroduction to Computer Hardware Systems
Introduction to Computer Hardware Systems
 
Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2
 
Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)
 
Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)
 
Fundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptxFundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptx
 
Fundamentals of Structure in C Programming
Fundamentals of Structure in C ProgrammingFundamentals of Structure in C Programming
Fundamentals of Structure in C Programming
 
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN CINPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
 
Programming in C - Fundamental Study of Strings
Programming in C - Fundamental Study of  StringsProgramming in C - Fundamental Study of  Strings
Programming in C - Fundamental Study of Strings
 
Basics of Control Statement in C Languages
Basics of Control Statement in C LanguagesBasics of Control Statement in C Languages
Basics of Control Statement in C Languages
 
Features and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for BeginnersFeatures and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for Beginners
 
Basics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and FlowchartBasics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and Flowchart
 
Computer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric TransformationsComputer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric Transformations
 
Computer Graphics - Windowing and Clipping
Computer Graphics - Windowing and ClippingComputer Graphics - Windowing and Clipping
Computer Graphics - Windowing and Clipping
 

Recently uploaded

Danfoss NeoCharge Technology -A Revolution in 2024.pdf
Danfoss NeoCharge Technology -A Revolution in 2024.pdfDanfoss NeoCharge Technology -A Revolution in 2024.pdf
Danfoss NeoCharge Technology -A Revolution in 2024.pdf
NurvisNavarroSanchez
 
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
Amil baba
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
Kamal Acharya
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
PrashantGoswami42
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
Hall booking system project report .pdf
Hall booking system project report  .pdfHall booking system project report  .pdf
Hall booking system project report .pdf
Kamal Acharya
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
fluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerfluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answer
apareshmondalnita
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
Antenna efficency lecture course chapter 3.pdf
Antenna  efficency lecture course chapter 3.pdfAntenna  efficency lecture course chapter 3.pdf
Antenna efficency lecture course chapter 3.pdf
AbrahamGadissa
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
Atif Razi
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 

Recently uploaded (20)

Danfoss NeoCharge Technology -A Revolution in 2024.pdf
Danfoss NeoCharge Technology -A Revolution in 2024.pdfDanfoss NeoCharge Technology -A Revolution in 2024.pdf
Danfoss NeoCharge Technology -A Revolution in 2024.pdf
 
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
Hall booking system project report .pdf
Hall booking system project report  .pdfHall booking system project report  .pdf
Hall booking system project report .pdf
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
fluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerfluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answer
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
Antenna efficency lecture course chapter 3.pdf
Antenna  efficency lecture course chapter 3.pdfAntenna  efficency lecture course chapter 3.pdf
Antenna efficency lecture course chapter 3.pdf
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 

Computer Graphics Introduction To Curves

  • 2. Abstract • We present and study existing digital differential analyzer (DDA) algorithms for circle generation, including an improved two-step DDA algorithm which can be implemented solely in terms of elementary shifts, addition, and subtraction.
  • 3. Introduction • Digital interpolation algorithms are widely used in machine tools with numerical control, graphics displays and plotters, and manipulation robots. Circles and circular arcs frequently appear in computer graphics, computer-controlled printing, and automated control; • One of most popular methods for generation of circles and arcs is known as digital differential analyzer (DDA). • In this chapter a new improved two-step algorithm for DDA circle generation is presented. • The accuracy of this method is higher than the accuracy of other known algorithms. • Because of its simplicity (it uses only elementary shift, addition, and subtraction); this method can also be used in numerical control, planning mechanisms, and so forth.
  • 4. DDA Algorithms • The general class of DDA algorithms for circles generation is based on obvious trigonometric transformations describing rotation of vector R in the coordinate plane x and y • Advantages of DDA algorithms include simplicity and high speed in generating circle point coordinate xn+1, yn+1 .
  • 6. Bezier Curve- Bezier Curve may be defined as- •Bezier Curve is parametric curve defined by a set of control points. •Two points are ends of the curve. •Other points determine the shape of the curve. The concept of Bezier curves was given by Pierre Bezier. Bezier Curve Example- The following curve is an example of a Bezier curve- Here, • This bezier curve is defined by a set of control points b0, b1, b2 and b3. • Points b0 and b3 are ends of the curve. • Points b1 and b2 determine the shape of the curve.
  • 7. Bezier Curve Properties- Few important properties of a Bezier curve are- Property-01: Bezier curve is always contained within a polygon called as convex hull of its control points. Property-02: • Bezier curve generally follows the shape of its defining polygon. • The first and last points of the curve are coincident with the first and last points of the defining polygon. Property-03: • The degree of the polynomial defining the curve segment is one less than the total number of control points. Degree = Number of Control Points – 1
  • 8. Bezier Curve Properties- Few important properties of a Bezier curve are- Property-04: • The order of the polynomial defining the curve segment is equal to the total number of control points. Order = Number of Control Points Property-05: • Bezier curve exhibits the variation diminishing property. • It means the curve do not oscillate about any straight line more often than the defining polygon.
  • 9. Bezier Curve Equation- A bezier curve is parametrically represented by- Here, • t is any parameter where 0 <= t <= 1 • P(t) = Any point lying on the bezier curve • Bi = ith control point of the bezier curve • n = degree of the curve • Jn,i(t) = Blending function = C(n,i)ti(1-t)n-i where C(n,i) = n! / i!(n-i)!
  • 10. Cubic Bezier Curve- • Cubic bezier curve is a bezier curve with degree 3. • The total number of control points in a cubic bezier curve is 4. Here, • This curve is defined by 4 control points b0, b1, b2 and b3. • The degree of this curve is 3. • So, it is a cubic bezier curve. Substituting n = 3 for a cubic bezier curve, we get-
  • 11. Cubic Bezier Curve- • Cubic bezier curve is a bezier curve with degree 3. • The total number of control points in a cubic bezier curve is 4. Substituting n = 3 for a cubic bezier curve, we get- Expanding the above equation, we get- P (t) = B0J3,0(t) + B1J3,1(t) + B2J3,2(t) + B3J3,3(t) ………..(1) Now,
  • 12. Cubic Bezier Curve- Expanding the above equation, we get- P (t) = B0J3,0(t) + B1J3,1(t) + B2J3,2(t) + B3J3,3(t) ………..(1) Now,
  • 13. Cubic Bezier Curve- Expanding the above equation, we get- P (t) = B0J3,0(t) + B1J3,1(t) + B2J3,2(t) + B3J3,3(t) ………..(1) Now, Using (2), (3), (4) and (5) in (1), we get- P(t) = B0(1-t)3 + B13t(1-t)2 + B23t2(1-t) + B3t3 This is the required parametric equation for a cubic bezier curve.
  • 14. Applications of Bezier Curve- Bezier curves have their applications in the following fields- 1. Computer Graphics- • Bezier curves are widely used in computer graphics to model smooth curves. • The curve is completely contained in the convex hull of its control points. • So, the points can be graphically displayed & used to manipulate the curve intuitively. 2. Animation- • Bezier curves are used to outline movement in animation applications such as Adobe Flash and synfig. • Users outline the wanted path in bezier curves. • The application creates the needed frames for the object to move along the path. • For 3D animation, bezier curves are often used to define 3D paths as well as 2D curves. 3. Fonts- • True type fonts use composite bezier curves composed of quadratic bezier curves. • Modern imaging systems like postscript, asymptote etc use composite bezier curves composed of cubic bezier curves for drawing curved shapes.
  • 15. 2 Koch Curve What is Koch Curve? The Koch snowflake (also known as the Koch curve, Koch star, or Koch island) is a mathematical curve and one of the earliest fractal curves to have been described. It is based on the Koch curve, which appeared in a 1904 paper titled “On a continuous curve without tangents, constructible from elementary geometry” by the Swedish mathematician Helge von Koch. The progression for the area of the snowflake converges to 8/5 times the area of the original triangle, while the progression for the snowflake’s perimeter diverges to infinity. Consequently, the snowflake has a finite area bounded by an infinitely long line.
  • 16. 3 Depth 1 1 line segment
  • 17. 4 Depth 2 Contains 4 depth-1 curves (4 line segments)
  • 18. 5 Depth 3 Contains 4 depth-2 curves (16 line segments)
  • 19. 6 Depth 4 Contains 4 depth-3 curves (64 line segments)
  • 20. 7 Depth 5 Contains 4 depth-4 curves (256 line segments)
  • 21. Construction Step1: Draw an equilateral triangle. You can draw it with a compass or protractor, or just eyeball it if you don’t want to spend too much time drawing the snowflake. It’s best if the length of the sides are divisible by 3, because of the nature of this fractal. This will become clear in the next few steps.
  • 22. Construction Step2: Divide each side in three equal parts. This is why it is handy to have the sides divisible by three.
  • 23. Construction Step3: Draw an equilateral triangle on each middle part. Measure the length of the middle third to know the length of the sides of these new triangles.
  • 24. Construction Step4: Divide each outer side into thirds. You can see the 2nd generation of triangles covers a bit of the first. These three line segments shouldn’t be parted in three.
  • 25. Construction Step5: Draw an equilateral triangle on each middle part. Note how you draw each next generation of parts that are one 3rd of the mast one.
  • 26. 8 Pseudocode Algorithm Tomake a Koch Curve: • Draw a straight line if depth is zero; otherwise draw four smaller Koch Curves.
  • 27. Koch Curve The Koch curve is to divide a line into three equal segments and replace the middle segment with two lines of the same length. 12
  • 28. • The Koch snowflake can be constructed by starting with an equilateral triangle, then recursively altering each line segment as follows: divide the line segment into fore segments of equal length. draw an equilateral triangle that has the middle segment from step 1 as its base and points outward. remove the line segment that is the base of the triangle from step 2. 28 Koch Curve(Construction)
  • 32. Calculating the Projection l l y = √3/2l x = ½l m2 + (½ l)2 =l2 m2 + ¼ l2 =l2 √m2 = √¾ l2 m = √3/2l * 1/3 = √3l/6 1/3 length of each iteration