0% found this document useful (0 votes)
492 views18 pages

CG Air Traffic Control Project

This document provides an overview of computer graphics and summarizes key concepts: 1. Computer graphics involves the creation and manipulation of images and models using computers. It allows for effective communication between humans and machines through visual means like diagrams, charts, and pictures. 2. Computer graphics can be classified based on the type of object (2D vs 3D), level of user interaction (interactive vs non-interactive), and application (business, scientific, etc). 3. Early computer graphics used vector graphics to draw lines and shapes while modern graphics use raster graphics and pixels. Pioneers like Ivan Sutherland and Charles Csuri developed some of the earliest computer art and animation. 4. Standards like

Uploaded by

Nigar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
492 views18 pages

CG Air Traffic Control Project

This document provides an overview of computer graphics and summarizes key concepts: 1. Computer graphics involves the creation and manipulation of images and models using computers. It allows for effective communication between humans and machines through visual means like diagrams, charts, and pictures. 2. Computer graphics can be classified based on the type of object (2D vs 3D), level of user interaction (interactive vs non-interactive), and application (business, scientific, etc). 3. Early computer graphics used vector graphics to draw lines and shapes while modern graphics use raster graphics and pixels. Pioneers like Ivan Sutherland and Charles Csuri developed some of the earliest computer art and animation. 4. Standards like

Uploaded by

Nigar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 18

Air Traffic Contol

Chapter 1
INTRODUCTION
Graphics provides one of the natural means of communicating with a computer. Graphics has
also become a key technology for communicating ideas, data and trends in most areas of
commerce, science, engineering and education. So, graphics refers to pictures, sketch of
building, flowcharts, control flow diagrams, bar charts, and pie charts.

Computer graphics is the creation, manipulation and storage of models and images of picture
objects by the aid of computers. This was started with the display of plotters and CRT.
Computer graphics is also defined as the study of techniques to improve the communication
between user and machine. Thus, computer graphics is one of the effective media of
communication between machine and user.

Classification:
Computer graphics is broadly classified into three categories:
 Based on type of Object

2-Dimensional Graphics (Ex. Pixel, line, circle etc...)


3-Dimensional Graphics (Ex. Cube, polyhedron etc...)
 Based on User Interaction

Interactive Computer Graphics


Non-Interactive Computer Graphics
 Based on Application

Business or presentation Graphics


Scientific Graphics
Scaled Drawings
Cartoons, games and art work

1.1 History

Dept. of CSE, RRCE 2018-2019 1


Air Traffic Contol
The term computer graphics has been used in a broad sense to describe almost everything on
computers that is not text or sound. Typically, the term computer graphics refers to several
different things:
 The representation and manipulation of image data by a computer the various
technologies used to create and manipulate images
 The images so produced, and
 The sub-field of computer science which studies methods for digitally synthesizing and
manipulating visual content see study of computer graphics.

The advance in computer graphics was to come from one MIT student, Ivan Sutherland. In 1961
Sutherland created another computer drawing program called Sketchpad. Using a light pen,
Sketchpad allowed one to draw simple shapes on the computer screen, save them and even recall
them later. The light pen itself had a small photoelectric cell in its tip. This cell emitted an
electronic pulse whenever it was placed in front of a computer screen and the screen’s electron
gun fired directly at it. By simply timing the electronic pulse with the current location of the
electronic gun, it was easy to pinpoint exactly where the pen was on the screen at any given
moment. Once that was determined, the computer could then draw a cursor at that location.

These early computer graphics were Vector graphics, composed of thin lines whereas modern
day graphics are Raster based using pixels. The difference between vector graphics and raster
graphics can be illustrated with a shipwrecked sailor. He creates an SOS sign in the sand by
arranging rocks in the shape of the letters”SOS”. He also has some brightly colored rope, with
which he makes a second “SOS” sign by arranging the rope in the shapes of the letters. The rock
SOS sign is similar to raster graphics. Every pixel has to be individually accounted for. The rope
SOS sign is equivalent to vector graphics. The computer simply sets the starting point and ending
point for the line and perhaps bends it a little between the two end points.

1.2 Pioneers in Graphic Design


Charles Csuri
Charles Csuri is a pioneer in computer animation and digital fine art and created the first
computer art in 1964.Csuri was recognized by Smithsonian as the father of digital art and

Dept. of CSE, RRCE 2018-2019 2


Air Traffic Contol
computer animation, and as a pioneer of computer animation by the Museum of Modern Art
(MoMA) and (ACM-SIGGRAPH).
Donald P.Greenberg
Donald P.Greenberg is a leading innovator in computer graphics. Greenberg has authored
hundreds of articles and served as a teacher and mentor to many prominent computer graphics
artists, animators, and researchers such as Robert L. Cook, Marc Levoy, and Wayne Lytle. Many
of his former students have won academy awards for technical achievements and several have
won the SIGGRAPH achievement award. Greenberg was the founding director of the NSF center
for computer graphics and scientific visualization.
Michael Noll
Noll was one of the first researchers to use a digital computer to create artistic patterns and to
formalize the use of random processes in the creation of visual arts. He began creating digital
computer art in 1962, making him one of the earliest digital computer artists. In 1965, Noll along
with FriederNake and Georg Nees were the first to publicly exhibit the computer art. During
April 1965, the Howard Wise Gallery exhibited Noll’s computer art along with random-dot
patterns by BelaJulesz.

Dept. of CSE, RRCE 2018-2019 3


Air Traffic Contol

Chapter 2
LITERATURE SURVEY
Computer graphics started with the display of data on hardcopy plotters and cathode ray tube
(CRT) screens soon after the introduction of computers.

Computer graphics today largely interactive, the user controls the contents, structure, and
appearance of objects and of displayed images by using input devices, such as keyboard, mouse,
or touch-sensitive panel on the screen. Graphics based user interfaces allow millions of new
users to control simple, low-cost application programs, such as spreadsheets, word processors,
and drawing programs.

OpenGL (Open Graphics Library) is a standard specification defining a cross-language, cross-


platform API for writing applications that produce 2D and 3D computer graphics. The interface
consists of over 250 different function calls which can be used to draw complex three-
dimensional scenes from simple primitives. OpenGL was developed by Silicon Graphics Inc.
(SGI) in 1992 and is widely used in CAD, virtual reality, scientific visualization, information
visualization, and flight simulation. It is also used in video games, where it competes with
Direct3D on Microsoft Windows platforms (see Direct3D vs. OpenGL). OpenGL is managed by
the non-profit technology consortium, the Chromos Group.

In the 1980s, developing software that could function with a wide range of graphics hardware
was a real challenge. By the early 1990s, Silicon Graphics (SGI) was a leader in 3D graphics for
workstations. SGI's competitors (including Sun Microsystems, Hewlett-Packard and IBM) were
also able.

In addition, SGI had a large number of software customers; by changing to the OpenGL API
they planned to keep their customers locked onto SGI (and IBM) hardware for a few years while
market support for OpenGL matured to bring to market 3D hardware, supported by extensions

Dept. of CSE, RRCE 2018-2019 4


Air Traffic Contol
made to the PHIGS standard. In 1992, SGI led the creation of the OpenGL architectural review
board (OpenGL ARB), the group of companies that would maintain and expand the OpenGL
specification took for years to come.

On 17 December 1997, Microsoft and SGI initiated the Fahrenheit project, which was a joint
effort with the goal of unifying the OpenGL and Direct3D interfaces (and adding a scene-graph
API too). In 1998 Hewlett-Packard joined the project. [Donald D Hearn and M. Pauline Baker,
"Computer Graphics with OpenGL", 3rd Edition]. It initially showed some promise of bringing
order to the world of interactive 3D computer graphics APIs, but on account of financial
constraints at SGI, strategic reasons at Microsoft, and general lack of industry support, it was
abandoned in 1999.

Many OpenGL functions are used for rendering and transformation purposes. Transformations
functions like glRotate (), glTranslate (), glScaled () can be used.

OpenGL provides a powerful but primitive set of rendering command, and all higher-level
drawing must be done in terms of these commands. There are several libraries that allow you to
simplify your programming tasks, including the following:

OpenGL Utility Library (GLU) contains several routines that use lower-level OpenGL
commands to perform such tasks as setting up matrices for specific viewing orientations and
projections and rendering surfaces.

OpenGL Utility Toolkit (GLUT) is a window-system-independent toolkit, written by Mark Kill


guard, to hide the complexities of differing window APIs.

To achieve the objective of the project, information related to the light sources is required with
OpenGL we can manipulate the lighting and objects in a scene to create many different kinds of
effects. It explains how to control the lighting in a scene, discusses the OpenGL conceptual
model of lighting, and describes in detail how to set the numerous illumination parameters to
achieve certain effects. This concept is being obtained from.

To demonstrate the transformation and lightening, effects, different polygons have to be used.
Polygons are typically drawn by filling in all the pixels enclosed within the boundary, but we can
also draw them as outlined polygons or simply as points at the vertices.

Dept. of CSE, RRCE 2018-2019 5


Air Traffic Contol

Chapter 3
PROBLEM DEFINITION
The project required the developers to create a program that simulated an Air Traffic Control
system, in which an Air Traffic Controller (ATC) could control planes within a 50-mile radius
of the airport. The system graphically represents: the runway, a 50-mile radius airspace,
enter/exit gates into/from the airspace, flights within the airspace and flights within 10 miles of
entering the airspace. The displayed radar itself had to update every 5 seconds, redrawing
flights for their current positions on the screen.All flights within the airspace were checked
routinely for collisions. If two flights approached within three miles of each other, and the two
flights’ altitudes were within 1000 feet, the ATC had to be warned that a collision could occur
between those two flights. If two flights collided, they were to be removed from the screen, and
replaced with a different single icon, representing the collision

Dept. of CSE, RRCE 2018-2019 6


Air Traffic Contol

Chapter 4
SYSTEM REQUIREMENTS & SPECIFICATION

4.1 SOFTWARE REQUIREMENTS


 Operating System: Windows 95/98SE/XP
 Language : C/C++
 Compiler : Microsoft visual basic C++ 6.0,
 OpenGL : library Files And all files

4.2 HARDWARE REQUIREMENTS


 Processor : Pentium PC
 RAM : 128 MB
 Hard Disk : 20 GB(approx.)
 Monitor : VGA Colour Monitor

Dept. of CSE, RRCE 2018-2019 7


Air Traffic Contol

Chapter 5
SYSTEM DESIGN
5.1 Data Flow Diagram

Fig 5.1: Flow chart of Air traffic control

5.2 Concepts and Principles of OpenGL


The OpenGL model
Figure relationships between an application program, the graphics system, input and output
devices, and the user.
The Graphical Interaction:

Dept. of CSE, RRCE 2018-2019 8


Air Traffic Contol
The application program has its own internal model. It draws the graphics using the facilities of
the graphics system. The user views the graphics, and uses input devices, such as a mouse, to
interact. Information about the users is sent back to the applications are sent back to the
application, which decides what action to take. Typically, it will make changes to its internal
model, which will cause the graphics to be updated, and so another loop in the interaction cycle
begins.

Fig 5.2: Graphical interaction loop

5.3 OpenGL Related Libraries


Libraries:
OpenGL provides a powerful but primitive set of rendering command, and all the higher-
level drawing must be done in terms of these commands. There are several libraries that allow
you to simplify your programming tasks, including the following:
 OpenGL Utility Library (GLU) contains several routines that use lower-level OpenGL
commands to perform such tasks as setting up matrices for specific viewing orientations
and projections and rendering surfaces.
 OpenGL Utility Toolkit (GLUT) is a window-system-independent toolkit, written by
Mark Kilgard, to hide the complexities of differing window APIs.

Include Files:
Dept. of CSE, RRCE 2018-2019 9
Air Traffic Contol
For all OpenGL applications, you want to include the gl.h header file in every file.
Almost all OpenGL applications use GLU, which also requires inclusion of the glu.h header file.
So almost every OpenGL source file begins with:
#include<GL/gl.h>; #include<GL/glu.h>

5.4 Windows Management in OpenGL


Five routines perform tasks necessary to initialize a window.
 glutInit (int *argc, char **argv) initializes GLUT and processes any command line
arguments (for X, these would-be options like –display and -geometry). It should be
called before any other GLUT routine.
 glutInitDisplayMode (unsigned int mode) specifies whether to use an RGBA or color-
index color model. We can also specify whether we want a single or double buffered
window. We can use this routine to indicate the window to have associated depth,
stencil or accumulation buffer.

GLUT SINGLE: selects a single-buffered window which is the default if isn’t called;
GLUT DOUBLE: selects a double-buffered window.
 glutInitWindowPosition (intx, inty) specifies the screen location for the upper-left
corner of your window.
 glutInitWindowSize (intwidth, intsize) specifies the size, pixels, of window.
 glutCreateWindow (char *string) creates a window with an OpenGL context. It returns
a unique identifier for the new window.

5.5 Callback Functions


All callback function, more often just called a callback, in C function, written by the
application programmer. But there’s one important difference between a callback function and
an ordinary C function: application never calls the callback function directly. Instead, the
callback function is called by OpenGL.
The Display Callback:
glutDisplayFunc (void (*func) (void)) is the first and most important event callback function.
Whenever GLUT determines the contains of the window to be redisplayed.
 The callback function registered by glutDisplayFunc () is executed. Therefore, we should
put all the routines you need to redraw the scene in the display callback function.

Dept. of CSE, RRCE 2018-2019 10


Air Traffic Contol

 Void glutDisplayFunc(void(*func) (void));

glutDisplayFunc () registers the name of the callback function to be invoked when OpenGL
needs to redisplay the contents of the window. The application must register a display function –
it is not optional.
If your program changes the contents of the window, sometimes you will have to call
glutPostRedisplay(void), which gives glutMainLoop() a nudge to call the registered display
callback at its next opportunity.
The Keyboard Callback:
 void glutKeyboardFunc(void(*func) (unsigned char key, intx, inty));
 glutKeyboardFunc() registers the application function to call when OpenGL detects a
key press generating an ASCII character. This can only occur when the mouse focus is
inside the OpenGL window. It expects a function func() which returns void, and has three
arguments key, x and y. So, it’s function is:

void keyboard (unsigned char key, intx, inty)


{
/* called when a key is pressed */
}
Three values are passed to the callback function: key is the ASCII code of the key pressed; x and
y give the pixel position of the mouse at the time. Inside the keyboard() callback, we look at the
value of key. If it’s 27 we call the standard C function exit() to terminate the program cleanly.
The Mouse Callback:
 void glutMouseFunc (void (*func) (int button, int state, int x, int y));

glutMouseFunc() register an application callback function which GLUT will call when the
user presses a mouse button within the window. The following values are passed to the
callback function:
 button records which button was pressed, and can be

-GLUT LEFT BUTTON


-GLUT MIDDLE BUTTON
-GLUT RIGHT BUTTON

Dept. of CSE, RRCE 2018-2019 11


Air Traffic Contol

 state records whether the event was generated by pressing the button (GLUT DOWM), or
releasing it (GLUT UP).
 x, y gives the current mouse position in pixels. Note: when using OpenGL with X, the
mouse y position is measured from the top of the window.

Handling Input Events:


You can use these routines to register callback commands that are invoked when specified events
occur.
 glutReshapeFunc(void(*func)(intw,inth)) indicates what action should be taken when
the window is resized.
 glutKeyboardFunc(void(*func)(unsignedcharkey,intx,inty))and
glutMouseFunc(void(*func)(intbutton,intstate,intx,ints)) allow you to link a keyboard
key or a mouse button with routine that is invoked when the key or mouse button is
pressed or released.
 glutMotionFunc (void (*func) (intx,inty)) registers a routine to call back when the mouse
is moved while a mouse button is also pressed.

Translation
 void glTranslatef(GLfloatx,GLfloaty,GLfloatz);

glTranslatef () creates a matrix M which performs a translation by (x,y,z) and then post-
multiplies the current matrix by M.
Scaling
 void glScalef(GLfloatx,GLfloaty,GLfloatz);

glScalef() creates a matrix M which performs a scale by (x,y,z) and then post-multiplies
the current matrix by M.

Rotation
 void glRotatef(GLfloatangle,GLfloatx,GLfloaty,GLfloatz);

Dept. of CSE, RRCE 2018-2019 12


Air Traffic Contol
glRotate() creates a matrix M which performs a counter-clockwise rotation of angle in
degrees. The axis about which the rotation occurs in the vector from the origin (0, 0, 0) to
the point (x,y,z),and then post-multiplies the current matrix by M.
The current matrix stack is determined by the most recent call to glMatrixMode().

5.6 Running the Program


After all the setup is completed, GLUT programs enter an event processing loop,
glutMainLoop().
void glutMainLoop(void) enters the GLUT processing loop, never to return. Registered callback
functions will be called when the corresponding events instigate them.

5.7 Interaction with Program

 We can have an interaction with this project using popular input device like mouse and
key board are used to interact with this program.

 Some keys of key board have specific function, we mentioned them below,

 ‘a’ – add new plane


 ‘r’ – to remove plane
 ‘t’ – take off
 ‘q’– quit

 With these above mentioned keys, we can interact with the program.
 Also we can interact with this program by using mouse (input device),

By right and left mouse button

 On right click of mouse menu will occur.

 Select the option by left click of mouse.

Dept. of CSE, RRCE 2018-2019 13


Air Traffic Contol

Chapter 6
SNAPSHOTS

Figure 6.1 Add New Planes

Dept. of CSE, RRCE 2018-2019 14


Air Traffic Contol

Figure 6.2 Remove planes

Dept. of CSE, RRCE 2018-2019 15


Air Traffic Contol

Figure 6.3 Take off plane

Dept. of CSE, RRCE 2018-2019 16


Air Traffic Contol

CONCLUSION
We successfully implemented the Air traffic contoller. This project aims at using glut pre-built
model sub-api and callback functions.it was stated that a possible extension would be an
application to allow for a real-world to act as input. Each of the goals has been discussed in the
sections of this report. This highlights the importance of agility, specifically the ability to
respond to new requirements, in software development. The solver was implemented in C++
using the OpenGL software. Here we also learnt a great deal about development in the Visual
Studio environment. Finally we conclude that this program clearly illustrate the use of glut
model sub-api. and has been completed successfully and is ready to be demonstrated

Dept. of CSE, RRCE 2018-2019 17


Air Traffic Contol

BIBILOGRAPHY
[1] Edward Angel, Interactive Computer Graphics A Top-Down Approach with OpenGL, 5 th
Edition, Addison-Wesley,2008, ISBN-10: 0321535863
[2] YeshwantKantekar, Let us C++ BPB Publication, ISBN: 8176561061
[3] F.S. Hill, Computer Graphics Using OpenGL Jr. 2 nd Edition, Pearson Education, 2001, ISBN
0-. 131-49670-0
Websites
 http://www.opengl.org/
 www.opengl.org/documentation/
 www.getsetprojects.com

Dept. of CSE, RRCE 2018-2019 18

You might also like