SlideShare a Scribd company logo
Facoltà di Scienze Matematiche, Fisiche e NaturaliCorso di Laurea Magistrale in InformaticaPrinciples of Computer Graphics- Projects slides -Student: Umberto Di Staso 142685Professor: Raffaele de Amicis2009/2010
ContextStudy of the principles of Computer Graphics: basic knowledge,basic tools to develop computer graphics applications,mathematics in Computer GraphicsContext and ObjectivesObjectivesCreate a set of softwares that includes the concepts that we havelearned during the lessons.
Summary	JOGL
	Intermediate Project
Paint
Panzer
Collision detection
Inclined Plane
Demo
	Final Project
GUI
DemoJOGLJava OpenGL (JOGL) is a wrapper library thatallows Java programmers to use OpenGLfeatures.JOGL makes possible the access to almost allthe available features, to C programming language programmers.JOGL has achieved notable successes in  theapplications of Geo - Viewers .In fact,  NASA World Wind project has beenreleased with JOGL .
Intermediate ProjectIntermediate project consists inproviding a set of functionalities (ajava library) used to generatesimple JOGL applications inwhich we use them.
Intermediate ProjectFunctionalities are divided in six categories:Vectors: this category contains all the operations about vectors, like the sum between two of them, normalization, dot product, cross product and distance. Matrices: this category contains all the operations about matrices, like product between two matrices, determinant up 4x4 matrix, check and calculation of the inverse given a matrix.2D Geometry: this category contains all the operations about simple 2D geometry, like lines, squares, rectangles, triangles, polygons and circles.3D Polygon Generation: it is the same as the category before, but in three dimensional space.Curves: this category contains all the curves we have seen during the course, like Bezier, Hermite, Hermitesplines and B-Splines.Physics: this category contains some operations about physics.
Intermediate ProjectI have created three different applications (based on a single java library) in which I have used all the functionalities that I have implemented.Paint: the first application contains all about 2D geometry, 3D polygon generation and curves. Obviously to do this, I have used also vectors and matrices.Panzer: the second application contains some functionalities about physics.Inclined plane: the last application contains the physics functionalities that I have never used in the previous applications.
PaintAs we can see, users can draw figuresbelonging to three macro categories:2D figures:Draw a simple line given 2 points.Draw a square given center and edge length.Draw an equilateral triangle given center and edge length.Draw a circle given 3 non-aligned points.Draw a polygon given center and number of edges, center and radius.Ability to center the figures.3D polygon:Draw a cube given center and edge length.Draw regular pyramid given edge length.Draw cone given radius and height.Draw sphere given radius and center.Curves:Draw Hermite given p0, p1 and the 2 vectors.Draw Bezier given 4 control points.Draw Hermitespline given a set of points and 2 vectors.Draw BSpline given a set of points and the degree.

More Related Content

What's hot (20)

PPTX
Introduction with graphics
msouravmishra
 
PPTX
A concept of graphics
msouravmishra
 
PPTX
Surveillance System (Minimum Vertex Cover Problem)
Saksham Saxena
 
PPTX
Task 2 animation
acffc17
 
PPT
Build Your Own 3D Scanner: The Mathematics of 3D Triangulation
Douglas Lanman
 
PPTX
GRPHICS01 - Introduction to 3D Graphics
Michael Heron
 
PPTX
Java fx 3d
Ali Alsaeed
 
PDF
sduGroupEvent
Thomas Sølund
 
PPT
What is computer graphics
Syed Zaid Irshad
 
PDF
Particle tracking
bagustris
 
PPT
Build Your Own 3D Scanner: Conclusion
Douglas Lanman
 
PPTX
ANISH_and_DR.DANIEL_augmented_reality_presentation
Anish Patel
 
PPT
Drawing For Illustration And Annotation In 3D
David Bourguignon
 
PPT
CenterForDomainSpecificComputing-Poster
Yunming Zhang
 
PDF
Computer graphics
Bilal Maqbool ツ
 
DOCX
Computer graphics file
aman1001
 
PDF
How do self driving cars detects lane lines so easily
ANOLYTICS
 
PPTX
Datt2500 week 02
Joe Hambleton
 
PPTX
Auto cad introduction sas institute
Shusmita Chauhan
 
Introduction with graphics
msouravmishra
 
A concept of graphics
msouravmishra
 
Surveillance System (Minimum Vertex Cover Problem)
Saksham Saxena
 
Task 2 animation
acffc17
 
Build Your Own 3D Scanner: The Mathematics of 3D Triangulation
Douglas Lanman
 
GRPHICS01 - Introduction to 3D Graphics
Michael Heron
 
Java fx 3d
Ali Alsaeed
 
sduGroupEvent
Thomas Sølund
 
What is computer graphics
Syed Zaid Irshad
 
Particle tracking
bagustris
 
Build Your Own 3D Scanner: Conclusion
Douglas Lanman
 
ANISH_and_DR.DANIEL_augmented_reality_presentation
Anish Patel
 
Drawing For Illustration And Annotation In 3D
David Bourguignon
 
CenterForDomainSpecificComputing-Poster
Yunming Zhang
 
Computer graphics
Bilal Maqbool ツ
 
Computer graphics file
aman1001
 
How do self driving cars detects lane lines so easily
ANOLYTICS
 
Datt2500 week 02
Joe Hambleton
 
Auto cad introduction sas institute
Shusmita Chauhan
 

Similar to A graphic library and an application for simple curve manipolation (20)

PPTX
2D graphics
Muhammad Rashid
 
PPTX
Computer Graphics Unit 1
aravindangc
 
PDF
Bouncing ball content management system project report.pdf
Kamal Acharya
 
PDF
Darkonoid
graphitech
 
PPTX
Computer Graphics
Adri Jovin
 
PPTX
3D Geometry Unleashed: Building with Splines and Surfaces
Programming Assignment Helper
 
PPTX
CG-Lecture3.pptx
lakshitasarika2014
 
PDF
Computer Graphics in Java and Scala - Part 1
Philip Schwarz
 
PDF
CG simple openGL point & line-course 2
fungfung Chen
 
PPTX
B. SC CSIT Computer Graphics Lab By Tekendra Nath Yogi
Tekendra Nath Yogi
 
PDF
COMP 4026 Lecture4: Processing and Advanced Interface Technology
Mark Billinghurst
 
PDF
Cg lab cse-v (1) (1)
Surya Sukumaran
 
PPTX
CHAPTER 4 &5 geoand trans.pptxGeometry chapter 4 and 5 transformation ,transl...
Antenehsolomon2
 
PPT
Computer Graphics involves technology to access. The Process transforms and p...
ErNandiniDharne
 
PPT
Introduction to Computer Graphics elements
RajeshSukte1
 
PPT
Unit I-cg.ppt Introduction to Computer Graphics elements
RajeshSukte1
 
PPT
Introduction to Computer Graphics computer
RajeshSukte1
 
PPTX
Beginning direct3d gameprogramming01_thehistoryofdirect3dgraphics_20160407_ji...
JinTaek Seo
 
PDF
mloc.js 2014 - JavaScript and the browser as a platform for game development
David Galeano
 
2D graphics
Muhammad Rashid
 
Computer Graphics Unit 1
aravindangc
 
Bouncing ball content management system project report.pdf
Kamal Acharya
 
Darkonoid
graphitech
 
Computer Graphics
Adri Jovin
 
3D Geometry Unleashed: Building with Splines and Surfaces
Programming Assignment Helper
 
CG-Lecture3.pptx
lakshitasarika2014
 
Computer Graphics in Java and Scala - Part 1
Philip Schwarz
 
CG simple openGL point & line-course 2
fungfung Chen
 
B. SC CSIT Computer Graphics Lab By Tekendra Nath Yogi
Tekendra Nath Yogi
 
COMP 4026 Lecture4: Processing and Advanced Interface Technology
Mark Billinghurst
 
Cg lab cse-v (1) (1)
Surya Sukumaran
 
CHAPTER 4 &5 geoand trans.pptxGeometry chapter 4 and 5 transformation ,transl...
Antenehsolomon2
 
Computer Graphics involves technology to access. The Process transforms and p...
ErNandiniDharne
 
Introduction to Computer Graphics elements
RajeshSukte1
 
Unit I-cg.ppt Introduction to Computer Graphics elements
RajeshSukte1
 
Introduction to Computer Graphics computer
RajeshSukte1
 
Beginning direct3d gameprogramming01_thehistoryofdirect3dgraphics_20160407_ji...
JinTaek Seo
 
mloc.js 2014 - JavaScript and the browser as a platform for game development
David Galeano
 
Ad

More from graphitech (20)

PDF
A graphic library and an application for simple curve manipolation
graphitech
 
PPT
Rescue Mission
graphitech
 
PPT
Rescue Mission
graphitech
 
PDF
Mashup - Sustainability
graphitech
 
PPT
Mashup - Sustainability
graphitech
 
PDF
Multiple Screens
graphitech
 
PPT
Multiple Screens
graphitech
 
PPT
Graph Matching
graphitech
 
PPT
Shape Analysis
graphitech
 
PDF
Human Interaction Library
graphitech
 
PPT
Human Interaction Library
graphitech
 
PDF
WebCams Mapping on Nasa World Wind
graphitech
 
PDF
Street Builder
graphitech
 
PPT
Street Builder
graphitech
 
PDF
Live Video in World Wind
graphitech
 
PPT
Live Video in World Wind
graphitech
 
PPT
Terrain Modification
graphitech
 
PDF
Terrain Modification
graphitech
 
PPT
YARCA (Yet Another Raycasting Application) Project
graphitech
 
PDF
YARCA (Yet Another Raycasting Application) Project
graphitech
 
A graphic library and an application for simple curve manipolation
graphitech
 
Rescue Mission
graphitech
 
Rescue Mission
graphitech
 
Mashup - Sustainability
graphitech
 
Mashup - Sustainability
graphitech
 
Multiple Screens
graphitech
 
Multiple Screens
graphitech
 
Graph Matching
graphitech
 
Shape Analysis
graphitech
 
Human Interaction Library
graphitech
 
Human Interaction Library
graphitech
 
WebCams Mapping on Nasa World Wind
graphitech
 
Street Builder
graphitech
 
Street Builder
graphitech
 
Live Video in World Wind
graphitech
 
Live Video in World Wind
graphitech
 
Terrain Modification
graphitech
 
Terrain Modification
graphitech
 
YARCA (Yet Another Raycasting Application) Project
graphitech
 
YARCA (Yet Another Raycasting Application) Project
graphitech
 
Ad

Recently uploaded (20)

PDF
IMPORTANT GUIDELINES FOR M.Sc.ZOOLOGY DISSERTATION
raviralanaresh2
 
PPTX
Different types of inheritance in odoo 18
Celine George
 
PPTX
Lesson 1 Cell (Structures, Functions, and Theory).pptx
marvinnbustamante1
 
PPTX
Introduction to Indian Writing in English
Trushali Dodiya
 
PDF
epi editorial commitee meeting presentation
MIPLM
 
PPTX
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
PPTX
ENG8_Q1_WEEK2_LESSON1. Presentation pptx
marawehsvinetshe
 
PDF
Lesson 1 - Nature of Inquiry and Research.pdf
marvinnbustamante1
 
PPTX
AIMA UCSC-SV Leadership_in_the_AI_era 20250628 v16.pptx
home
 
PPTX
Difference between write and update in odoo 18
Celine George
 
PPTX
DAY 1_QUARTER1 ENGLISH 5 WEEK- PRESENTATION.pptx
BanyMacalintal
 
PPTX
How to Create a Customer From Website in Odoo 18.pptx
Celine George
 
PDF
Week 2 - Irish Natural Heritage Powerpoint.pdf
swainealan
 
PPTX
Ward Management: Patient Care, Personnel, Equipment, and Environment.pptx
PRADEEP ABOTHU
 
DOCX
Lesson 1 - Nature and Inquiry of Research
marvinnbustamante1
 
PPT
Indian Contract Act 1872, Business Law #MBA #BBA #BCOM
priyasinghy107
 
PPTX
SD_GMRC5_Session 6AB_Dulog Pedagohikal at Pagtataya (1).pptx
NickeyArguelles
 
PPTX
How to Manage Expiry Date in Odoo 18 Inventory
Celine George
 
PDF
STATEMENT-BY-THE-HON.-MINISTER-FOR-HEALTH-ON-THE-COVID-19-OUTBREAK-AT-UG_revi...
nservice241
 
PPTX
DIGITAL CITIZENSHIP TOPIC TLE 8 MATATAG CURRICULUM
ROBERTAUGUSTINEFRANC
 
IMPORTANT GUIDELINES FOR M.Sc.ZOOLOGY DISSERTATION
raviralanaresh2
 
Different types of inheritance in odoo 18
Celine George
 
Lesson 1 Cell (Structures, Functions, and Theory).pptx
marvinnbustamante1
 
Introduction to Indian Writing in English
Trushali Dodiya
 
epi editorial commitee meeting presentation
MIPLM
 
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
ENG8_Q1_WEEK2_LESSON1. Presentation pptx
marawehsvinetshe
 
Lesson 1 - Nature of Inquiry and Research.pdf
marvinnbustamante1
 
AIMA UCSC-SV Leadership_in_the_AI_era 20250628 v16.pptx
home
 
Difference between write and update in odoo 18
Celine George
 
DAY 1_QUARTER1 ENGLISH 5 WEEK- PRESENTATION.pptx
BanyMacalintal
 
How to Create a Customer From Website in Odoo 18.pptx
Celine George
 
Week 2 - Irish Natural Heritage Powerpoint.pdf
swainealan
 
Ward Management: Patient Care, Personnel, Equipment, and Environment.pptx
PRADEEP ABOTHU
 
Lesson 1 - Nature and Inquiry of Research
marvinnbustamante1
 
Indian Contract Act 1872, Business Law #MBA #BBA #BCOM
priyasinghy107
 
SD_GMRC5_Session 6AB_Dulog Pedagohikal at Pagtataya (1).pptx
NickeyArguelles
 
How to Manage Expiry Date in Odoo 18 Inventory
Celine George
 
STATEMENT-BY-THE-HON.-MINISTER-FOR-HEALTH-ON-THE-COVID-19-OUTBREAK-AT-UG_revi...
nservice241
 
DIGITAL CITIZENSHIP TOPIC TLE 8 MATATAG CURRICULUM
ROBERTAUGUSTINEFRANC
 

A graphic library and an application for simple curve manipolation

  • 1. Facoltà di Scienze Matematiche, Fisiche e NaturaliCorso di Laurea Magistrale in InformaticaPrinciples of Computer Graphics- Projects slides -Student: Umberto Di Staso 142685Professor: Raffaele de Amicis2009/2010
  • 2. ContextStudy of the principles of Computer Graphics: basic knowledge,basic tools to develop computer graphics applications,mathematics in Computer GraphicsContext and ObjectivesObjectivesCreate a set of softwares that includes the concepts that we havelearned during the lessons.
  • 11. GUI
  • 12. DemoJOGLJava OpenGL (JOGL) is a wrapper library thatallows Java programmers to use OpenGLfeatures.JOGL makes possible the access to almost allthe available features, to C programming language programmers.JOGL has achieved notable successes in theapplications of Geo - Viewers .In fact, NASA World Wind project has beenreleased with JOGL .
  • 13. Intermediate ProjectIntermediate project consists inproviding a set of functionalities (ajava library) used to generatesimple JOGL applications inwhich we use them.
  • 14. Intermediate ProjectFunctionalities are divided in six categories:Vectors: this category contains all the operations about vectors, like the sum between two of them, normalization, dot product, cross product and distance. Matrices: this category contains all the operations about matrices, like product between two matrices, determinant up 4x4 matrix, check and calculation of the inverse given a matrix.2D Geometry: this category contains all the operations about simple 2D geometry, like lines, squares, rectangles, triangles, polygons and circles.3D Polygon Generation: it is the same as the category before, but in three dimensional space.Curves: this category contains all the curves we have seen during the course, like Bezier, Hermite, Hermitesplines and B-Splines.Physics: this category contains some operations about physics.
  • 15. Intermediate ProjectI have created three different applications (based on a single java library) in which I have used all the functionalities that I have implemented.Paint: the first application contains all about 2D geometry, 3D polygon generation and curves. Obviously to do this, I have used also vectors and matrices.Panzer: the second application contains some functionalities about physics.Inclined plane: the last application contains the physics functionalities that I have never used in the previous applications.
  • 16. PaintAs we can see, users can draw figuresbelonging to three macro categories:2D figures:Draw a simple line given 2 points.Draw a square given center and edge length.Draw an equilateral triangle given center and edge length.Draw a circle given 3 non-aligned points.Draw a polygon given center and number of edges, center and radius.Ability to center the figures.3D polygon:Draw a cube given center and edge length.Draw regular pyramid given edge length.Draw cone given radius and height.Draw sphere given radius and center.Curves:Draw Hermite given p0, p1 and the 2 vectors.Draw Bezier given 4 control points.Draw Hermitespline given a set of points and 2 vectors.Draw BSpline given a set of points and the degree.
  • 17. PanzerKey points:Panzer: little tank designed using a tree structure: each element that composes the panzer is drawn around the root point. In this way, I can move the tank simply by using a translation of the root point.Bullet: little polygon with 8-16 edges.Trajectory: trajectory of the bullet. This particular kind of parabola is calculated using the formula of parabolic motion of projectiles.World: set of segments that composes the impact surface.Informations: words that explain the angle of the gun, initial speed of the bullet, range of the shoot and finally, the max height of the bullet.
  • 18. Collision Detection The core of this application is, obviously, thealgorithm that tells us when a bullet impacts on asurface. To understand properly how thisalgorithm works, is surely useful to look at theimage on the right.As we can see, the bullet is basically a littlepolygon with 8-16 edges. The number of edgesinfluences the precision of our collision detection.The algorithm works in this way: For each radius (in red) of the bullet it checks if one of these intersects a component of the impact surface (in green).
  • 19. Inclined PlaneThe application consists in a simple inclinedsurface with a corpus on it. Using the “Spacebar”we release the object and we can see how thephysics phenomenon called “uniformacceleration” (it depends on the gravitationalacceleration and the angle of the inclined plane)brings changes on the motion of the corpus.
  • 21. Final ProjectThe project consists in a software that uses the library developed in theIntermediate project to construct complex functionalities.The asked functionality requisites are:Load a picture in background.Generate different curves using points setted by the mouse. HermiteSpline,Bezier Spline,BSpline,Lagrange.In this way we can isolate the perimeter of the previous loaded picture.Move single points using the mouse drag property.Select multi points and move them together.Curves must be connected to each other.Save the composition of curves in a file.Load the composition of curves saved before.Load a point file ad interpolate the points using the available curves. In this way we can observe the differences generated when the same points are interpolated by different kind of curvesChange in real time the kind of curve that interpolates a set of points.
  • 22. Final Project - GUIAs we can see in the image on the right,the software gives us a large set of choicesused for different kinds of operations:Picture canvasClear buttonDelete last pointMove pointsChange curveCurve selectLoad imageLoad a blank imageRestore default image:Load point fileLoad a curveSave curveHide points over the screen