Introduction and Overview of Graphics System
In the digital age, computer graphics play a crucial role in
our lives. From the breathtaking visuals in your favorite video games to the
animations in movies, graphics systems are responsible for creating these
captivating experiences. In this blog, we will embark on a journey to explore
the fascinating world of computer graphics.
Definition and Representative Uses of Computer Graphics
Computer graphics can be defined as the field of study that
focuses on creating, manipulating, and rendering visual content using
computers. Its applications are diverse and far-reaching. Consider these
representative uses:
- Entertainment
and Media: Computer graphics are widely used in the entertainment
industry, including video games, animated movies, and television shows.
- Design
and Visualization: Graphic design, architectural visualization, and
product design benefit from computer graphics to create realistic 2D and
3D models.
- Education
and Training: Educational software often employs computer graphics to make
learning more interactive and engaging.
- Medical
Imaging: Computer graphics assist in medical imaging, allowing for
detailed visualization of the human body for diagnosis and surgery
planning.
- Engineering
and Simulations: Engineers use computer graphics for simulations and modelling
of complex systems and structures.
- Virtual
Reality (VR) and Augmented Reality (AR): These technologies heavily rely
on computer graphics to provide immersive experiences in various fields,
including gaming, training, and education.
- Data
Visualization: Visualizing complex data sets through charts, graphs, and
interactive visual displays makes data analysis more accessible.
- Advertising
and Marketing: Computer graphics are used to create eye-catching
advertisements, logos, and marketing materials.
- Film
and Video Production: From special effects to post-production editing,
computer graphics enhance the film and video production process.
- Gaming
Industry: Video games, both on PC and consoles, rely on computer graphics
to create stunning visuals and immersive gameplay experiences.
- Interior
Design: Interior designers use computer graphics to create digital
representations of room layouts and designs.
- Art
and Animation: Digital artists and animators use computer graphics tools
to create artwork and animations for various purposes.
- Cartography
and Geographic Information Systems (GIS): Creating maps and spatial data
analysis rely on computer graphics for visualization.
- Fashion
Design: Fashion designers utilize computer graphics for designing clothing
and textiles.
- Web
and User Interface (UI) Design: Designing websites and user interfaces is
heavily reliant on creating visually appealing and user-friendly graphics.
These are just a few examples of the diverse applications of
computer graphics across various industries.
Overview of Coordinate System
The foundation of computer graphics lies in the coordinate
system. This system provides a framework for defining the positions of objects
in a graphical environment. It consists of X, Y, and sometimes Z axes, allowing
precise positioning and rendering of objects.
2D vs. 3D: Coordinate systems can be 2D (plane) or 3D
(space), depending on the application.
Polar Coordinates: An alternative to Cartesian, using
radial distance and angles (r, θ) to locate points.
Spherical Coordinates: A 3D system using radial
distance, polar angle (θ), and azimuthal angle (ϕ).
Cylindrical Coordinates: A 3D system using radial
distance, angle (θ), and height (z).
Coordinate Origin: A point of reference (0,0) from
which measurements are made.
Positive and Negative Directions: Coordinates can
extend positively and negatively along each axis.
Orthogonality: Axes are typically orthogonal, meaning
they meet at right angles.
Unit Vectors: Directional vectors (i, j, k) represent
positive movement along the axes.
Transformations: Coordinate systems can be
transformed, rotated, or translated.
World and Local Coordinates: Many applications use a
world coordinate system and local systems for objects.
Homogeneous Coordinates: Used in computer graphics
and transformation matrices for 3D transformations.
Curvilinear Coordinates: Special systems for specific
applications, like polar coordinates in physics.
Definition of Scan Conversion
Scan conversion is a fundamental concept in graphics. It
refers to the process of converting geometric shapes and objects into a grid of
pixels. This grid can then be displayed on a screen, forming the basis of
digital images.
Rasterization and Rendering
Rasterization and rendering are at the heart of creating
images. Rasterization converts vectors and shapes into pixel data, while
rendering involves shading, lighting, and creating a final image from these
pixels.
Raster Scan & Random Scan Displays
Displays are the windows to the graphical world. Raster scan
and random scan displays are two primary types:
- Raster
Scan: These displays use a scanning pattern to render images, commonly
found in CRT monitors.
Architecture of
Raster Graphics System with Display Processor
Understanding the architecture of a raster graphics system
is crucial. It includes components like the CPU, GPU, and display processor,
all working together to deliver a seamless visual experience.
The video controller employs two registers to store the
coordinates of the screen pixels. Initially, x = 0 and y = ymax (the maximum
y-coordinate). The video controller retrieves the pixel value stored in the
frame buffer corresponding to this pixel position. Then, it increments the x
value by 1 and retrieves the corresponding y value. This process continues,
retrieving pixel values line by line. Once the last pixel is reached, the
registers are reset to their initial values, and the process repeats.
Display Processor
The display processor, also known as the graphics
controller, plays a vital role in offloading graphics-related tasks from the
CPU. In addition to the system memory, a separate display processor memory area
can be provided.
One of the primary tasks of the display processor is scan
conversion, which involves digitizing a picture definition from an application
program into a set of pixel-intensity values stored in the frame buffer.
Geometric objects, such as lines, are converted into sets of discrete intensity
points. Characters can be defined using rectangular grids or curved outlines.
To optimize memory usage, scan lines are often stored as
sets of integer pairs. Each pair consists of an intensity value and the number
of adjacent pixels on the scan line that have the same intensity. This
compression technique is known as run-length encoding.
By employing the display processor, the CPU is freed from
handling graphics-related operations, allowing it to focus on other tasks.
The architecture of Random Scan Systems
Random scan systems differ significantly from raster
graphics. They utilize calligraphic technology, enabling precise drawing and
less flickering. n random-scan systems, an application
program is inputted and stored in the system memory alongside a graphics
package. Graphics commands within the program are translated by the graphics
package into a display file, which is then stored in the system memory. The
display processor accesses this display file to refresh the screen. During each
refresh cycle, the display processor cycles through each command in the display
file program.
The display processor in a random-scan system is sometimes
referred to as a display processing unit or a graphics controller.
To draw graphic patterns on a random-scan system, the
electron beam is directed along the component lines of the picture. Lines are
defined by specifying the coordinates of their endpoints. These input
coordinate values are then converted into x and y deflection voltages. The
scene is drawn one line at a time, with the beam positioned to fill in the line
between the specified endpoints.
- 1. 1. Basic Principle:
- Raster
Scan: Sequential scanning of the entire screen row by row from top to
bottom.
- Random
Scan: Directly addressing and illuminating specific points on the screen,
allowing selective drawing.
- Drawing
Technique:
- Raster
Scan: Utilizes a CRT beam that moves horizontally and vertically to draw
complete images.
- Random
Scan: Employs a set of CRT beams, each controlled independently to target
individual points.
- Speed:
- Raster
Scan: Slower due to scanning every pixel systematically.
- Random
Scan: Faster for selective drawing since it targets only necessary
points.
- Applications:
- Raster
Scan: Common in traditional computer monitors.
- Random
Scan: Used in specialized applications like vector displays and high-end
graphics.
- Storage:
- Raster
Scan: Requires more memory for storing pixel information.
- Random
Scan: More memory-efficient as it doesn't store every pixel.
- Editing
and Manipulation:
- Raster
Scan: Easily supports image editing and manipulation.
- Random
Scan: Not suitable for extensive image modifications.
- Scalability:
- Raster
Scan: Suited for pixel-based displays of various resolutions.
- Random
Scan: Limited by the number of points on the screen.
- Vector
Graphics:
- Raster
Scan: Not ideal for vector graphics and geometric shapes.
- Random
Scan: Excellent for precise rendering of vector graphics.
- Complexity:
- Raster
Scan: Simple in terms of hardware and control.
- Random
Scan: More complex due to multiple independently controlled beams.
- Line
Drawing:
- Raster
Scan: Uses algorithms for line drawing.
- Random
Scan: Capable of drawing lines directly without algorithms.
- Examples:
- Raster
Scan: Typical in modern LCD and LED displays.
- Random
Scan: Historical example includes early oscilloscopes.
- Cost:
- Raster
Scan: Cost-effective and widely adopted.
In this blog, we've embarked on a journey through the world
of computer graphics, exploring key concepts, definitions, and applications. As
you continue to study this fascinating field, you'll gain a deeper appreciation
for the role of graphics in our digitally-driven world.