An illumination model, also called a lighting model and sometimes referred to as a shading model, is used to calculate the intensity of light that we should see at a given point on the surface of an object.
An illumination model, also called a lighting model and sometimes referred to as a shading model, is used to calculate the intensity of light that we should see at a given point on the surface of an object.
It gives the detailed information about Three Dimensional Display Methods, Three dimensional Graphics Package, Interactive Input Methods and Graphical User Interface, Input of Graphical Data, Graphical Data: Input Functions, Interactive Picture-Construction
Transformation:
Transformations are a fundamental part of the computer graphics. Transformations are the movement of the object in Cartesian plane.
Types of transformation
Why we use transformation
3D Transformation
3D Translation
3D Rotation
3D Scaling
3D Reflection
3D Shearing
A frequently used class of objects are the quadric surfaces, which are described with second-degree equations (quadratics). They include spheres, ellipsoids, tori, paraboloids, and hyperboloids.
Quadric surfaces, particularly spheres and ellipsoids, are common elements of graphics scenes
Query Processing : Query Processing Problem, Layers of Query Processing Query Processing in Centralized Systems – Parsing & Translation, Optimization, Code generation, Example Query Processing in Distributed Systems – Mapping global query to local, Optimization,
It gives the detailed information about Three Dimensional Display Methods, Three dimensional Graphics Package, Interactive Input Methods and Graphical User Interface, Input of Graphical Data, Graphical Data: Input Functions, Interactive Picture-Construction
Transformation:
Transformations are a fundamental part of the computer graphics. Transformations are the movement of the object in Cartesian plane.
Types of transformation
Why we use transformation
3D Transformation
3D Translation
3D Rotation
3D Scaling
3D Reflection
3D Shearing
A frequently used class of objects are the quadric surfaces, which are described with second-degree equations (quadratics). They include spheres, ellipsoids, tori, paraboloids, and hyperboloids.
Quadric surfaces, particularly spheres and ellipsoids, are common elements of graphics scenes
Query Processing : Query Processing Problem, Layers of Query Processing Query Processing in Centralized Systems – Parsing & Translation, Optimization, Code generation, Example Query Processing in Distributed Systems – Mapping global query to local, Optimization,
Bezier Curves, properties of Bezier Curves, Derivation for Quadratic Bezier Curve, Blending function specification for Bezier curve:, B-Spline Curves, properties of B-spline Curve?
Transformations in OpenGL are not drawing
commands. They are retained as part of the
graphics state. When drawing commands are issued, the
current transformation is applied to the points
drawn. Transformations are cumulative.
En esté trabajo vamos a ver que las transformaciones se pueden considerar como sistemas de coordenadas definidos respecto a un sistema de coordenadas global, y veremos la ventaja de comprender esta dualidad en el ámbito de los gráficos por ordenador
UNIT-I
Review of Software Engineering: Overview of software evolution, SDLC, Testing Process, Terminologies in
Testing: Error, Fault, Failure, Verification, Validation, Difference between Verification and Validation,
Test Cases, Testing Suite, Test Oracles, Impracticality of Testing All data; Impracticality of testing All
Paths. Verification: Verification methods, SRS verification, Source code reviews, User documentation
verification, and Software project audit, Tailoring Software Quality Assurance Program by Reviews,
Walkthrough, Inspection, and Configuration Audits.
UNIT–II (8)
Functional Testing: Boundary Value Analysis, Equivalence Class Testing, Decision Table Based Testing, Cause
Effect Graphing Technique. Structural Testing: Control flow testing, Path testing, Independent paths, Generation
of graph from program, Identification of independent paths, Cyclomatic Complexity, Data Flow Testing,
Mutation Testing.
UNIT-III (8)
Regression Testing: What is Regression Testing? Regression Test cases selection, reducing the number of test
cases, Code coverage prioritization technique. Reducing the number of test cases: Prioritization guidelines,
Priority category, Scheme, Risk Analysis.
What is cloud computing?
Advantages of cloud computing.
Disadvantages of cloud computing.
Mainly Four Deployment Models.
What is private cloud?
DRAWBACK
Two models for cloud services can be delivered in a private cloud.
Cloud Computing Service Models.
HOW TO DOWNLOAD MICROSOFT WORD IN ANDROID, and How to convert doc file into ...TEJVEER SINGH
In this pdf, you can learn how to convert doc file convert into pdf via android mobile without any third-party software.
And also learn how to install Microsoft word in android.
and also learn how Gmail doc file converts into a pdf file.
1. WAP of Array implementation using size 3X3 matrix accept
values from user and print them on screen.
2. WAP to insert new value in array at first position or at mid
position given by user and also array holds some items.
3. WAP to create a linked list add some nodes in it and print its
values using simple traversing operation of linked list.
4. WAP to insert new node in linked list at first position, list
already hold some items.
5. WAP insert new node in linked list add at first ,add at end and
add at middle position.
6. WAP to create a doubly linked list add some nodes in it and
print its values using backward traversing.
7. WAP to implement circular list using arrays.
8. WAP to implement circular list using linked list.
9. WAP to implement of stack operations through function Push()
and Pop() using arrays.
10. WAP to implement Queue operation Insert() and Delete()
function in queue using arrays.
11. WAP to create binary tree and traverse them using recursive
function Preorder,Postorder and Inorder traversing.
12. WAP to implement Linear search operation using arrays.
13. WAP to implement Binary search operation using arrays.
14. WAP to implement Bubble sort operation using arrays.
15. WAP to implement Insertion sort operation using arrays.
16. WAP to implement Selection sort operation using arrays.
17. WAP to implement Merge sort operation using arrays.
18. WAP to implement Heap sort operation using arrays.
19. WAP to evaluate Post fix expression using stack.
20. WAP to implement conversion algorithm from Pre fix to Post fix
expression.
The ‘Multi Banking System’ Interface is targeted to the future banking solution for the users who have multiple bank accounts in different banks. This interface integrates all existing banks and provides business solutions for both retail and corporate. System Involves
• This interface integrates all existing banks and provides business solutions for both retailers and corporate.
• This system acts as a standard interface between the clients and the banks
• Users who have accounts in various banks can log in here and can make any kind of transactions.
• In the backend, the system will take care of the entire obligation required in order to carry on transaction smoothly.
The Multi Banking System Interface is targeted to the future banking solution for the users who are having multiple bank accounts in multiple banks. This interface integrates all existing banks and provides business solutions for both retail and corporate. This system acts as a standard interface between the clients and all the banks, By using this portal any client who maintains accounts in various banks can directly log on to Multi Banking System Interface and make any kind of transactions. In the backend, the system will take care of the entire obligation required in order to carry on transaction smoothly.
Explain Hardware and Software technologies used in your project work.
Define the objective and motivation of your mini-project Work in reference to your Project Title.
Present and Explain DFDs of Project (DFD-0, DFD-1, DFD-2 …).
Present and Explain ER Diagram of Project.
Explain Front-End or User Interfaces (One by One) with Purpose and working.
Explain Back-End or Database Tables used in your project.
Explain Usability or Ultimate output of your project work.
Explain the Drawback or limitations of your project work.
Explain how this work can be carried out in future for improvement.
Define topology and explain different types of topologies of the network?
Explain error detection and error correction techniques?
Explain the flow control mechanism?
#How to install mongoDB and also setup pathTEJVEER SINGH
In this tutorial you have to see how to install MongoDB database or
MongoDB shell.
Also setup path of MongoDB then you will directly start via cmd command prompt by using command mongo --db
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracaleDriver
gives the error at JDBC connect with java program.
then this type of error will be remove in this slide or via ppt.
1. Create Tables and Insert data (First data using Insert query rest can be feeded.)
2. Write an SQL query to print details of the Workers whose FIRST_NAME ends with ‘h’ and contains six alphabets.
3. Change Last_Name Columns name to Surname.
4. Write an SQL query to print details of the Workers whose SALARY lies between 100000 and 500000.
5. Write an SQL query to fetch the count of employees working in the department ‘Admin’.
6. Write an SQL query to fetch the no. of workers for each department in the descending order.
7. Write an SQL query to print details of the Workers who are also Managers.
8. Select Top 10 salaries and Employees Full name from Worker table.
9. Write an SQL query to fetch the list of employees with the same salary.
Hierarchical Digital Twin of a Naval Power SystemKerry Sado
A hierarchical digital twin of a Naval DC power system has been developed and experimentally verified. Similar to other state-of-the-art digital twins, this technology creates a digital replica of the physical system executed in real-time or faster, which can modify hardware controls. However, its advantage stems from distributing computational efforts by utilizing a hierarchical structure composed of lower-level digital twin blocks and a higher-level system digital twin. Each digital twin block is associated with a physical subsystem of the hardware and communicates with a singular system digital twin, which creates a system-level response. By extracting information from each level of the hierarchy, power system controls of the hardware were reconfigured autonomously. This hierarchical digital twin development offers several advantages over other digital twins, particularly in the field of naval power systems. The hierarchical structure allows for greater computational efficiency and scalability while the ability to autonomously reconfigure hardware controls offers increased flexibility and responsiveness. The hierarchical decomposition and models utilized were well aligned with the physical twin, as indicated by the maximum deviations between the developed digital twin hierarchy and the hardware.
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxR&R Consult
CFD analysis is incredibly effective at solving mysteries and improving the performance of complex systems!
Here's a great example: At a large natural gas-fired power plant, where they use waste heat to generate steam and energy, they were puzzled that their boiler wasn't producing as much steam as expected.
R&R and Tetra Engineering Group Inc. were asked to solve the issue with reduced steam production.
An inspection had shown that a significant amount of hot flue gas was bypassing the boiler tubes, where the heat was supposed to be transferred.
R&R Consult conducted a CFD analysis, which revealed that 6.3% of the flue gas was bypassing the boiler tubes without transferring heat. The analysis also showed that the flue gas was instead being directed along the sides of the boiler and between the modules that were supposed to capture the heat. This was the cause of the reduced performance.
Based on our results, Tetra Engineering installed covering plates to reduce the bypass flow. This improved the boiler's performance and increased electricity production.
It is always satisfying when we can help solve complex challenges like this. Do your systems also need a check-up or optimization? Give us a call!
Work done in cooperation with James Malloy and David Moelling from Tetra Engineering.
More examples of our work https://www.r-r-consult.dk/en/cases-en/
Water scarcity is the lack of fresh water resources to meet the standard water demand. There are two type of water scarcity. One is physical. The other is economic water scarcity.
Final project report on grocery store management system..pdfKamal Acharya
In today’s fast-changing business environment, it’s extremely important to be able to respond to client needs in the most effective and timely manner. If your customers wish to see your business online and have instant access to your products or services.
Online Grocery Store is an e-commerce website, which retails various grocery products. This project allows viewing various products available enables registered users to purchase desired products instantly using Paytm, UPI payment processor (Instant Pay) and also can place order by using Cash on Delivery (Pay Later) option. This project provides an easy access to Administrators and Managers to view orders placed using Pay Later and Instant Pay options.
In order to develop an e-commerce website, a number of Technologies must be studied and understood. These include multi-tiered architecture, server and client-side scripting techniques, implementation technologies, programming language (such as PHP, HTML, CSS, JavaScript) and MySQL relational databases. This is a project with the objective to develop a basic website where a consumer is provided with a shopping cart website and also to know about the technologies used to develop such a website.
This document will discuss each of the underlying technologies to create and implement an e- commerce website.
Final project report on grocery store management system..pdf
Computer graphics unit 4th
1. UNIT-IV
Representing Curves and Surfaces:-
What are the different types of Curves?
A curve is an infinitely large set of points. Each point has two neighbours except endpoints. Curves
can be broadly classified into three categories − explicit, implicit, and parametric curves.
Implicit Curves
The set of points on curve are defined by employing a procedure that can be tested to see if a
point is on the curve. An implicit function is used to define the implicit curve
f(x, y) = 0
The multivalued curves can be represented such as for a single x value, many y values. The
very common example is circle, and is implicitly represented as:
Explicit Curves
The function y = f(x) can be plotted as a curve, which is known as explicit representation of
the curve. For each of the value of x, a single value y is normally computed by the function.
Parametric Curves
Parametric curves are the curves which have parametric values. Practically parametric curves
are mostly used. The form of a two-dimensional parametric curve is:
P(t) = f(t), g(t) or P(t) = x(t), y(t)
The functions f and g become the (x, y) coordinates of any point on the curve, and the points
are obtained when the parameter t is varied over a certain interval [a, b], normally [0, 1].
What are Bezier Curves?
2. Bezier:- Defined by two endpoints and two other points that control the
endpoint tangent vectors.
French engineer Pierre Bézier has discovered Bezier curve. The curves are generated under the
control of other points. Curve is generated by using approximate tangents. Mathematically the
curve is represented as:
Where n is the polynomial degree,
i is the index, and
t is the variable.
The simplest Bézier curve is the straight line from the point P0 to P1. Three control points
determine a quadratic Bezier curve and four control points determine cubic Bezier curve.
What are the properties of Bezier Curves?
The following are some of the properties of Bezier curve:
3. It takes the shape of the control polygon consisting of segments that join
the control points.
They pass through the first and last control points.
The convex hull of the control points contains these curves.
The degree of the polynomial defining the curve segment is one less that
the number of defining polygon point. Therefore, for 4 control points, the
degree of the polynomial is 3, i.e. cubic polynomial.
The shape of the defining polygon is usually followed by the Bezier curve.
The vector that determines the first and last segments is the same as that of
the direction of the tangent vector.
The convex hull property for a Bezier curve ensures that the polynomial
smoothly follows the control points.
No straight line intersects a Bezier curve more times than it intersects its
control polygon.
Under an affine transformation, they are very invariant.
Global control is exhibited by Bezier curves. In the sense that the shape of
the whole curve is altered by the movement of a control point.
A Bezier curve can be subdivided at a point t=t0 into two Bezier segments
which join together at the point corresponding to the parameter value t=t0.
What are B-Spline Curves?
Splines:-
several kinds, each defined by four points
uniform B-splines, non-uniform B-splines, ß-splines
Limited flexibility is the basic function of the Bernstein of the Bezier curve.
The order of the resulting polynomial defines the curve and the order is
fixed by the number of specified polygon vertices.
The second limiting characteristic is that the value of the blending
function is nonzero for all parameter values over the entire curve.
The B-spline basis contains the Bernstein basis as the special case. The B-spline
basis is non-global.
4. Where,
{pi: i = 0, 1, 2….n} are the control points
k is the order of the polynomial segments of the B-spline curve. Order k
means that the curve is made up of piecewise polynomial segments of
degree k - 1,
the Ni,k(t) are the “normalized B-spline blending functions”. They are
described by the order k and by a non-decreasing sequence of real numbers
normally called the “knot sequence”.
What are the properties of B-spline Curve?
The following are the properties of B-spline curves:
The sum of the B-spline basis functions for any parameter value is 1.
Each basis function is positive or zero for all parameter values.
Each basis function has precisely one maximum value, except for k=1.
The maximum order of the curve is equal to the vertices that define the
polygon.
5. The number of vertices defining the polygon and the degree of B-spline
polynomial are independent.
The local control over the curve surface is allowed by B-spline, since
each of the vertex affects the shape of the curve and where the associated
basis function is nonzero.
The variation diminishing property is exhibited by the curve.
The shape of the defining polygon is followed.
By applying to the vertices of defining polygon, an affine transformation
is applied to the curve.
The curve line within the convex hull of its defining polygon.
Parametric Representations of Surfaces
Recall that a curve in space is given by parametric equations as a function of single
parameter t
x = x(t) y = y(t) z = z(t).
A curve is a one-dimensional object in space so its parametrization is a function of one
variable.
Analogously, a surface is a two-dimensional object in space and, as such can be
described using two variables. If a surface is given by an explicit equation z = f (x, y)
the dependence on two independent variables is clearly visible. However, a parametric
representation of an implicit surface F (x, y, z) = 0 may often be very useful. In
particular, it may be useful to parametrize such surface using two parameters possibly
different from x and y. In particular, a surface given by the parametric equations
x = x(u, v) y = y(u, v) z = z(u, v)
is referred to as a parametric surface and the two independent variable u and v as
parameters. The equations above are called the parametric equations of the
surface. Thus, we have the following.
Dimension Parameter(s) Equations
Curve 1 t ˙r(t) = (x(t), y(t), z(t))
Surface 2 u, v ˙r(u, v) = (x(u, v), y(u, v), z(u, v))
Examples.
A surface of revolution
z = f (√x2 + y2) can be
parametrized using polar coordinates
as follows
x = rcos θ, y = rsinθ, z = f (r).
In particular, the following surfaces
of revolution are parametrized in this
6. way.
1. The paraboloid z = x2
+ y2
has parametric representation
by x = r cos θ, y = r sin θ,
z = r2
.
2. The cone z = √x2
+y2
3. The upper hemisphere of the sphere x2
+y2
+z2
= 9 has parametric representation by
x = r cos θ,
y = r sin θ, z =√9 − r2.
Acylindricalsurfaceobtainedfromacurveinoneofthecoordinateplanescanbe
parametrized using the curve parametrization and the remaining variable as the second
parameter. For example, consider the cylinders below.
4. The cylinder x2
+ y2
= 4 is
based on the circle x = 2 cos t,
and y = 2 sin t. The value of
the z-coordinate of a point on
the cylinder represents the
height h of that point. So, the
cylinder can be parametrized
as x = 2 cos t, y = 2 sin t,
z = h using the angle t and
the height h as two
parameters.
5. Similarly, the cylinder y2
+ z2
= 4 is based on the circle y = 2 cos t, and z = 2 sin
t in yz-plane. The value of the x-coordinate of a point on the cylinder can also be
considered to be the height. Using h for that value, the cylinder can be
parametrized as
x = h, y = 2 cos t, z = 2 sin t
In other words,
Surfaces in three dimensional space can be
described in many ways -- for example,
graphs of functions of two variables,
graphs of equations in three variables,
and
level sets for functions of three variables.
The surface at the right exemplifies all three as
7. the graph of the function f(x,y) = x2 - y2,
the graph of the equation z = x2 - y2, or
a level set of the function f(x,y,z) = x2 - y2 - z.
On the other hand, some surfaces cannot be
represented in any of these ways. The surface at the
right, whose technical name is "torus," is an
example. In this module, we explore a new -- but
familiar -- way of describing surfaces, as parametric
mappings of planar regions in space. In particular,
we will see that there is a natural way to describe the
torus as a parametric surface.
1. Recall that a parameterized curve in the plane
is the image of a straight line segment "bent" by some mapping
r(t) = (x(t),y(t)). For example, the vector-valued function r(t) = (t,t2) describes a
parameterized parabola in the plane. Write down a vector-valued function that
describes a circle in the plane. Plot your parametric curve in your worksheet
to confirm that it represents a circle.
2. This concept extends to parameterization of a surface in three dimensional
space by adding a third coordinate as an output of the vector valued function
and a second parameter as an input to the function.
Interpolation method
The problem of interpolation plays an extremely important role in modern
computation mathematics because of many numerical methods are based on
the concept of interpolation.
Parametric interpolation has certain advantages over the other interpolation
methods. It does not put any restrictions on a set of nodal points and allows to
interpolate curves and surfaces of complicated shape. Parametric interpolation
is used in computer graphics, in computer-aided design systems, in software for
typography, for numerical controlled cutters and in many other applications.
The advantages of parametric interpolation are discussed in details.
The specificity of the parametric interpolation of curves is that usually in
practice only ordered arrays of points to be interpolated are given and there is
no information on the methods of parameterization needed to construct
interpolants. Values of a parameter in nodal points are only need to form a
monotone sequence. It was established in a study of parametric splines that the
choice of a parameter has a critical effect on the interpolation curve, which
8. might even contain loops in some cases. For example, numbers of nodal point
can be taken as values of a parameter in nodal points. The advantage of such
parameterization is that it simplify spline manipulations, but the quality of the
interpolation will not be good if the nodal points set has a strong variation in the
distance between points. For interpolation of ellipses with parametric splines the
polar angle was taken as a parameter. It is recommended to use the length of a
broken line joining nodal points or an arc length of a curve as a parameter, it is
recommended to use the centripetal parameterization. It is proved the necessary
and sufficient conditions of choosing the best parameter, which is the arc length
of interpolation curve.
For parameterization of the surface it is necessary to set on the surface a grid of
parametrical lines defining the directions of measurement of parameters and to
set values of parameters in nods of the grid. In the problem of interpolation of
surfaces with parametric splines the length of a broken line joining nodal points
used for parameterization of grid lines, the length of a broken line or numbers of
nodal points. In this paper the necessary and sufficient conditions for the best
parameterization of the surface are proved. The best parameters are measured
along orthogonal curves, laying on the surface, and they are the lengths of
arches of these curves.
The best parameterization for the problem of parametric interpolation of
curves and in the problem of parametric interpolation of surfaces.
You can learn above example on this link
https://www.sciencedirect.com/science/article/pii/S0377042705005522#bib1
Illumination Models
•Motivation: In order to produce realistic images, we must simulate the
appearance of surfaces under various lighting conditions.
•Illumination Model: Given the illumination incident at a point on a
surface, quantifies the reflected light.
9. • Lighting effects are described with models that consider the interaction
of light sources with object surfaces
• The factors determining the lighting effects are:
– The light source parameters:
• Positions
• Electromagnetic Spectrum
• Shape
– The surface parameters
•Position
• Reflectance properties
• Position of nearby surfaces
– The eye (camera) parameters
•Position
• Sensor spectrum sensitivities
Illumination Models
10. • Simplified and fast methods for calculating surfaces intensities, mostly
empirical
• Calculations are based on optical properties of surfaces and the lighting
conditions (no reflected sources nor shadows)
• Light sources are considered to be point sources
• Reasonably good approximation for most scenes
Shading models for polygons
Shading is referred to as the implementation of the illumination model at the
pixel points or polygon surfaces of the graphics objects.
Shading model is used to compute the intensities and colors to display the
surface. The shading model has two primary ingredients: properties of the
surface and properties of the illumination falling on it. The principal surface
property is its reflectance, which determines how much of the incident light is
reflected. If a surface has different reflectance for the light of different
wavelengths, it will appear to be colored.
An object illumination is also significant in computing intensity. The scene may
have to save illumination that is uniform from all direction, called diffuse
illumination.
Shading models determine the shade of a point on the surface of an object in
terms of a number of attributes. The shading Mode can be decomposed into
three parts, a contribution from diffuse illumination, the contribution for one or
more specific light sources and a transparency effect. Each of these effects
contributes to shading term E which is summed to find the total energy coming
from a point on an object. This is the energy a display should generate to
present a realistic image of the object. The energy comes not from a point on the
surface but a small area around the point.
11. The simplest form of shading considers only diffuse illumination:
Epd=Rp Id
where Epd is the energy coming from point P due to diffuse illumination. Id is
the diffuse illumination falling on the entire scene, and Rp is the reflectance
coefficient at P which ranges from shading contribution from specific light
sources will cause the shade of a surface to vary as to its orientation concerning
the light sources changes and will also include specular reflection effects. In the
above figure, a point P on a surface, with light arriving at an angle of incidence
i, the angle between the surface normal Np and a ray to the light source. If the
energy Ips arriving from the light source is reflected uniformly in all directions,
called diffuse reflection, we have
Eps=(Rp cos i)Ips
This equation shows the reduction in the intensity of a surface as it's tipped
obliquely to the light source. If the angle of incidence i exceeds90°, the surface
is hidden from the light source and we must set Epsto zero.
This Intensity-Interpolation scheme, developed by Gouraud and usually referred
to as Gouraud Shading, renders a polygon surface by linear interpolating
intensity value across the surface. Intensity values for each polygon are
coordinate with the value of adjacent polygons along the common edges, thus
eliminating the intensity discontinuities that can occur in flat shading.
12. Each polygon surface is rendered with Gouraud Shading by performing the
following calculations:
1. Determining the average unit normal vector at each polygon vertex.
2. Apply an illumination model to each vertex to determine the vertex
intensity.
3. Linear interpolate the vertex intensities over the surface of the polygon.
At each polygon vertex, we obtain a normal vector by averaging the surface
normal of all polygons staring that vertex as shown in fig:
Thus, for any vertex position V, we acquire the unit vertex normal with the
calculation
Polygon Rendering Methods
• A freeform surface can be approximated by polyhedral
• Rendering: calculate the illumination at each surface point
• Applying the illumination model at each surface point is computationally
expensive
Flat Shading
• A single intensity is calculated for each surface polygon
13. • Fast and simple method
• Gives reasonable result only if all of the following assumptions are valid:
Gouraud Shading
• Renders the polygon surface by linearly interpolating intensity values
across the surface
Gouraud Shading Algorithm:
1. Determine the normal at each polygon vertex
2. Apply an illumination model to each vertex to calculate the vertex
intensity
3. Linearly interpolate the vertex intensities over the surface polygon
• The normal Nv of a vertex is an average of all neighbouring normal:
15. •Example: Gouraud shading of a sphere
Phong Shading
• A more accurate method for rendering a polygon surface is to interpolate
normal vectors, and then apply the illumination model to each surface
point
Phong Shading Algorithm:
1. Determine the normal at each polygon vertex
2. Linearly interpolate the vertex normal over the surface polygon
3. Apply the illumination model along each scanline to calculate intensity
of each surface point
•Example: Phong shading of a sphere
18. Shadows and Transparency
• Shadows
• Object and Image Precision Algorithms
• Two-Pass z-Buffer Shadow Algorithm
• Transparency
• Non refractive Transparency
• Refractive Transparency
Shadows
• A shadow covers surfaces that are not “visible” by the light source while
being visible by the viewer
19. •Intuition: hidden surface detection and shadow generation are in practice
the same problem
• Illumination equation for m sources, and including attenuation and
shadows:
• Observation: ambient light is not affected by shadows and attenuation
• Problem: to compute for each point and for each light source, the
function Si in illumination equation
• As in the case of hidden surface detection, shadow algorithms can be
object or image precision
• A hidden surface detection algorithm can be easily adapted to shadows
calculation
Z-Buffer Shadow Generation
•Algorithm:
– Render the scene from the light source “view point” and save the Z depth
ZL
– Render the scene again from the observer view point and save the Z
depth Z0
– Transform each pixel into light source coordinates and compare the Z
values ZL and Z0
21. Transparency
• A transparent surface produces both, reflected and transmitted light
• The relative contribution of transmitted light depends on the degree of
transparency of the surface
24. What is an image?
An image is a visual representation of something. In information technology,
the term has several usages:
1) An image is a picture that has been created or copied and stored in electronic
form. An image can be described in terms of vector graphics or raster graphics.
An image stored in raster form is sometimes called a bitmap. An image map is a
file containing information that associates different locations on a specified
image with hypertext links.
Common image file formats online include:
JPEG (pronounced JAY-peg) is a graphic image file produced according
to a standard from the Joint Photographic Experts Group, an ISO/IEC
group of experts that develops and maintains standards for a suite
of compression algorithms for computer image files. JPEGs usually have
a .jpg file extension.
GIF (pronounced JIF by many, including its designer;
pronounced GIF with a hard G by many others) stands for Graphics
Interchange Format. The GIF uses the 2D raster data type and is encoded
in binary. GIF files ordinarily have the .gif extension.
GIF89a is an animated GIF image, formatted according to GIF Version
89a. One of the chief advantage format is the ability to create an animated
image that can be played after transmitting to a viewer page that moves -
for example, a twirling icon or a banner with a hand that waves or letters
that magically get larger. A GIF89a can also be specified for interlaced
GIF presentation.
PNG (pronounced ping ) is a Portable Network Graphics) is a file format
for image compression that was designed to provide a number of
improvements over the GIF format. Like a GIF, a PNG file is compressed
in lossless fashion (meaning all image information is restored when the
file is decompressed during viewing). Files typically have a .png
extension.
SVG is Scalable Vector Graphics, the description of an image as an
application of XML. Any program such as a browser that recognizes
XML can display the image using the information provided in the SVG
format. Scalability means that the file can be viewed on a computer
display of any size and resolution, whether the small screen of a
smartphone or a large widescreen display in a PC. Files usually have .svg
extension.
TIFF (Tag Image File Format) is a common format for exchanging raster
graphics (bitmap) images between application programs, including those
25. used for scanner images. A TIFF file can be identified as a file with a .tiff
or ".tif" file name suffix.
2) A disk image is a copy of the entire contents of a storage device, such as a
hard drive or DVD. The disk image represents the content exactly as it is on the
original storage device, including both data and structure information.
3) Another use of the term image is for a section of random access memory
(RAM) that has been copied to another memory or storage location.
What is an image filter?
An image filter is a technique through which size, colors, shading and other
characteristics of an image are altered. An image filter is used to transform the
image using different graphical editing techniques. Image filters are usually
done through graphic design and editing software.
Image filters are primarily used to edit an image using computer software. An
image filter generally changes the image at the pixel level, meaning each pixel
individually is affected. It can be applied to 2-D and 3-D images. Typically, the
image filter process includes options such as:
Editing the color scheme/theme/contrast of the image
Adjusting image brightness
Adding effects to the image
Changing the texture
The term image filter may also refer to the process of filtering (excluding)
images from data, folders or Web searches.
What is an image processing?
Image processing mainly include the following steps:
1. Importing the image via image acquisition tools;
2.Analysing and manipulating the image;
3.Output in which result can be altered image or a report which is based on
analysing that image.
26. PHASES OF IMAGE PROCESSING:
1. ACQUISITION – It could be as simple as being given an image which is in
digital form. The main work involves:
a) Scaling
b) Color conversion (RGB to Gray or vice-versa)
2. IMAGE ENHANCEMENT– It is amongst the simplest and most appealing
in areas of Image Processing it is also used to extract some hidden details from an
image and is subjective.
3. IMAGE RESTORATION– It also deals with appealing of an image but it is
objective(Restoration is based on mathematical or probabilistic model or image
degradation).
4. COLOR IMAGE PROCESSING– It deals with pseudocolor and full color
image processing color models are applicable to digital image processing.
5. WAVELETS AND MULTI-RESOLUTION PROCESSING– It is
foundation of representing images in various degrees.
6. IMAGE COMPRESSION-It involves in developing some functions to
perform this operation. It mainly deals with image size or resolution.
7. MORPHOLOGICAL PROCESSING-It deals with tools for extracting
image components that are useful in the representation & description of shape.
8. SEGMENTATION PROCEDURE-It includes partitioning an image into its
constituent parts or objects. Autonomous segmentation is the most difficult task
in Image Processing.
9. REPRESENTATION & DESCRIPTION-It follows output of segmentation
stage, choosing a representation is only the part of solution for transforming raw
data into processed data.
10. OBJECT DETECTION AND RECOGNITION-It is a process that assigns
a label to an object based on its descriptor.
OVERLAPPING FIELDS WITH IMAGE PROCESSING
27. According to block 1, If input is an image and we get out image as a output, then
it is termed as Digital Image Processing.
According to block 2, If input is an image and we get some kind of information
or description as a output, then it is termed as Computer Vision.
According to block 3, If input is some description or code and we get image as
an output, then it is termed as Computer Graphics.
According to block 4, if input is description or some keywords or some code and
we get description or some keywords as a output, then it is termed as Artificial
Intelligence.
Geometric Image Transformations
Geometric transformations are widely used for image registration and
the removal of geometric distortion. Common applications include
construction of mosaics, geographical mapping, stereo and video.
Spatial Transformations of Images
A spatial transformation of an image is a geometric transformation of the
image coordinate system. It is often necessary to perform a spatial
transformation to:
•Align images that were taken at different times or with different sensors
•Correct images for lens distortion
28. •Correct effects of camera orientation
•Image morphing or other special effects
Spatial Transformation
In a spatial transformation each point(x, y) of image A is mapped to a
point (u, v) In a new coordinate system.
u = f1(x, y)
v = f2(x, y)
Mapping from (x, y) to (u, v) coordinates. A digital image array has an
implicit grid that is mapped to discrete points in the new domain. These
points may not fall on grid points in the new domain.
Affine Transformation
An affine transformation is any transformation that preserves collinearity
(i.e., all points lying on a line initially still lie on a line after transformation)
and ratios of distances (e.g., the midpoint of a line segment remains the
midpoint after transformation).
In general, an affine transformation is a composition of rotations,
translations, magnifications, and shears.
31. Combinations of Transforms
Complex affine transforms can be constructed by a sequence of
basic affine transforms.
Transform combinations are most easily described in terms of
matrix operations. To use matrix operations we introduce
homogeneous coordinates. These enable all affine operations to
be expressed as a matrix multiplication. Otherwise, translation is
an exception.
The affine equations are expressed as
An equivalent expression using matrix notation is
32. q = Tp
where q ,T and q are the defined above.
Transform Operations
The transformation matrices below can be used as building blocks.
You will usually want to translate the centre of the image to the
origin of the coordinate system, do any rotations and scaling, and
then translate it back.
Combined Transform Operations
33. You can more learn about image transformations
https://www.cis.rit.edu/class/simg782/lectures/lecture_02/lec782_
05_02.pdf
References:-
https://www.wisdomjobs.com
https://www.tutorialspoint.com/computer_graphics/computer_graphics_curves.htm
https://services.math.duke.edu/education/ccp/materials/mvcalc/parasurfs/para1.html
https://www.sciencedirect.com/science/article/pii/S0377042705005522#bib2
https://whatis.techtarget.com/definition/image