0% found this document useful (0 votes)
6 views41 pages

Understanding Computer Graphics Basics

Computer Graphics is a field focused on creating and manipulating visual content using computers, encompassing both 2D and 3D graphics. It includes various projection methods, such as parallel and perspective projections, and representations like Boundary Representation (B-rep) and Space Partitioning Representation for 3D objects. Additionally, polygons and curves, including Bézier and B-spline curves, are fundamental in modeling and rendering complex shapes in computer graphics.

Uploaded by

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

Understanding Computer Graphics Basics

Computer Graphics is a field focused on creating and manipulating visual content using computers, encompassing both 2D and 3D graphics. It includes various projection methods, such as parallel and perspective projections, and representations like Boundary Representation (B-rep) and Space Partitioning Representation for 3D objects. Additionally, polygons and curves, including Bézier and B-spline curves, are fundamental in modeling and rendering complex shapes in computer graphics.

Uploaded by

Aso Asola
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Computer Graphics – Definition

Computer Graphics is the field of computer science that deals with creating, storing, and
manipulating visual content (images, drawings, animations, and videos) using computers. In simple
terms, it is the technology that enables computers to display pictures and make visual
communication possible.

Key Points:

1. Meaning: Computer graphics turns data and instructions into visual images on a screen (such
as charts, diagrams, 3D models, games, movies, etc.).

2. Nature: It involves both hardware (monitors, graphic cards, printers) and software (graphics
applications, algorithms).

3. Types:

o 2D Graphics – flat images, drawings, logos, charts.

o 3D Graphics – objects with depth, used in animation, CAD, gaming.\

What is Projection in Computer Graphics?


Projection in computer graphics is the method to map 3D objects onto a 2D display. Eg
considering a cube which is 3D objects and since we cannot fit it into computer so we put
into it through 2D objects this process is call projection.
It is also defined as mapping or transformation of the object in projection plane or view plane
There are mainly two types of projection:
1. Parallel
2. Perspective
What is parallel Projections?
Parallel projection is a specific type of projection in computer graphics. In this method, the
projecting lines come out parallel from the object's surface. These lines then hit the projection
plane in a parallel manner.
In this, cordinate positions are transformed to the view plane along parallel lines.
A projection is said to be parallel if centre of projection is at infinite distance from the protected
plane.
The projection lines are parallel to each other & extended from the object and intersect the
view plane.
Types of Parallel Projection
Parallel projection is divided into two main categories:
Orthographic Projection
Orthographic projection is a type of parallel projection. In this method, the projecting lines
come out parallel from the object's surface. These lines then hit the projection plane at a right
angle (90 degrees).
Oblique Projection
Oblique projection is the second main type of parallel projection. In this method, the projecting
lines come out parallel from the object's surface. However, they hit the projection plane at an
angle other than 90 degrees.
What is perspective projection?
The projection is said to be perspective projection, if the centre of projection is at finite distance
from the projected plane
Visual effects is similar to human visual system
Object's appear smaller distance from centre of projection (COP) ( EYES OF OBSERVER)
increase
Difficult to determine exact size and shape of object
There are three types of perspective projection
1. One-point
2. Two-point
3. Three-point
[Link] Point Perspective Projection - One point perspective projection occurs when any of
principal axes intersects with projection plane or we can say when projection plane is
perpendicular to principal axis.

In the above
figure, z axis intersects projection plane whereas x and y axis remain parallel to projection
plane.
[Link] Point Perspective Projection - Two point perspective projection occurs when
projection plane intersects two of principal axis.
In the above figure, projection plane intersects x and y axis whereas z axis remains parallel
to projection plane.

[Link] Point Perspective Projection - Three point perspective projection occurs when all
three axis intersects with projection plane. There is no any principal axis which is parallel

to projection plane.

Application of Perspective Projection : The perspective projection technique is used by


artists in preparing drawings of three-dimensional objects and scenes.
Three-dimensional (3D)
Three-dimensional (3D) object representation refers to the methods and techniques used to
describe, store, and display objects in three dimensions (x, y, z) on a computer. It is a key
concept in computer graphics, CAD (Computer-Aided Design), animation, and virtual
reality.
1. Boundary Representation (B-rep)
Definition
• Boundary Representation (B-rep) represents a solid object by its boundaries – that
is, the surfaces enclosing the volume.
• Instead of storing the interior of the solid, B-rep only stores:
o Faces → surfaces that bound the object (usually planes, cylinders, spheres,
NURBS).
o Edges → curves where two faces meet.
o Vertices → points where edges meet.
In simple terms: B-rep = Faces + Edges + Vertices + Topology (connectivity).
Example: Cube in B-rep
A cube is represented by:
• 6 faces (squares)
• 12 edges (line segments)
• 8 vertices (corner points)
• Connectivity info (which edge belongs to which face, etc.)
Components of B-rep
1. Geometry
o Defines the shape and size of entities.
o Example: Equation of a plane, coordinates of a point, curve equations.
2. Topology
o Defines how the entities are connected.
o Example: An edge connects two vertices and belongs to two faces.
Advantages of B-rep
• Can represent complex shapes (curves, holes, cavities).
• Provides accurate geometry (since it uses mathematical equations).
• Widely used in CAD/CAM, 3D modeling, and engineering design.
Disadvantages of B-rep
• More complex data structure (needs geometry + topology).
• Validation is difficult (ensuring all faces connect properly without gaps).
• More storage required compared to simpler methods like CSG.
Applications
• CAD/CAM systems → mechanical parts, product design.
• 3D printing → boundary models converted to STL (triangular meshes).
• Computer graphics → surface rendering.
B-rep is a surface-based representation of 3D objects using faces, edges, and vertices with
topological relationships. It is accurate and flexible, but more complex than methods like
CSG.
2. Space Partitioning Representation
Definition
• Space Partitioning Representation describes a 3D object by subdividing the entire
3D space into smaller regions (cells, blocks, or partitions).
• Each region is labeled as:
o Inside the object
o Outside the object
o Or partially occupied (boundary)
Instead of describing only the surface (like in B-rep), space partitioning looks at the volume
of the whole space.
Main Types of Space Partitioning Representations
1. Octree Representation
o The 3D space is recursively subdivided into eight smaller cubes (octants).
o Each cube is classified as full (inside), empty (outside), or mixed (needs
further subdivision).
o Efficient for objects with large empty spaces.
o Widely used in 3D graphics, collision detection, volume rendering, and 3D
games.
2. Binary Space Partitioning (BSP) Trees
o The space is recursively divided by planes.
o Produces a tree structure where each node represents a partitioned region.
o Originally used in 3D video games (like Doom, Quake) for fast rendering
and visibility testing.
3. Cell Decomposition (Voxel Representation)
o Divides space into a regular 3D grid of cubes (voxels, like 3D pixels).
o Each voxel stores whether it’s inside, outside, or boundary.
o Useful in medical imaging (CT, MRI scans) and 3D printing.
Example (Cube in Space Partitioning)
• Imagine enclosing the cube in a big box.
• Subdivide the box into smaller cubes.
• Mark the small cubes that are inside the cube as "filled," others as "empty."
Advantages
• Good for spatial queries (collision detection, ray tracing, nearest neighbor search).
• Can represent complex and irregular shapes.
• Useful in volumetric modeling.
Disadvantages
• Requires large memory (especially voxel-based).
• May be slower for rendering compared to polygonal mesh.
• More difficult for exact geometric calculations.
In summary:
Space partitioning representation divides the entire 3D space into smaller manageable
parts (octrees, BSP trees, voxels). It is best suited for collision detection, visibility testing,
medical imaging, and volumetric models, but needs more memory compared to surface-
based methods.

Polygons in Computer Graphics


Definition
A polygon is a flat, closed shape made up of straight-line segments (edges) connected by
vertices. In 3D computer graphics, polygons are the basic building blocks used to represent
the surface of a 3D object.

Polygon Surfaces
Polygons are used in computer graphics to compose images that are three-dimensional in
appearance. Usually (but not always) triangular, polygons arise when an object's surface is
modeled, vertices are selected, and the object is rendered.
• The most commonly used boundary representation for a three-dimensional graphics object is
a set of surface polygons that enclose the object interior.
• Many graphics systems store all object descriptions as sets of surface polygons.

• This simplifies and speed up the surface rendering and display of objects, since all surfaces
are described with linear equations. For this reason, polygon descriptions are often referred to
as “standard graphics objects”.
Generally polygon surfaces are specified using;
1. Polygon Table
2. Plane Equations
3. Polygon Meshes

1. Polygon Table:
• Polygons tables can be used to specify polygon surfaces. We specify a polygon surface with
a set of vertex coordinates and associated attribute parameters.
• As information for each polygon is input, the data are placed into tables that are to be used in
the subsequent' processing, display, and manipulation of the objects in a scene.
Polygon tables can be organized into two groups:
a.) Attribute tables
b.) Geometric tables
a.) Attribute tables: Provide information for an object and includes parameters specifying
the degree of transparency of the object and its surface reflectivity and texture characteristics.
A convenient organization for storing geometric data is to create three lists:
I) Vertex Table
Coordinate values for each vertex in the object are stored in this table.
II) Edge Table
It contains pointers back into the vertex table to identify the vertices for each polygon
edge.
III) Polygon Surface Table
It contains pointers back into the edge table to identify the edges for each polygon.
In this method, the surface is specified by the set of vertex coordinates and associated
attributes. As shown in the following figure, there are five vertices, from v1 to v5.
• Each vertex stores x, y, and z coordinate information which is represented in the table as v1:
x1, y1, z1.
• The Edge table is used to store the edge information of polygon. In the following figure,
edge E1 lies between vertex v1 and v2 which is represented in the table as E1: v1, v2.
• Polygon surface table stores the number of surfaces present in the polygon. From the
following figure, surface S1 is covered by edges E1, E2 and E3 which can be represented in
the polygon surface table as S1: E1, E2, and E3
A polygonal mesh can be rendered using hidden surface removal algorithms. The polygon mesh
can be represented by three ways –
• Explicit representation
• Pointers to a vertex list

• Pointers to an edge list


Curve lines:
Curved lines are essential for representing smooth shapes, natural objects, and complex
surfaces that cannot be drawn accurately with straight line segments.
A curve consists of an infinite set of points that are connected in a continuous manner. Each
point on the curve typically has two neighbours, except for the endpoints. These endpoints, if
they exist, have only one neighbour.
For example, in a circle, which is a closed curve, there are no endpoints because the curve
forms a continuous loop. On the other hand, in an open curve like a line, the endpoints are the
two points at the beginning and end of the curve.

As we know, a curve consists of an infinitely large set of points. Any point on the curve has
two neighbours except for a small number of points known as endpoints, which have only one
neighbour.
Curves are useful for drawing objects that are not flat. Real-world objects often require curves
to give them a more realistic and smooth appearance. Now, let us see some different types of
curves commonly used in computer graphics.
Types of Curves
There are several ways to represent curves in computer graphics, and these are generally
classified into three main categories:
• Implicit Curves
• Explicit Curves
• Parametric Curves
o Bézier Curves
o B-spline Curves
Implicit Curves
An implicit curve is defined by a mathematical function that checks whether a point lies on the
curve or not.

The implicit function is often written as −f(x,y)=0


In this case, the curve is formed by all the points (x, y) that satisfy the equation. Implicit curves
are useful because they can describe a variety of complex shapes, but they have some
limitations.
For example, the function cannot easily represent vertical lines or more complex curves without
adding complexity to the mathematical expression.
Explicit Curves
In contrast, an explicit curve is represented as a function of one variable −y=f(x)
Here, for every value of x, there is a corresponding value of y. This representation works well
for simple curves but cannot represent more complex shapes, especially those with vertical
lines.
For example, the case of a circle or a complex curved object, explicit curves become limited
since they are unable to represent vertical lines or more complicated shapes.
• Do not allow for multiple values for a given argument
• Cannot describe vertical tangents, as infinite slopes are hard to represent.
• Cannot represent all curves (vertical lines, circles)
Parametric Curves:
A parametric curve defines a curve using a parameter t, with x, y, z given as separate functions
of t.
Parametric curves are the most used curves in modern computer graphics. These curves are
defined using parametric equations, where each coordinate (x, y) of the curve is a function of
one or more parameters, usually denoted by t. A common parametric curve is written as
−q(t)=(f(t),g(t)) Where f(t) and g(t) are functions that define the x and y coordinates of the
curve, respectively, and t is the parameter that varies over a certain range, usually between 0
and 1.
Importance of Parametric Curves
Parametric curves allow for greater flexibility and control over the curve's shape. They are
widely used in animation, modeling, and simulations. Most curves used today in 2D and 3D
graphics are parametric because they allow for more precise control and smoothness.
Now that we understand the basic types of curves, let us dive deeper into two specific and
widely used curves: Bézier curves and B-spline curves.

Bezier curves:

A Bezier curve is a smooth parametric curve commonly used in computer graphics and related
fields. It is defined by a set of control points. The curve always starts at the first control point
and ends at the last control point, while the intermediate control points determine the shape of
the curve. These curves are defined using control points, which determine the shape of the
curve.

where P0, P1, and P2 are control points, and t is a parameter that varies between 0 and 1. Bezier
curves allow designers to create smooth, flowing shapes and are widely used in drawing tools
like Adobe Illustrator.
Eg:
B-spline Curves
The next famous type of curve is B-spline curves. B-splines offer better control over the shape
of the curve by allowing local adjustments to the curve without affecting the entire shape. This
makes them particularly useful in 3D modelling and computer-aided design (CAD)
applications.
Unlike Bézier curves, where changing one control point affects the entire curve, B-spline
curves allow for more localized changes. If a control point is moved in a B-spline curve, only
a specific segment of the curve changes, leaving the rest of the curve intact.

How Do B-spline Curves Work?


Like Bézier curves, B-splines are defined by control points. However, in a B-spline curve, the
influence of each control point is limited to a local region of the curve. This allows designers
to make more precise adjustments without altering the overall shape drastically.
Blending function for B-spline curves are defined by the Cox-deBoor recursion formulas:

Where each blending function is defined over d subintervals of the total range of u. The
selected set of subinterval end-point uj is referred to as a Knot vector. A knot vector is a non-
decreasing sequence of parameter values: [u0,u1,…,un+d]. It determines where and how the
control points affect the curve.
.
B-spline curve
• It is a continuous curve so change in one control point doesn’t change the shape of
whole curve.
• B-spline curve consists of segments. The join point between these segments are called
knots.

Mathematical representation
• The knot vector is a sequence of parameter values that determines where and how the
control points affect the curve. The number of knots is always equal to the number of
control points plus curve degree plus one.
• B-Spline curve lies within the convex hull of at most d+1 control points so that B-Spline
is tightly bound to input positions.
• Figure below shows local control
Properties of B-spline curve
1. B-spline allows the local control over the curve surface because each vertex affects the
shape of a curve only over a range of parameter values where its associated basis
function is nonzero.
2. The curve exhibits the variation diminishing property.
3. The curve generally follows the shape of defining polygon.
4. Any affine transformation can be applied to the curve by applying it to the vertices of
defining polygon.
5. The curve line within the convex hull of its defining polygon.
6. The maximum order of the curve is equal to the number of vertices of defining polygon.
7. The degree of B-spline polynomial is independent on the number of vertices of defining
polygon.
Bezier Curves vs B-spline Curves
1. B-Spline curves are considered as a generalization of Bezier curves
2. B-Spline curves require more information such as degree of the curve and a knot vector,
and in general involve a more complex theory than Bezier curves.
3. B-Spline curve offers more control and flexibility than Bezier curve.
4. Unlike Bezier curve, the change in any control point can only some part of curve in B-
spline.

Application of B-spline Curves


B-splines are widely used in where high-precision modelling is needed, such as automotive
design, aerospace, and animation. They are also common in CAD software, where complex 3D
shapes are needed.
What are Quadric Surfaces?
Quadric surfaces, defined by second-degree polynomial equations in three variables,
encompass diverse three-dimensional shapes like ellipsoids, spheres, cylinders, cones,
paraboloids, and hyperboloids.
Quadric surfaces are three-dimensional shapes like ellipsoids, hyperboloids, or paraboloids,
described by second-degree equations in three variables. These surfaces have have wide-
ranging applications in fields such as physics, engineering, and computer graphics.
Equation of Quadric Surface
The equation of a quadric surface in three-dimensional space is typically given by a second-
degree polynomial equation in three variables, often written as:
𝐴𝑥2+𝐵𝑦2+𝐶𝑧2+𝐷𝑥𝑦+𝐸𝑥𝑧+𝐹𝑦𝑧+𝐺𝑥+𝐻𝑦+𝐽𝑧+𝐾=0
Where A, B, C, D, E, F, G, H, I, and J are constants. This equation represents a wide range of
shapes, including ellipsoids, spheres, cylinders, cones, paraboloids, and hyperboloids. The
specific coefficients determine the shape and orientation of the quadric surface in space.

Quadric Surface Equation Description

(x² / a²) + (y² / b²) + (z²


Ellipsoid All cross-sections are ellipses.
/ c²) = 1

Hyperboloid of One (x² / a²) + (y² / b²) - (z² /


Has one connected surface.
Sheet c²) = 1

Hyperboloid of Two (x² / a²) + (y² / b²) - (z² /


Consists of two separate surfaces.
Sheets c²) = - 1

Shaped like an upward or downward


Elliptic Paraboloid (x² / a²) + (y² / b²) = z/c
bowl.

Hyperbolic
(x² / a²) - (y² / b²) = z/c Saddle-shaped surface.
Paraboloid
Quadric Surface Equation Description

(x² / a²) + (y² / b²) - (z² /


Elliptic Cone A double-napped surface.
c²) = 0

All cross-sections parallel to the z-axis


Elliptic Cylinder (x² / a²) + (y² / b²) = 1
are ellipses.

All cross-sections parallel to the z-axis


Hyperbolic Cylinder (x² / a²) - (y² / b²) = 1
are hyperbolas.

All cross-sections parallel to the y-


Parabolic Cylinder (x² / a²) = z/c
axis are parabolas.

This general form will return different types of quadric surfaces that we can graph in a three-
dimensional coordinate system. In fact, through rotation and translation, we can simplify the
general form into two standard forms as shown below:

Types of Quadric Surfaces


There are various types of quadric surfaces discussed as follows:

Type Description

An ellipsoid resembles a stretched or squished sphere, exhibiting three


mutually perpendicular axes of symmetry, each with varying lengths.
Ellipsoid
Its shape is defined by a quadratic equation involving the squares of x, y,
and z coordinates, allowing for diverse geometric variations.

A sphere is a perfectly symmetrical three-dimensional object where all


points on its surface are equidistant from its center, resulting in a round
Sphere shape.
Its equation involves the sum of squares of x, y, and z coordinates, defining
its curvature and symmetry.

Cylinder Cylinders are tube-like structures with parallel circular bases. Depending
on the coefficients in their equations, they can be elliptic or hyperbolic in
Type Description

nature, influencing their cross-sectional shapes and overall geometry.


They play crucial roles in engineering, architecture, and geometric
modeling.

Cones feature a pointed tip (apex) and a base that can either be circular or
hyperbolic, depending on the specific parameters in their equations.
Cone
Their elegant and distinctive shapes find applications in various fields,
from geometry and architecture to physics and engineering.

Paraboloids are defined by equations with a single quadratic term and no


linear terms, resulting in shapes reminiscent of open or closed surfaces.
Paraboloid Depending on the signs of the coefficients, they can be elliptic or
hyperbolic in nature, showcasing unique geometric properties and
curvatures.

Hyperboloids are characterized by equations containing two quadratic


terms with opposite signs.
They can manifest as either two separate pieces (two-sheeted hyperboloid)
Hyperboloid
or a single connected piece (one-sheeted hyperboloid), exhibiting complex
and intriguing geometric structures with applications in mathematics and
physics.

Applications of Quadric Surfaces


Quadric surfaces have numerous applications across various fields due to their geometric
properties and versatility:
In Optics and Engineering
• Paraboloids: Used in satellite dishes and telescopes for focusing incoming
electromagnetic waves (such as light or radio waves) to a single point, due to their
reflective properties.
• Ellipsoids: Describe the shapes of lenses and mirrors in optics, where they help control
the path of light rays.
In Architecture and Design
• Ellipsoids: Often used in architectural design to create aesthetically pleasing shapes for
buildings, domes, and structural elements.
• Hyperboloids: Employed in the design of iconic structures like cooling towers and
bridges due to their structural strength and unique shape.
In Physics and Mechanics
• Elliptic Cylinders: Describe the shape of pressure vessels and pipes in fluid mechanics,
where the cross-section remains constant along the length.
• Parabolic Cylinders: Used in mechanics to model trajectories of particles or
projectiles under certain forces, due to their parabolic cross-sections.
Computer Graphics and Animation
• Quadric surfaces are used extensively in computer graphics to model objects in 3D
scenes due to their mathematical simplicity and ability to represent a wide variety of
shapes.
Mathematical Modeling
• Elliptic Paraboloids and Hyperbolic Paraboloids: Used in mathematical modeling
and optimization problems where these surfaces represent constraints or objective
functions.
Geology and Geography
• Spheres: Used to model the Earth's shape in geodesy and for representing geological
features such as ore bodies or mineral deposits.

What is Data Visualization?

Data visualization is the graphical representation of information and data. Using visual
elements like charts, graphs, and maps, data visualization tools provide an accessible way to
see and understand trends, outliers, and patterns in data. This visual context helps users
understand the data’s insights and make data-driven decisions more effectively. It’s a powerful
tool for exploratory data analysis and conveying findings to others.

Data visualization involves transforming raw data into visual formats that reveal patterns,
trends, and correlations. This transformation process can range from simple static charts to
highly interactive and complex visualizations. The goal is to make the data more
understandable, insightful, and actionable. Effective data visualization leverages visual
perception principles to present data in a way that is both aesthetically pleasing and
informative.

It is not just about creating pretty pictures but about creating meaningful representations that
can tell a story or answer a question. This process involves understanding the audience,
selecting the appropriate visualization techniques, and presenting the data in a way that aligns
with the intended message. For instance, a bar chart might be used to compare sales figures
across different regions, while a line chart could illustrate trends in stock prices over time.

Why is Data Visualization Important?


Data visualization is essential because it transforms complex data into clear and actionable
insights. Converting raw numbers into visual formats allows for quick comprehension and
informed decision-making.
Here are some key reasons why data visualization is so crucial.
• Unlocking the narrative: Data visualization helps uncover the story hidden within
data, allowing decision-makers to grasp complex concepts and identify new patterns.
• Effective communication: It plays a vital role in presenting data findings clearly and
concisely, ensuring that the message is easily understood.
• Handling big data: Visualization tools enable data scientists and analysts to interpret
large data sets quickly and efficiently, driving better business strategies and operations.
• Immediate understanding: Humans are inherently visual creatures, and our brains
process visual information more effectively than text or numbers alone. Visual
representations allow us to quickly identify trends, spot outliers, and understand
relationships within the data.
• Essential for quick decision-making: This immediate comprehension is particularly
valuable in fast-paced environments where quick decision-making is crucial.
• Broadening audience reach: Data visualization makes complex data accessible and
understandable to a broader audience, including business executives, policymakers, and
laypersons.
• Democratizing data: By making data more accessible, visualization empowers more
people to engage with and make informed decisions based on data.

What is Data Visualization? Big Data Visualization Categories


Big data visualization involves handling vast and complex data sets, often requiring advanced
tools and techniques. It can be categorized into three main types:
Interactive Visualization
This allows users to engage with the data dynamically. Interactive dashboards and reports
enable users to manipulate data and uncover insights through various filters and controls. Tools
like Tableau and Power BI are commonly used to create interactive visualizations that allow
users to drill down into data, explore different perspectives, and gain deeper insights.
Real-time Visualization
This involves visualizing data as it is collected. It’s particularly useful for monitoring live data
streams, such as social media feeds, sensor data, or financial market movements. Real-time
visualization tools can provide up-to-the-minute insights, enabling quick responses to changing
conditions. For example, financial traders use real-time visualization to monitor market
movements and make timely investment decisions.

3D Visualization
3D visualization can provide additional depth and clarity for particularly complex data sets.
It’s often used in medical imaging, geospatial analysis, and engineering. 3D visualizations can
help to understand complex structures and relationships that might be difficult to interpret in
two dimensions. For example, 3D visualizations of MRI or CT scans in medical imaging can
help doctors diagnose and plan treatments more effectively.
Importance of Datasets in Visualization Projects
Datasets are important in visualization projects as they provide the raw materials for trainers
to develop the groundwork required for drawing the main conclusions. The raw
data acts as input for the analysis and sets the context for understanding the
observed phenomenon. By systematically exploring the data, analysts can
identify patterns, trends, and connections that may be hidden within the
complexity of the data, leading to the discovery of valuable insights. It's important
to note that datasets must be reliable and valid as they're used to evaluate the
authenticity and integrity of visualizations, ensuring that they aren't
misrepresenting the data.
Top Datasets for visualization projects
1. Iris Flower Classification - The Iris Flower dataset is a well-known example in the realm
of machine learning that is utilized for classification purposes. It contains measurements of iris
flowers belonging to three distinct species: setosa, versicolor, and virginica. Each entry
includes the sizes of the petals and sepals. This dataset is frequently employed to illustrate
different classification techniques because of its straightforward nature and ability to highlight
the fundamentals of machine learning classification.
Iris DataSet
2. COVID 19 Datasets - COVID-19 datasets contain a variety of information about the
coronavirus pandemic, such as epidemiological data, case numbers, testing rates, mortality
rates, vaccination data, and more. These datasets are important for researchers, policymakers,
and the public to grasp how the virus is spreading and affecting people, evaluate strategies to
stop it and monitor how well vaccination efforts are working. Using this data helps make
decisions based on facts to fight the pandemic.
COVID-19 Datasets
3. House Prediction - House prediction datasets provide valuable information about real estate
properties, like the number of bedrooms, bathrooms, square footage, location, and sale prices.
This data is used in predictive analytics and machine learning to create models that can estimate
house prices based on specific attributes. These models are beneficial for real estate
professionals, buyers, and sellers in making well-informed decisions regarding pricing,
investments, and market trends.
House Prediction
4. Fraud Detection - Fraud detection datasets contain transactional data from different sources
like banking, e-commerce, and healthcare. They come with labels showing whether the activity
is fraudulent or not. These datasets help create machine-learning models that can spot
suspicious transactions and identify fraud. Having reliable fraud detection systems is vital for
businesses and financial institutions to manage risks and prevent financial losses.
Fraud Detection
5. Amazon Sales Datasets - The Amazon sales datasets contain data on products sold on their
platform, such as categories, prices, reviews, ratings, and sales. By studying these datasets, we
can gain valuable insights into consumer habits, market trends, popular products, and sales
trends on Amazon. This information can help businesses improve their marketing tactics,
manage inventory more effectively, and offer the right products to boost sales and customer
satisfaction.
Amazon Sales Datasets
6. Finance Datasets - Finance datasets are collections of monetary records that may be both
real-world or artificially generated. These datasets are precious for various packages, such as
system learning. Some tremendous finance datasets include those available on Kaggle.
Finance Datasets
7. Young People Survey Datasest- A dataset from a Young People Survey contains responses
from a diverse group of young individuals on various aspects of their lives, including
demographics, education, technology use, social issues, personal interests, and mental and
physical health.
Young People Survey Dataset
8. E-Learning Student Reactions: The E-Learning Student Reactions dataset captures
feedback from students regarding their experiences with e-learning platforms and courses. This
dataset includes students' ratings, comments, and other reactions to different aspects of e-
learning.
E-Learning Student Reactions
9. Titanic: The Titanic dataset contains information on the passengers aboard the RMS Titanic,
which sank in 1912. It includes details like age, gender, class, and survival status. This dataset
is often used in classification and survival analysis projects.
Titanic
10. Airbnb Listings: Airbnb Listings datasets provide comprehensive information about rental
properties listed on Airbnb, including location, price, availability, and user reviews. This data
is useful for market analysis and business strategy development in the hospitality industry.
Airbnb Listings
11. IMDB Movies Dataset: The IMDB Movies dataset includes information on movies such
as title, genre, cast, crew, release year, ratings, and reviews. It is widely used for analysis in
recommendation systems, trend analysis, and other film industry-related studies.
IMDB Movies Dataset
12. Uber Datasets: Uber datasets contain data on ride-sharing trips, including pickup and drop-
off locations, times, distances, and fares. This data is valuable for urban mobility studies, traffic
pattern analysis, and service optimization in the ride-sharing industry.
Uber Datasets
13. Boston Datasets: The Boston dataset includes information on housing prices in Boston
suburbs, with features such as crime rate, average number of rooms, and proximity to
employment centers. It is a classic dataset for regression analysis in machine learning.
Boston Datasets
14. Human Resources DataSet: The Human Resources dataset includes information on
employees, such as demographics, job roles, salaries, and performance metrics. It is used for
HR analytics, including employee turnover prediction, performance analysis, and workforce
planning.
Human Resources DataSet
15. World Development Indicators: The World Development Indicators dataset contains data
on global development, including economic, social, and environmental indicators. It is useful
for studying global trends, policy analysis, and international development projects.
World Development Indicators
16. India – Trade Data: The India Trade Data dataset includes information on India's imports
and exports, covering commodities, trade values, and trading partners. It is valuable for
economic analysis, trade policy development, and market research.
India – Trade Data
17. Students Performance in Exams: The Students Performance in Exams dataset contains
data on students' academic performance, including demographic factors, parental education,
and test scores. It is used for educational research, performance analysis, and policy
development.
Students Performance in Exams
18. 515K Hotel Reviews Data in Europe: This dataset includes reviews of hotels in Europe,
with information on review ratings, comments, and hotel details. It is useful for sentiment
analysis, customer satisfaction studies, and hospitality industry research.
Barcelona Data Sets
19. Coffee and Code: This dataset includes information on coffee shops and coding events,
including locations, types of events, and attendance. It is valuable for studying the intersection
of social gatherings, productivity, and urban culture.
Coffee and Code
Criteria for Selecting Dataset
The dataset choice significantly impacts the model's ability to learn relevant patterns,
generalize, and achieve high accuracy in various tasks.
Below is the listed steps-
• Step 1: Data quality and format play an important role for organizing well-structured
data. It ensure the consistent features and clear label. For example- Suppose there is
missing value in your datasets then always practice to alternative datasets.
• Step 2: Secondly, think on larger size of dataset which tend to more reliable results
especially in ML tasks.
• Step 3: Consider the relevance of the dataset to your research question.
• Step 4: Explore the data selection method that determine the data point to contain the
data in training phase. Thus, always be careful while choosing relevant data.

What is Data Visualization? Use Cases and


Applications
Data visualization is used across various industries and applications, enhancing the ability to
understand and utilize data effectively:

Business Intelligence

Companies use data visualization for performance tracking, market analysis, and strategic
planning. Tableau and Power BI are popular for creating interactive dashboards and reports.
These tools enable businesses to monitor key performance indicators (KPIs), track sales
performance, and analyze real-time market trends. For example, a retail company might use a
dashboard to monitor daily sales figures, inventory levels, and customer feedback.

Healthcare

Visualization helps understand patient data, track disease outbreaks, and optimize healthcare
operations. For example, heat maps can show the spread of diseases geographically, allowing
public health officials to allocate resources effectively. In hospitals, data visualization can be
used to monitor patient vitals, track the progress of treatments, and identify potential
complications early.
Finance

In finance, visualization aids in tracking stock market trends, risk management, and portfolio
analysis. Real-time visualization tools are crucial for making timely investment decisions. For
example, traders use real-time charts to monitor stock prices, identify trends, and execute
trades. Risk managers use visualizations to assess portfolios’ risk exposure and develop
mitigation strategies.

Marketing

Marketers use visualization to analyze consumer behavior, campaign performance, and market
trends. Interactive dashboards can show the impact of marketing efforts in real time. For
example, a marketing team might use a dashboard to track the performance of different
campaigns, analyze customer engagement, and optimize marketing strategies based on data
insights.

Education

Data visualization improves teaching methods, tracks student performance, and research
trends. Educational institutions use visual tools to analyze and present data on student
outcomes. For example, schools use dashboards to monitor student attendance, track academic
performance, and identify students who need additional support. Researchers use data
visualization to analyze education trends and develop evidence-based policies.

Scientific Research

Scientists use data visualization to interpret complex data sets from experiments and
simulations. 3D visualizations can provide in-depth insights into scientific phenomena. For
example, climate scientists use visualizations to analyze data from climate models, track
changes in temperature and precipitation patterns, and predict future climate scenarios.
Biologists use visualizations to analyze gene expression data and understand diseases’
underlying mechanisms.

Government and Public Policy

Governments use data visualization to analyze population data, economic indicators, and public
health information. This aids in policy-making and public communication. For example,
governments use visualizations to track the spread of COVID-19, monitor economic
performance, and allocate resources. Policymakers use data visualization to analyze different
policies’ impact and communicate findings to the public.

3-D Transformation:
In very general terms a 3D model is a mathematical representation of a physical entity that
occupies space. In more practical terms, a 3D model is made of a description of its shape and
a description of its color appearance.3-D Transformation is the process of manipulating the
view of a three-D object with respect to its original position by modifying its physical attributes
through various methods of transformation like Translation, Scaling, Rotation, Shear, etc.
Properties of 3-D Transformation:
• Lines are preserved,
• Parallelism is preserved,
• Proportional distances are preserved.
One main categorization of a 3D object’s representation can be done by considering whether
the surface or the volume of the object is represented:
Boundary-based: the surface of the 3D object is represented. This representation is also called
b-rep. Polygon meshes, implicit surfaces, and parametric surfaces, which we will describe in
the following, are common representations of this type.
Volume-based: the volume of the 3D object is represented. Voxels and Constructive Solid
Geometry (CSG) Are commonly used to represent volumetric data.
Types of Transformations:
1. Translation
2. Scaling
3. Rotation
4. Shear
5. Reflection
Translation: It is the process of changing the relative location of a 3-D object with respect to
the original position by changing its coordinates. Translation transformation matrix in the 3-D
image is shown as -
Viewing
Viewing refers to the process of displaying a 3D object onto a 2D screen. It involves several
coordinate transformations and projection steps.
Coordinate Systems
In the viewing pipeline, an object passes through different coordinate systems:
1. Object Coordinates (Model Space):
o Original description of the object (x, y, z) defined in its own local space.
2. World Coordinates:
o The object is placed into a global scene using modeling transformations
(translation, rotation, scaling).
3. Viewing Coordinates (Eye or Camera Space):
o The scene is transformed relative to the camera (or eye position).
4. Projection Coordinates (Clip Space):
o The 3D scene is projected onto a 2D plane using projection (parallel or
perspective).
5. Normalized Device Coordinates (NDC):
o The result is mapped into a canonical cube (x, y, z ∈ [-1,1]) for easy clipping.
6. Device Coordinates (Screen Space):
o Finally, the coordinates are mapped onto the display screen (pixels).
Viewing Transformation Pipeline

• First of all, we need to choose a viewing position corresponding to where we would


place a camera.
• We choose the viewing position according to whether we want to display a front, back,
side, top, or bottom view of the scene.
• We could also pick a position in the middle of a group of objects or even inside a single
object, such as a building or a molecule.
• Then we must decide on the camera orientation.
• Finally, when we snap the shutter, the scene is cropped to the size of a selected clipping
window, which corresponds to the aperture or lens type of a camera, and light from the
visible surfaces is projected onto the camera film.
• Some of the viewing operations for a three-dimensional scene are the same as, or similar
to, those used in the two-dimensional viewing pipeline.
• A two-dimensional viewport is used to position a projected view of the three-
dimensional scene on the output device, and a two-dimensional clipping window is
used to select a view that is to be mapped to the viewport.
• Clipping windows, viewports, and display windows are usually specified as rectangles
with their edges parallel to the coordinate axes.
• The viewing position, view plane, clipping window, and clipping planes are all
specified within the viewing-coordinate reference frame.
• Figure above shows the general processing steps for creating and transforming a three-
dimensional scene to device coordinates.
• Once the scene has been modeled in world coordinates, a viewing-coordinate system is
selected and the description of the scene is converted to viewing coordinates.
• A two-dimensional clipping window, corresponding to a selected camera lens, is
defined on the projection plane, and a three-dimensional clipping region is established.
This clipping region is called the view volume.
• Projection operations are performed to convert the viewing-coordinate description of
the scene to coordinate positions on the projection plane.
• Objects are mapped to normalized coordinates, and all parts of the scene outside the
view volume are clipped off.
• The clipping operations can be applied after all device-independent coordinate
transformations.
• We will assume that the viewport is to be specified in device coordinates and that
normalized coordinates are transferred to viewport coordinates, following the clipping
operations.
• The final step is to map viewport coordinates to device coordinates within a selected
display window
Three-Dimensional Viewing-Coordinate Parameters:
Select a world-coordinate position P0 =(x0, y0, z0) for the viewing origin, which is called
the view point or viewing position and we specify a view-up vector V, which defines the yview
direction.
Figure below illustrates the positioning of a three-dimensional viewing-coordinate frame
within a world system.

A right-handed viewing-coordinate system, with axes x view, y view, and z view, relative to a
right-handed world-coordinate frame.
Transformation from World to Viewing Coordinates
• In the three-dimensional viewing pipeline, the first step after a scene has been
constructed
• is to transfer object descriptions to the viewing-coordinate reference frame.
• This conversion of object descriptions is equivalent to a sequence of transformations
that
• superimposes the viewing reference frame onto the world frame
• Translate the viewing-coordinate origin to the origin of the world coordinate
system.
• Apply rotations to align the xview, yview, and zview axes with the world xw,
yw, and zw axes, respectively.
• The viewing-coordinate origin is at world position P0 = (x0, y0, z0). Therefore, the
matrix
• for translating the viewing origin to the world origin is

Visible Surface Identification


When a 3D scene is projected to 2D, some surfaces are visible to the viewer while others are
hidden behind them.
The task is to identify and display only the visible surfaces of objects.
Classification of Visible-Surface Detection Algorithms
We can broadly classify visible-surface detection algorithms according to whether they deal
with the object definitions or with their projected images.
Object-space methods: compares objects and parts of objects to each other within the scene
definition to determine which surfaces, as a whole, we should label as visible.
Object-space Methods
• Work in 3D world coordinates.
• Compare objects/surfaces with each other to determine which is in front.
• Computationally expensive for complex scenes.
Examples:
• Back-face detection
• Depth-sort algorithm (Painter’s algorithm)
Image-space methods: visibility is decided point by point at each pixel position on the
projection plane.
(B) Image-space Methods
• Work in 2D screen (pixel) coordinates.
• For each pixel, determine which surface is closest to the viewer.
• More common in raster graphics.
Examples:
• Z-buffer algorithm
• Scan-line algorithm
• A-buffer algorithm
Although there are major differences in the basic approaches taken by the various
visiblesurface detection algorithms, most use sorting and coherence methods to improve
performance.
Sorting is used to facilitate depth comparisons by ordering the individual surfaces in a scene
according to their distance from the view plane.
Coherence methods are used to take advantage of regularities in a scene.
Back-Face Detection
A fast and simple object-space method for locating the back faces of a polyhedron is based on
front-back tests. A point (x, y, z) is behind a polygon surface if
Ax + By + Cz + D < 0
where A, B,C, and Dare the plane parameters for the polygon
We can simplify the back-face test by considering the direction of the normal vector N for a
polygon surface. If Vview is a vector in the viewing direction from our camera position, as
shown in Figure below, then a polygon is a back face if
Vview . N > 0
where
V = viewing direction,
N= polygon surface normal.
Z-Buffer Algorithm (Depth Buffer Algorithm)
Every pixel has a depth value (z-coordinate) that tells how far it is from the viewer.
The Z-buffer stores the closest depth value for each pixel.
While rendering, the algorithm checks if the new surface is closer than the one already stored:
• If closer → update pixel color and depth.
• If farther → ignore it (it’s hidden).
Algorithm Steps
1. Initialize:
o Set Z-buffer = maximum depth (∞ or background depth).
o Set Frame buffer = background color.
2. For each polygon in the scene:
o Project it onto the screen.
o For each pixel (x, y) covered by the polygon:
▪ Compute depth z of polygon at (x, y).
▪ Compare with stored value in Z-buffer(x, y).
▪ If z<Z(x,y):
▪ Update Z(x,y)=z
▪ Update FrameBuffer(x,y) = surface color.
▪ Else: Ignore (pixel is behind another surface).
3. After processing all polygons → Frame buffer contains the final image.
Example
Suppose two overlapping triangles:
• Red triangle at z = 0.5
• Blue triangle at z = 0.8
At overlapping pixels:
• Initially, Z-buffer = ∞.
• Red triangle writes (0.5) → closer.
• Blue triangle tries (0.8), but (0.8 > 0.5) → rejected.
• Result = red visible, blue hidden.
Color Models
A color model is a mathematical way of describing and representing colors.
It provides a system to specify colors as sets of numbers (coordinates), rather than describing
them verbally (like "light blue").
Color models use primary colors to produce a wide range of other colors. The range of colors
a model can produce is called its color gamut.
RGB Color Model
The RGB color model is the most widely used in computer graphics. It uses three primary
colors: Red, Green, and Blue. Let us see some of the key features of the RGB model. It is
represented by a unit cube:
• Values for R, G, and B range from 0 to 1
• Black is at the origin (0,0,0) and White is at (1,1,1)
• The diagonal line from Black to White is called the Gray Line

Examples in the RGB model:


• Pure Red: (1,0,0)
• Pure Green: (0,1,0)
• Pure Blue: (0,0,1)
• Yellow: (1,1,0)
• Magenta: (1,0,1)
• Cyan: (0,1,1)
The RGB model is used in display devices like computer monitors and TVs. It uses additive
color mixing to produce colors. This means it starts with black and adds light to create other
colors.
CMY Color Model
The CMY model uses Cyan, Magenta, and Yellow as its primary colors. It's also represented
by a unit cube:
• White is at the origin (0,0,0) and Black is at (1,1,1)
• It uses subtractive color mixing
Examples in the CMY model −
• Pure Cyan: (1,0,0)
• Pure Magenta: (0,1,0)
• Pure Yellow: (0,0,1)
• Red: (0,1,1)
• Green: (1,0,1)
• Blue: (1,1,0)
The CMY model is primarily used in printing. It is often extended to CMYK, where K stands
for Black. This is because combining pure cyan, magenta, and yellow does not produce a true
black in practice.
YUV/YIQ/YCbCr Color Model
This family of color models separates luminance (brightness) from chrominance (color
information). The key features are −
• Y represents luminance
• U and V (or I and Q) represent color information
It is widely used in television broadcasting and video compression
Example of RGB to YIQ conversion −
• Y = 0.299R + 0.587G + 0.114B
• I = 0.596R - 0.275G - 0.321B
• Q = 0.212R - 0.523G + 0.311B
This model is efficient for transmission because it separates the brightness signal (Y) from the
color information.
HSV Color Model
The HSV model represents colors using Hue, Saturation, and Value. The key features of the
HSV model is it is represented by a hexagonal cone as shown in the above figure.
• Hue is measured as an angle (0-360°)
• Saturation and Value range from 0 to 1
It's useful for intuitive color selection
Examples in the HSV model −
• Red: H = 0°, S = 1, V = 1
• Green: H = 120°, S = 1, V = 1
• Blue: H = 240°, S = 1, V = 1
• Yellow: H = 60°, S = 1, V = 1
HLS Color Model
The HLS model is similar to HSV but uses Lightness instead of Value. The key features of the
HLS model:
• It's represented by a double hexagonal cone
• Hue is measured as an angle (0-360°)
• Saturation and Lightness range from 0 to 1
• Pure colors are at L = 0.5
Examples in the HLS model −
• Red: H = 0°, S = 1, L = 0.5
• Green: H = 120°, S = 1, L = 0.5
• Blue: H = 240°, S = 1, L = 0.5
• White: H = any, S = 0, L = 1
• Black: H = any, S = 0, L = 0
The HLS model is also used in color selection interfaces and image processing tasks.
Graphics Programming
Graphics programming is the process of writing computer programs that create, manipulate,
and display visual images (2D or 3D) on a screen.
Graphics programming covers:
• Drawing basic shapes (lines, circles, polygons).
• Working with color models.
• Transformations (translation, scaling, rotation).
• Viewing and projection (3D → 2D display).
• Hidden surface removal (Z-buffer, Painter’s algorithm).
• Lighting and shading.
• Animation and interactivity.
Levels of Graphics Programming:
Low-level (API-based)
• Directly writing graphics using libraries.
• Examples:
o C/C++ → OpenGL, DirectX, graphics.h (old Turbo C).
o Java → AWT, Swing, JavaFX.
o Python → Pygame, Matplotlib, PyOpenGL.
High-level (Frameworks & Engines)
• Uses prebuilt tools for fast graphics creation.
• Examples:
o Unity (C#)
o Unreal Engine (C++)
o Blender scripting (Python)
Common Graphics Functions
In most libraries, you get functions for:
• putpixel(x, y, color) → Draws a pixel.
• line(x1, y1, x2, y2) → Draws a line.
• circle(x, y, r) → Draws a circle.
• rectangle(x1, y1, x2, y2) → Draws a rectangle.

Modern Graphics Programming


• Uses OpenGL / DirectX / Vulkan for 2D & 3D rendering.
• GPU (Graphics Processing Unit) acceleration for speed.
• Shaders (small programs) for lighting and effects.
Applications
• Game development
• Simulation and visualization (flight simulators, CAD).
• UI/UX design
• Computer animation and VFX
• Scientific data visualization
Unit 4

Applications of Multimedia Compression and Formats


1. Image Compression & Formats
• Applications:
o Web & mobile apps (fast loading websites, social media images)
o Medical imaging (X-ray, MRI storage & sharing)
o Satellite images (Google Earth, weather forecasting)
o Digital photography (JPEG, PNG, RAW for cameras)
• Common Formats:
o Lossy: JPEG, WebP
o Lossless: PNG, GIF, TIFF

2. Audio Compression & Formats


• Applications:
o Music streaming (Spotify, Apple Music)
o Voice over IP (VoIP) & telecommunication (WhatsApp calls, Zoom, Skype)
o Podcasts and audiobooks
o Gaming (sound effects, background music)
• Common Formats:
o Lossy: MP3, AAC, OGG
o Lossless: FLAC, ALAC, WAV

3. Video Compression & Formats


• Applications:
o Video streaming (YouTube, Netflix, Hotstar)
o Video conferencing (Google Meet, Microsoft Teams)
o Online education (recorded lectures, tutorials)
o Digital TV and broadcasting (DTH, IPTV)
o Surveillance systems (CCTV video storage)
• Common Formats:
o MP4, AVI, MKV, MOV
o Codecs: H.264, H.265 (HEVC), VP9, AV1
4. Text & Document Compression & Formats
• Applications:
o E-books and digital libraries (Kindle, PDF files)
o Online forms, document storage (Google Docs, MS Office)
o Archiving & sharing (ZIP, RAR compression)
• Common Formats:
o TXT, PDF, DOCX, HTML, RTF
5. Multimedia Archiving & Packaging
• Applications:
o Software distribution (games, apps packed with sounds, images, videos)
o Multimedia presentations (PowerPoint, e-learning modules)
o Cloud storage and backups
• Common Formats:
o ZIP, RAR, 7z, ISO
Multimedia Elements
1. Text
o The most common element.
o Used to convey information, headings, labels, instructions, etc.
o Examples: captions in videos, articles, e-books.
2. Audio (Sound)
o Adds realism and emotion.
o Includes speech, background music, sound effects.
o Examples: podcasts, voiceovers in e-learning, sound effects in games.
3. Images (Graphics)
o Static visuals like photographs, drawings, charts, and illustrations.
o Used to attract attention and explain concepts.
o Examples: JPEG, PNG, GIF formats.
4. Animation
o Moving graphics that create the illusion of motion.
o Can explain processes, simulate real-life actions, or make content engaging.
o Examples: cartoons, animated logos, interactive demos.
5. Video
o Combines moving images with sound.
o Very effective for demonstrations, storytelling, or real-world recording.
o Examples: movies, tutorials, advertisements, lectures.
6. Interactivity
o Allows users to control and engage with multimedia content.
o Examples: hyperlinks, quizzes, interactive learning modules, video games.
Introduction of Animation
• Animation is an essential element of multimedia.
• It creates the illusion of motion by displaying a sequence of images (frames) rapidly,
one after another.
• It makes multimedia content more engaging, interactive, and realistic.
• Used in films, video games, advertisements, education, simulations, and user interfaces.
• Types include 2D animation, 3D animation, stop-motion, and computer-generated
animation.
Definition of Animation
Animation is the process of creating the illusion of movement by rapidly displaying a sequence
of static images or graphics, where each image shows a slight change from the previous one.

Difference Between Applications and Elements

Aspect Applications Elements

Refers to the basic


Refers to the uses or practical areas where components or building
Meaning
a concept/technology is applied. blocks of that
concept/technology.

Focus “Where is it used?” “What is it made of?”

Used in: • Image storage on websites •


Example in Elements include: • Text •
Video streaming (YouTube, Netflix) •
Multimedia Audio • Image • Animation •
Music streaming (Spotify) • Medical
Compression Video • Interactivity
imaging • Cloud storage & file sharing

Theoretical, structural,
Nature Practical, real-world, application-oriented
content-oriented

Like “where a car is driven” (transport, Like “parts of a car” (engine,


Analogy
racing, delivery) wheels, seats)

You might also like