Computer Graphics Moving Boat in River
Computer Graphics Moving Boat in River
Annexure -II
Micro-Project Report
1.0 Rationale
The purpose of the project entitled as “Moving boat in River” Computer graphics is
responsible for displaying art and image data effectively and meaningfully to the consumer. It is
also used for processing image data received from the physical world, such as photo and video
content.
Computer graphics deals with generating images with the aid of computers. Today,
computer graphics is a core technology in digital photography, film, video games, cell phone and
computer displays, and many specialized applications. A great deal of specialized hardware and
software has been developed, with the displays of most devices being driven by computer graphics
hardware. It is a vast and recently developed area of computer science. The phrase was coined in
1960 by computer graphics researchers Verne Hudson and William Fetter of Boeing. It is often
abbreviated as CG, or typically in the context of film as computer generated imagery (CGI). The
non-artistic aspects of computer graphics are the subject of computer science research.[1]
Computer graphics is responsible for displaying art and image data effectively and meaningfully to
the consumer. It is also used for processing image data received from the physical world, such as
photo and video content. Computer graphics development has had a significant impact on many
types of media and has revolutionized animation, movies, advertising, video games, in general.
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:
methods for digitally synthesizing and manipulating visual content, see study of computer graphics
Today, computer graphics is widespread. Such imagery is found in and on television, newspapers,
weather reports, and in a variety of medical investigations and surgical procedures. A well-
constructed graph can present complex statistics in a form that is easier to understand and interpret.
In the media "such graphs are used to illustrate papers, reports, theses", and other presentation
material.
Many tools have been developed to visualize data. Computer-generated imagery can be categorized
into several different types: two dimensional (2D), three dimensional (3D), and animated graphics.
As technology has improved, 3D computer graphics have become more common, but 2D computer
graphics are still widely used. Computer graphics has emerged as a sub-field of computer
science which studies methods for digitally synthesizing and manipulating visual content. Over the
past decade, other specialized fields have been developed like information visualization,
and scientific visualization more concerned with "the visualization of three dimensional phenomena
(architectural, meteorological, medical, biological, etc.), where the emphasis is on realistic
renderings of volumes, surfaces, illumination sources, and so forth, perhaps with a dynamic (time)
component".
The computer graphics technology is introduced into the resource management in this
chapter. Because the resource management involves a very wide range, this subject takes the
communication resource management as an example to elaborate this technology. Communication
resource management has always been known for a wide range of equipment. A large number of
equipment bring a large degree of inconvenience for the manager. The room equipment in
communication resource management using computer graphics display is applied to solve this
problem. And it has a wide range of representations in resource management, and fully embodies
the advantages of graphics technology in resource management [3]. Communication Resource
Management Nowadays, with the rapid development of information, the resources management in
communication has become particularly important. The concept of communication resource
management is huge and covers a wide range. It mainly refers to the three major parts of the data
entities in transmission, including transmission room, wiring room and outside line. However, the
communication resource management system really is a typical complex project, and the system
data types are also complex. The kind of system data involves a wide range, including
communication, database, GIS, network and other technical fields. The implementation of
communication resource management system, especially the application of computer graphics
technology in communication resource management system solves the difficulties of
communication station equipment maintenance and duty management caused by the increase of
communication traffic. This application also reduces the management difficulty and strength in
system resources, and improve the efficiency of the staff on duty [4]. Based on this technology, the
department staffs achieve the management on paperless office, digital and graphical management,
which meets the requirements from communication users for the communication resource
management system.
Scope of Applications
Computer Graphics appear in nearly every field where computers are used. Let us mention:
Image processing is generally considered outside of Computer Graphics. However, we would like
to consider image processing as a possible tool for Computer Graphics.
Most important developments have been initiated by specific user's needs, for instance
mathematical representation of surfaces, 3-D manipulations.
Applications may have an important influence on future graphic hardware and software design.
2-Dimensional graphics
different aspects: line drawings, diagrams, line drawings plus colouring of grey panels (advertising,
cartography), images
image support: film, paper, engravings, microfilm
input: by program, standard terminal {keyboard, cards...}, specific input device, digitization of
drawings and processing of images
significance: schematic (data presented in a conventional way, data presentation techniques must be
carefully studied according to applications), realistic.
3-Dimensional graphics
virtual 3-D, that is presentation in 2-D, stereoscopic effects, perspective transformations, hidden-
lines elimination, surface illumination, holography
real 3-D: by fast machining in different materials
input: same as mentioned previously, but here we have a very important research field, related to
image processing (feature extraction, reconstruction from projections etc...).
Computer Animation
Computer animation is the production of sequences of pictures with time constraints. We find the
same characteristics as in 1.2.1., plus picture dynamics:
Computer animation will become a very important field of application; and so major efforts have to
be made in this direction, starting with understanding what tools are needed.
We consider here applications where the picture is a support for man-machine communication. The
picture is then a suitable representation of the data to be handled and processed, as for instance in
Computer Aided Design or Computer Aided Instruction.
linkage to the data structure, to events (for process control), to programs. This linkage can be
defined by program control, interactively or automatically.
man-machine graphical communication, or iconic communication.
We try to show here the main problems in graphics to which the user will have to pay attention
when implementing application programs. The different points involving software and hardware
will be discussed in the next chapters.
Ergonomics:
How to define the device which is best fitted to a given task?
What should be the possible variations of a given device with respect to a particular application and
user (brightness, contrast, colours, adaptability of input devices...)?
Portability:
Ability to use many different graphic devices with the same computer system or to transport
programs to different configurations: how to define the interfaces? Are there interfaces to be
defined?
Cost/benefit analysis:
Especially the balance between hardware and software, the criteria for choosing the appropriate
hardware and software.
Software:
What kind of software? (high level, low level)
General graphic systems versus specific application systems?
Influence of the programming language?
Hardware
The drawing device is the physical means which permits display of a picture. Different technologies
are in use or may be developed, leading to devices whose performances are difficult to compare.
However, some criteria can be used:
resolution of drawing,
brightness,
colour ,
line drawings versus surface painting,
ease of picture modification {addition, erasure, selective era sure, creation) ,
speed of modification or of displaying a new drawing.
The choice of a drawing device for a given application implies a trade-off between mainly
incompatible characteristics. A careful investigation of the adequacy of drawing devices to different
domains of application should be very useful and will point to deficiencies in the present
technology: the combination of characteristics needed for some applications cannot be obtained, or
if obtained at all, not at a reasonable cost (for example, large size frames plus instant regeneration).
The graphic processor is the device which decodes and executes instructions, in order to produce a
picture using the drawing device. Fundamental characteristics are:
A standard set should be defined as a collection of subsets, some being optional. The set of
instructions of a given processor should be the union of some of these subsets, i.e. a subset must
exist entirely or not at all {for example: the set of geometric transformations in 2-D, or 3-D).
Where and at which level should standards for control instructions be defined? This is not quite
clear now.
The location of the display file has a strong influence on the performance of a graphic system:
Connection to a Computer
off-line: the graphic processor is running independently from the computer and uses pre-established
files to produce pictures (plotters, drafting machines)
on-line: the graphic device is connected to a computer. Three working modes exist:
stand alone the graphic application is running on a single, usually small, computer
transparent the graphic application is running on a main computer, generally time-shared; messages
are exchanged through a satellite computer, which only ensures the connection between the main
computer and the graphic device
intelligent terminal: part of the application program is running on the main computer, part on the
satellite.
A graphical application's program can be used more or less interactively, and with or without
graphical input (drawings, etc.). We only want to consider facilities which make graphical input and
interaction possible or easier. Two types of devices are needed:
non-graphical input devices, such as keyboards, switches..., which can be integrated in the graphic
terminal,
graphical input devices such as light-pen, digitizers... which enable one to input graphical data
directly.
The ergonomics of input devices and of complex terminals {several input devices plus display and
processor) should be carefully studied. From the hardware point of view, significant progress will
be made with devices designed to collect 3-dimensional information, probably using image
processing techniques, or dynamic graphical data (digital high-speed camera).
non-interactive
non-graphic interaction: graphical output with non-graphic interaction facilities (keyboard,
switches...)
local interactive facilities: non-graphical input to computer, but possibilities offered by the graphic
processor to select or adapt the drawing according to the user's wishes (tracking, loop, perspective,
rotation, colour, brightness, contrast,...). The definition of these local facilities in hardware has to be
investigated with respect to the graphic terminal and the application.
interactive graphics: previous possibilities plus graphical input used either to enter graphical data or
to define an interaction (pointing for instance). The control of the input devices can be made partly
by the graphic processor, using occasionally local interactive facilities. Two questions should be
answered: which functions (text editing, light-pen tracking, stack control for recovery of pointing
data...) should be implemented by hardware or microprogramming in the graphic processor, and
how to communicate with the main computer (graphical input and device control)?
The influence of display characteristics on interaction capabilities should be noticed, as, for
instance, the effect of picture regeneration or modification speed on response time. In fact, the main
part of this response time is frequently the calculation time used by a program, so that the
performance of interactive facilities must be carefully chosen according to the type of application.
Finally, there should be some investigation into the response time acceptable to the user, depending
on his reasonable wishes and on the apparent complexity of the task performed or the benefits from
it.
7.0 Software
program users,
application program writers,
graphic systems designers.
This division may appear in some cases rather artificial, but we think it is a good starting point to
study graphic software problems. We shall begin here again with the user's point of view and finish
with the system designer, whose task is to satisfy the previous ones.
A graphical application program is a program using graphic hardware. When running such a
program, information is handled by means of graphical communication. The dialogue with the
computer is achieved by using a set of commands, which are performed through communication
devices. Programs are mostly to be used by people who are not computer scientists, so technical
problems must be as transparent as possible. Problems linked to that point of view could be:
ease of using the program: how can the user be helped during the dialogue, what kind of error
handling is to be proposed?
adaptative dialogue: would it be possible to have programs which 'learn' how the user wishes to
operate, in order to facilitate the communication process?
graphical communication: what are the laws of iconic communication? How can we handle the data
input by means of drawing?
portability: what is the influence of the hardware on the program's performance? Can we change an
input device without modifying the program?
semantics: how can we define precisely the effect of a program, and consequently its domain of
application? What kind of flexibility is to be allowed?
When specifying and writing an application program, the programmer will have to define the
functional specifications of his program, taking into account the points developed in Sec. 3.1., then
he will implement it using some programming language. We define a graphic language as any set of
graphic programming facilities (set of subroutines, specific language...) offered to the application
programmer to write programs.
Semantics
Under this ambitious word, we will only try to define those functions which should be offered in a
graphic language. Some of these, usually low level functions, can be directly realized by the graphic
processor, so that we find here the same problems as in Sec. 2.2.1. We will not discuss them again.
Nevertheless, there should be some basic and standard set of primitives available on each graphic
system and rules to create and use new primitives. Among these rules there should be a precise way
of defining the semantics of a given primitive, which could be done, for instance, using only the
basic set of primitives. A careful study should be made as to whether such a universal set exists. If
it does, it would ensure the portability of programs as any primitive non-realizable by hardware on
a certain configuration would then be realizable by software. This implies of course the portability
of the non-graphic part of the program. Also the set of primitives should be independent of the
programming language for obvious practical reasons. On the other hand, the facilities offered to
combine them (possibilities to define procedures, functions, subroutines, for instance) are by nature
dependent upon the programming language.
These facilities concur to what can be called the extensibility of the graphic language. The object is
indeed to extend the possibilities of a given set of primitives, by combining them with other graphic
primitives and with functions offered by the programming language (association of a data base with
drawings for instance). There are two problems:
find a good programming language for a given application, which is not just a graphics problem,
make sure that the programming language allows the handling without restriction (like type or
number of arguments) of the given primitives and permits the expected types of extensions.
Syntax
There are two types of problems to be considered here, the syntax of graphic functions or
primitives, and the influence of the syntax of the programming languages.
The syntax of the graphic primitives should be as simple as possible in order that it maps easily
onto most programming languages.
The second problem is whether the same set of primitives can be utilized with different
programming languages such as FORTRAN, LISP, APL, BASIC, Assembly languages, PL1, etc. A
complete compatibility does not seem possible, but we can hope that for most programming
languages, we will only need to make minor changes in the formal presentation of the primitives.
These syntactic problems are mainly conditioned by the implementation and compilation
techniques in use:
what will be the influence of new compilation techniques (extensible languages, very high level
languages)?
can we evaluate the cost of different implementation techniques such as the use of a package of
subroutines, the use of a preprocessor to allow new syntactic items, modifying a compiler, or
defining a completely new language?
These considerations could lead to the definition of standards adapted to classes of programming
languages.
Programming
The problems here are both practical and theoretical; neitheraspect seems to have been touched so
far.
First, the theory of graphical programming. There has been much effort recently on programming
theory. It should be possible to find similar results for graphical and interactive programming,
mainly in the fields of:
formalization of programs,
program semantics,
proofs of programs (correctness, equivalence of programs...),
complexity of programs and algorithms.
Such results condition the practical aspects of graphical programming, the art of graphical
programming and programming facilities. For the first point, we should look for rules similar, for
example, to the rules of structured programming, which would make programs easily
understandable and would facilitate documentation, proof and modification.
Programming facilities consist mainly of documentation, testing and debugging facilities which are
presently lacking. Graphical and interactive programming is one of the most promising research
fields in Computer Graphics and should condition largely its future developments.
We treat algorithms separately from application programs and graphic systems as it is clear that
graphics needs an enormous amount of specific algorithms which are mostly independent from
application programs and systems. A great effort has to be made to develop them.
Producing Pictures
We need algorithms in all the fields considered in this paper: geometric drawings, cartography,
graphs, mechanical drafting, 3-D presentations, real time, animation, and so on... We must add
some non-graphic algorithms which are frequently necessary, like mathematics for graphics
(interpolation and smoothing techniques, surface representation...).
These algorithms should be device independent, but we cannot skip the fact that in some cases, the
use of particular features of a given class of devices can lead to much more efficient algorithms, as
for instance with hidden-line elimination {Loutrel versus Watkins or Newell-Sancha).
Interactive Techniques
The most promising research field should be the use of artificial intelligence techniques for
graphical input and interaction:
image analysis, text analysis, symbol (or character) recognizers, in order to give very flexible input
techniques,
input of 3-D coordinates, by using image reconstruction from its projections,
learning methods for the production of good drawings from indications, by the user and for the
interpretation of his input.
The Computer Graphics and Visualization group consists of researchers in image processing,
computer graphics, visualization, visual analytics, GPU programming, simulation, and geometry
processing. The primary goals of this group are the analysis, synthesis, understanding, and
manipulation of visual data such as images, video sequences, and 3D geometric content.
Application areas span a broad range from art entertainment, to science and engineering, and to
biology and medicine. The group is actively engaged in image and video editing and enhancement,
special effects, 3D interactive content generation, pattern recognition and object recognition. This
research cluster includes the researchers from the Graphics & Image Technologies Laboratory as
well as overlapping with researchers in the Data Science, Theoretical Computer Science, and
Artificial Intelligence groups.
Sub Areas
Rendering
Geometry Modeling
GPU Programming
Scientific Visualization
Information Visualization
Virtual Reality
Computer Vision
Computer vision is concerned with modeling and replicating human vision using computer
software and hardware. Formally if we define computer vision then its definition would be that
computer vision is a discipline that studies how to reconstruct, interrupt and understand a 3d scene
from its 2d images in terms of the properties of the structure present in scene.
It needs knowledge from the following fields in order to understand and stimulate the operation of
human vision system.
Computer Science
Electrical Engineering
Mathematics
Physiology
Biology
Cognitive Science
Computer vision is divided into three basic categories that are as following:
High-level vision: includes conceptual description of a scene like activity, intention and behavior.
Related Fields
Image processing studies image to image transformation. The input and output of image
processing are both images.
Computer vision is the construction of explicit, meaningful descriptions of physical objects from
their image. The output of computer vision is a description or an interpretation of structures in 3D
scene.
Example Applications
Robotics
Medicine
Security
Transportation
Industrial Automation
Robotics Application
Navigation
Obstacles avoidance
Human Robot Interaction (HRI): Intelligent robotics to interact with and serve people
Medicine Application
Classification and detection (e.g. lesion or cells classification and tumor detection)
2D/3D segmentation
Assembly
Object sorting
Security Application
Transportation Applicationb
Autonomous vehicle
Computer Graphics
Computer graphics are graphics created using computers and the representation of image data by a
computer specifically with help from specialized graphic hardware and software. Formally we can
say that Computer graphics is creation, manipulation and storage of geometric objects (modeling)
and their images (Rendering). The field of computer graphics developed with the emergence of
computer graphics hardware. Today computer graphics is use in almost every field. Many
powerful tools have been developed to visualize data. Computer graphics field become more
popular when companies started using it in video games. Today it is a multibillion dollar industry
and main driving force behind the computer graphics development. Some common applications
areas are as following:
Presentation Graphics
3d Animation
Presentation Graphics
3d Animation
Medical Visualization
3D MRI
It is used to make graphical user interfaces objects like buttons, icons and other components
9.0 Implement standard algorithms to draw various graphics objectives using programme
Let the given two points be P(x1, y1) and Q(x2, y2). Now, we find the equation of line
formed by these points.
Any line can be represented as,
ax + by = c
Let the two points satisfy the given line. So, we have,
ax1 + by1 = c
ax2 + by2 = c
We can set the following values so that all the equations hold true,
a = y2 - y1
b = x1 - x2
c = ax1 + by1
These can be derived by first getting the slope directly and then finding the intercept of the
line.
Derivation :
ax1 + by1 = c ...(i)
ax2 + by2 = c ...(ii)
Equating (i) and (ii),
ax1 + by1 = ax2 + by2
=> a(x1 - x2) = b(y2 - y1)
Thus, for equating LHS and RHS, we can simply have,
a = (y2 - y1)
AND
b = (x1 - x2)
so that we have,
(y2 - y1)(x1 - x2) = (x1 - x2)(y2 - y1)
AND
Putting these values in (i), we get,
c = ax1 + by1
The algorithm is very similar to the Mid-Point Line Generation Algorithm. Here, only the boundary
condition is different.
For any given pixel (x, y), the next pixel to be plotted is either (x, y+1) or (x-1, y+1). This can be
decided by following the steps below.
Find the mid-point p of the two possible pixels i.e (x-0.5, y+1)
1. If p lies inside or on the circle perimeter, we plot the pixel (x, y+1), otherwise if it’s outside we
plot the pixel (x-1, y+1)
Boundary Condition : Whether the mid-point lies inside or outside the circle can be decided by
using the formula:-
Given a circle centered at (0,0) and radius r and a point p(x,y)
F(p) = x2 + y2 – r2
if F(p)<0, the point is inside the circle
In our program we denote F(p) with P. The value of P is calculated at the mid-point of the two
contending pixels i.e. (x-0.5, y+1). Each pixel is described with a subscript k.
P1 = (r – 0.5)2 + (0+1)2 – r2
= 1.25 – r
= 1 -r (When rounded off)
Examples:
Transformation means changing some graphics into something else by applying rules. We can
have various types of transformations such as translation, scaling up or down, rotation, shearing,
etc. When a transformation takes place on a 2D plane, it is called 2D transformation.
Transformations play an important role in computer graphics to reposition the graphics on the
screen and change their size or orientation.
Homogenous Coordinates
To shorten this process, we have to use 3×3 transformation matrix instead of 2×2 transformation
matrix. To convert a 2×2 matrix to 3×3 matrix, we have to add an extra dummy coordinate W.
In this way, we can represent the point by 3 numbers instead of 2 numbers, which is
called Homogenous Coordinate system. In this system, we can represent all the transformation
equations in matrix multiplication. Any Cartesian point PX,YX,Y can be converted to
homogenous coordinates by P’ (Xh, Yh, h).
Translation
A translation moves an object to a different position on the screen. You can translate a point in 2D
by adding translation coordinate (tx, ty) to the original coordinate X,YX,Y to get the new
coordinate X′,Y′X′,Y′.
X’ = X + tx
Y’ = Y + ty
The pair (tx, ty) is called the translation vector or shift vector. The above equations can also be
represented using the column vectors.
We can write it as −
P’ = P + T
Rotation
In rotation, we rotate the object at particular angle θ thetatheta from its origin. From the following
figure, we can see that the point PX,YX,Y is located at angle φ from the horizontal X coordinate
with distance r from the origin.
Let us suppose you want to rotate it at the angle θ. After rotating it to a new location, you will get a
new point P’ X′,Y′X′,Y′.
[X′Y′]=[XY][cosθ−sinθsinθcosθ]OR[X′Y′]=[XY][cosθsinθ−sinθcosθ]OR
P’ = P . R
R=[cosθ−sinθsinθcosθ]R=[cosθsinθ−sinθcosθ]
For positive rotation angle, we can use the above rotation matrix. However, for negative angle
rotation, the matrix will change as shown below −
R=[cos(−θ)−sin(−θ)sin(−θ)cos(−θ)]R=[cos(−θ)sin(−θ)−sin(−θ)cos(−θ)]
=[cosθsinθ−sinθcosθ](∵cos(−θ)=cosθandsin(−θ)=−sinθ)=[cosθ−sinθsinθcosθ]
(∵cos(−θ)=cosθandsin(−θ)=−sinθ)
Scaling
To change the size of an object, scaling transformation is used. In the scaling process, you either
expand or compress the dimensions of the object. Scaling can be achieved by multiplying the
original coordinates of the object with the scaling factor to get the desired result.
Let us assume that the original coordinates are X,YX,Y, the scaling factors are (SX, SY), and the
produced coordinates are X′,Y′X′,Y′. This can be mathematically represented as shown below −
X' = X . SX and Y' = Y . SY
The scaling factor SX, SY scales the object in X and Y direction respectively. The above equations
can also be represented in matrix form as below −
(X′Y′)=(XY)[Sx00Sy](X′Y′)=(XY)[Sx00Sy]
OR
P’ = P . S
Where S is the scaling matrix. The scaling process is shown in the following figure.
If we provide values less than 1 to the scaling factor S, then we can reduce the size of the object. If
we provide values greater than 1, then we can increase the size of the object.
Reflection
Reflection is the mirror image of original object. In other words, we can say that it is a rotation
operation with 180°. In reflection transformation, the size of the object does not change.
The following figures show reflections with respect to X and Y axes, and about the origin
respectively.
Shear
A transformation that slants the shape of an object is called the shear transformation. There are two
shear transformations X-Shear and Y-Shear. One shifts X coordinates values and other shifts Y
coordinate values. However; in both the cases only one coordinate changes its coordinates and
other preserves its values. Shearing is also termed as Skewing.
X-Shear
The X-Shear preserves the Y coordinate and changes are made to X coordinates, which causes the
vertical lines to tilt right or left as shown in below figure.
Xsh=⎡⎣⎢100shx10001⎤⎦⎥Xsh=[1shx0010001]
Y' = Y + Shy . X
X’ = X
Y-Shear
The Y-Shear preserves the X coordinates and changes the Y coordinates which causes the
horizontal lines to transform into lines which slopes up or down as shown in the following figure.
Ysh⎡⎣⎢1shy0010001⎤⎦⎥Ysh[100shy10001]
X’ = X + Shx . Y
Y’ = Y
Composite Transformation
If a transformation of the plane T1 is followed by a second plane transformation T2, then the result
itself may be represented by a single transformation T which is the composition of T1 and T2
taken in that order. This is written as T = T1∙T2.
A combined matrix −
Translation
Scaling
Shearing
Rotation
Reflection
The change in the order of transformation would lead to different results, as in general matrix
multiplication is not cumulative, that is [A] . [B] ≠ [B] . [A] and the order of multiplication. The
basic purpose of composing transformations is to gain efficiency by applying a single composed
transformation to a point, rather than applying a series of transformation, one after another.
For example, to rotate an object about an arbitrary point (Xp, Yp), we have to carry out
three steps Translate point (Xp, Yp) to the origin.
Rotate it about the origin.
Finally, translate the center of rotation back where it belonged.
3D transformation
Rotation
3D rotation is not same as 2D rotation. In 3D rotation, we have to specify the angle of rotation
along with the axis of rotation. We can perform 3D rotation about X, Y, and Z axes. They are
represented in the matrix form as below –
Scaling
You can change the size of an object using scaling transformation. In the scaling process, you
either expand or compress the dimensions of the object. Scaling can be achieved by multiplying
the original coordinates of the object with the scaling factor to get the desired result. The following
figure shows the effect of 3D scaling −
In 3D scaling operation, three coordinates are used. Let us assume that the original coordinates
are X,Y,ZX,Y,Z, scaling factors are (SX,SY,Sz)(SX,SY,Sz) respectively, and the produced
coordinates are X′,Y′,Z′X′,Y′,Z′. This can be mathematically represented as shown below −
Shear
A transformation that slants the shape of an object is called the shear transformation. Like in 2D
shear, we can shear an object along the X-axis, Y-axis, or Z-axis in 3D.
As shown in the above figure, there is a coordinate P. You can shear it to get a new coordinate P',
which can be represented in 3D matrix form as below −
P’ = P ∙ Sh
X′=X+ShyxY+ShzxZX′=X+ShxyY+ShxzZ
Y′=ShxyX+Y+shzyZY′=ShyxX+Y+shyzZ
Z′=ShxzX+ShyzY+ZZ′=ShzxX+ShzyY+Z
Transformation Matrices
1. Computer Art:
Using computer graphics we can create fine and commercial art which include animation
packages, paint packages. These packages provide facilities for designing object shapes and
specifying object motion.Cartoon drawing, paintings, logo design can also be done.
3. Presentation Graphics:
For the preparation of reports or summarising the financial, statistical, mathematical, scientific,
economic data for research reports, managerial reports, moreover creation of bar graphs, pie
charts, time chart, can be done using the tools present in computer graphics.
4. Entertainment:
Computer graphics finds a major part of its utility in the movie industry and game industry.
Used for creating motion pictures , music video, television shows, cartoon animation films. In
the game industry where focus and interactivity are the key players, computer graphics helps in
providing such features in the efficient way.
5. Education:
Computer generated models are extremely useful for teaching huge number of concepts and
fundamentals in an easy to understand and learn manner. Using computer graphics many
educational models can be created through which more interest can be generated among the
students regarding the subject.
6. Training:
Specialised system for training like simulators can be used for training the candidates in a way
that can be grasped in a short span of time with better understanding. Creation of training
modules using computer graphics is simple and very useful.
Ms.Dhumal K.R.
************************