A graphic library and an application for simple curve manipolation

Post on 11-May-2015

416 views 0 download

Tags:

description

In this report I am going to describe the implementation of a simple curve manipolation application, developed as a ful lment of the second project for the course of Principles of Computer Graphics. The report is organized as follows: Section 1 introduces the problem and what the application should implement, Section 2 describes the architecture of the program, Section 3 explains some foundamental parts of the source code and nally Section 4 illustrates how to use the application together with some screenshots and examples.

transcript

Principles of computer graphics Final project assignment – Michele Segata

The project

Develop an application to

•  Draw and manage different type of curves (control points dragging, use of composite curves, etc…)

•  Put an image as background to see which curve is best suited

•  Use a file as a source of points and display the curves using those points

A first screenshot before starting

Application architecture

Picking procedure

Application with background image

Sampling of a picture

Application with sampled points

Tools used

"   Only OpenGL and the graphic library developed for first assignment

"   Why? For fun and better understanding

First assignment – Brief description

"   gl_2d_geometry.h

"   gl_3d_geometry.h

"   gl_curve.h

"   gl_material.h

"   gl_mempool.h

"   gl_mesh.h

First assignment – Brief description (2)

"   gl_mouse.h

"   gl_physic.h

"   gl_physic_law.h

"   gl_printf.h

"   gl_rendering.h

"   gl_scenegraph.h

First assignment – Brief description (3)

"   gl_selection.h

"   gl_tga.h

"   gl_transformation.h

"   gl_util.h

First assignment – Few screenshots

Convex hull example

First assignment – Few screenshots

Solid pyramid with 3 different normals algorithms

(a) Face normals (b) Vertex normals (c) Mixed approach

First assignment – Few screenshots

Spheres at different resolutions

First assignment – Few screenshots

Automatic texture application on sphere