Useful Technologies Related to
Computer Graphics
Hardcopy Technologies
Hardcopy means a printed version of information
that comes from a computer. It is called "hardcopy" because it is a
physical object that you can touch and hold. The main examples of hardcopy are
printouts from printers (text or graphics), as well as films like microfilms
and microfiche.
Output Devices
An output
device is an electromechanical machine that takes data from a computer
and converts it into a form that users can understand.
Main Output Devices:
·
Printers
·
Plotters
Printers
A printer is
the most important output device used to print data on paper.
Types of Printers
text
Copy
Download
PRINTERS
|
+---------------+---------------+
|
|
IMPACT PRINTERS NON-IMPACT PRINTERS
| |
+---+---+ +---+---+
|
| | |
CHARACTER LINE LASER
INKJET
PRINTERS PRINTERS PRINTERS PRINTERS
1. Impact Printers
These printers print
characters by striking against a ribbon and onto the paper.
Two Types:
·
Character
Printers – Print one
character at a time (like a typewriter)
·
Line
Printers – Print one
whole line at a time
2. Non-Impact Printers
These printers print
characters without striking against a ribbon. They print a
complete page at a time, so they are also called Page Printers.
Two Types:
·
Laser
Printers
·
Inkjet
Printers
Laser Printer
A laser
printer uses a laser beam to create an image on a drum. It uses
focused light to transfer text and images onto paper. Laser printers use laser
technology for printing copies.
[IMAGE IDEA: Diagram
of Laser Printer]
text
Copy
Download
[Laser Printer Diagram]
Laser Beam ──→ Rotating Mirror ──→ Drum
│
↓
Paper ←── Toner (powder ink) ←── Heat Roller
│
↓
Printed
Page
How it works (simple
explanation):
1. Laser beam draws the image on a rotating drum
2. The drum attracts toner (powdered ink)
3. Paper passes through heat rollers
4. Heat melts the toner onto the paper
5. You get a printed page!
Inkjet Printer
An inkjet
printer uses inkjet technology for printing. It works by spraying tiny
droplets of ionized ink onto paper. Magnetic plates direct the ink to the
correct positions.
[IMAGE IDEA: Diagram
of Inkjet Printer]
text
Copy
Download
[Inkjet Printer Diagram]
Ink Cartridge (contains liquid ink)
│
↓
Tiny Nozzles (spray ink droplets)
│
↓
Magnetic Plates (direct the ink)
│
↓
Paper
│
↓
Printed Document
How it works (simple
explanation):
1. Ink cartridges contain liquid ink
2. Tiny nozzles spray ink droplets
3. Magnetic plates guide where the ink goes
4. Ink lands on paper to create text/images
Display Technologies
Visual Displays – Basic Technologies
Main types of display
technologies:
1. Cathode Ray Tubes (CRT) – Older, bulky monitors (like old TV
sets)
2. Flat Panel Displays – Thin, modern screens
3. Electroluminescence Displays – Uses light-emitting materials
4. LCD Displays – Liquid Crystal Display (common in laptops/TVs)
5. Active Matrix TFT – A type of LCD (better quality)
6. Light Valves – Controls light passing through
7. Micro-mirror Devices – Uses tiny mirrors to create images
Raster-Scan Displays
Raster-scan displays are the most common type of graphics
monitor. They use CRT technology and are based on television technology.
[IMAGE IDEA: Raster
Scan Display Diagram]
text
Copy
Download
┌─────────────────────────────────────────────┐
│ ┌──────────────────────────────────────┐ │
│ │ Scan Line 1 (Row 1) ────────────→ │ │
│ │ Scan Line 2 (Row 2) ────────────→ │ │
│ │ Scan Line 3 (Row 3) ────────────→ │ │
│ │ ... │ │
│ │ Scan Line N (Row N) ────────────→ │ │
│ └──────────────────────────────────────┘ │
└─────────────────────────────────────────────┘
Electron Beam moves left to right, top to
bottom
How Raster-Scan Works:
1. The electron beam sweeps across the screen
from top to bottom
2. It covers one row (scan line) at a
time
3. The beam turns on/off as it moves across each
row
4. A refresh buffer (or frame
buffer) stores the picture definition
5. This memory area holds intensity values for
all screen points
6. Refreshing is done at 60-80 frames per
second (Hz)
Important Terms:
·
Pixel – Each screen point (picture element)
·
Horizontal
Retrace – When beam returns
to left side after each scan line
·
Vertical
Retrace – When beam
returns to top-left corner after each frame
Raster-Scan Display Processor
The display processor
converts a picture definition into pixel-intensity values for storage in the
refresh buffer. This process is called scan conversion.
Functions of Display
Processor:
·
Creates different line
styles
·
Displays color areas
·
Interfaces with input
devices (mouse, joystick)
Random-Scan Display
In random-scan
display, the electron beam is directed only to areas where a picture needs
to be drawn. It is also called vector display because it draws
pictures one line at a time.
[IMAGE IDEA: Random
Scan Display Diagram]
text
Copy
Download
┌─────────────────────────────────────────────┐
│ ┌──────────────────────────────────────┐ │
│ │ │ │
│ │ * ──→ draws lines
│ │
│ │ / \
in any order │ │
│ │ /
\ │ │
│ │ *─────* │ │
│ │ │ │
│ └──────────────────────────────────────┘ │
└─────────────────────────────────────────────┘
Electron Beam moves directly to where
drawing is needed
How Random-Scan Works:
1. The electron beam moves directly to where
drawing is needed
2. It draws component lines in any specified
sequence
3. A refresh display file stores
picture definition as line-drawing commands
4. After all commands are processed, the system
returns to the first command
Example: A pen plotter is an
example of a random-scan display.
Random-Scan Display Processor
·
Input application
program is stored in system memory with graphics package
·
Graphics package
translates commands into a display file
·
Display processor
(also called Graphics Controller or Display Processing
Unit) accesses this file to refresh the screen
Video Controller
A video
controller (also called video card, graphics card, or graphics
adapter) is hardware that allows computers to display graphic information on
monitors or projectors.
[IMAGE IDEA: Video
Controller/Graphics Card Diagram]
text
Copy
Download
┌─────────────────────────────────────────────────┐
│ COMPUTER
MOTHERBOARD │
│ ┌─────────────────────────────────────────┐ │
│ │ VIDEO CONTROLLER │ │
│ │ ┌─────┐ ┌─────┐ ┌─────────────────┐ │ │
│ │ │GPU │ │VRAM │ │ RAMDAC │ │ │
│ │ │ │ │ │ │ (Digital to │ │ │
│ │ └─────┘ └─────┘ │ Analog) │ │ │
│ │ └─────────────────┘ │ │
│ └─────────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘
│
↓
┌─────────┐
│ MONITOR │
└─────────┘
Note: Some modern computers have graphics
processing units (GPUs) directly integrated into the motherboard.
Input Devices
[IMAGE IDEA: All Input
Devices Collage]
text
Copy
Download
┌─────────────────────────────────────────────────────────┐
│
INPUT DEVICES
│
├───────────┬───────────┬───────────┬───────────┬────────┤
│ │ │ │ │ │
│ KEYBOARD │ MOUSE
│ JOYSTICK │ LIGHT PEN │TRACKBALL│
│ │ │ │ │ │
├───────────┴───────────┴───────────┴───────────┴────────┤
│
│
│
SCANNER │
│
│
└────────────────────────────────────────────────────────┘
Keyboard
The keyboard is
the most common and popular input device. It helps to input data into the
computer. It is laid out like a traditional typewriter with additional keys for
special functions.
[IMAGE IDEA: Keyboard
Diagram]
text
Copy
Download
┌─────────────────────────────────────────────────────────────────────┐
│ ┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐ │
│ │Esc ││ F1 ││ F2 ││ F3 ││ F4 ││ F5 ││ F6 ││ F7 ││ F8 │ ... │
│ └─────┘└─────┘└─────┘└─────┘└─────┘└─────┘└─────┘└─────┘└─────┘ │
│ ┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐ │
│ │ ` ││ 1 ││ 2 ││ 3 ││ 4 ││ 5 ││ 6 ││ 7 ││ 8 │ ... │
│ └─────┘└─────┘└─────┘└─────┘└─────┘└─────┘└─────┘└─────┘└─────┘ │
│ ┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐ │
│ │ Tab ││ Q ││ W ││ E ││ R ││ T ││ Y ││ U ││ I │ ... │
│ └─────┘└─────┘└─────┘└─────┘└─────┘└─────┘└─────┘└─────┘└─────┘ │
│ ┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐ │
│ │Caps ││ A ││ S ││ D ││ F ││ G ││ H ││ J ││ K │ ... │
│ │Lock │└─────┘└─────┘└─────┘└─────┘└─────┘└─────┘└─────┘└─────┘ │
│ └─────┘
│
│ ┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐┌─────┐ │
│ │Shift││ Z ││ X ││ C ││ V ││ B ││ N ││ M ││... │ ... │
│ └─────┘└─────┘└─────┘└─────┘└─────┘└─────┘└─────┘└─────┘└─────┘ │
│ ┌─────┐┌─────┐┌─────┐┌─────────────┐┌─────┐┌─────┐┌─────┐┌─────┐ │
│ │Ctrl││ Alt││ ││ SPACEBAR ││ ││ Alt││ ││Ctrl│ │
│ └─────┘└─────┘└─────┘└─────────────┘└─────┘└─────┘└─────┘└─────┘ │
└─────────────────────────────────────────────────────────────────────┘
Keyboard Sizes:
·
84 keys
·
101/102 keys
·
104/108 keys (modern
Windows and Internet keyboards)
Mouse
The mouse is
the most popular pointing device. It is a small palm-sized box with a round
ball at its base (older models) or optical sensor (modern models).
[IMAGE IDEA: Mouse
Diagram]
text
Copy
Download
┌─────────────────────────┐
│ ┌─────┐ ┌─────┐ │
│ │LEFT │ │RIGHT│ │
│ │CLICK│ │CLICK│ │
│ └─────┘ └─────┘ │
│ ┌───┐ │
│ │ │ │
│ │ W │ │
│ │ H │ │
│ │ E │ │
│ │ E │ │
│ │ L │ │
│ └───┘ │
│ │
└─────────────────────────┘
│
[SENSOR/BALL]
│
↓
(Moves on mouse pad/desk)
Parts of a Mouse:
·
Left
button – Main selection
button
·
Right
button – Opens context
menus
·
Scroll
wheel – Between the
buttons (for scrolling)
·
Movement
sensor – Ball or
optical sensor
Function: Controls cursor position on screen, but
cannot enter text.
Joystick
A joystick is
a pointing device used to move the cursor on the screen. It is a stick with
spherical balls at both ends. The lower ball moves in a socket.
[IMAGE IDEA: Joystick
Diagram]
text
Copy
Download
┌─────────────────────────┐
│ │
│ ┌─────┐ │
│ │ │ │
│ │ ~ │ (stick │
│ │ ~ │ can
│
│ │ ~ │ move
│
│ │ ~ │ in 4
│
│ │ ~ │ direc-
│
│ │ ~ │ tions)
│
│ └─────┘ │
│ │ │
│ ┌──┴──┐ │
│ │BASE │ │
│ └─────┘ │
│ │ │
│ ┌───┴───┐ │
│ │ BUTTONS│ │
│ └───────┘ │
└─────────────────────────┘
Uses:
·
Computer Aided
Designing (CAD)
·
Playing computer games
Function: Similar to a mouse, can be moved in all
four directions.
Light Pen
A light pen is
a pointing device shaped like a pen. It is used to select menu items or draw
pictures on the monitor screen.
[IMAGE IDEA: Light Pen
Diagram]
text
Copy
Download
┌─────────────────────────┐
│ │
│ ┌─────────────────┐ │
│ │ │ │
│ │ PHOTOCELL
│ │
│ │ + OPTICAL
│ │
│ │ SYSTEM
│ │
│ │ │ │
│ └─────────────────┘ │
│ │ │
│ ││ │
│ ││ │
│ ││ │
│ ││ │
│ ││ │
│ ││ │
│ ││ │
└───││─────────────────────┘
││
↓↓
(Pen tip touches screen)
How it works:
1. Contains a photocell and optical system in a
small tube
2. When pen tip moves over monitor screen and
button is pressed
3. Photocell detects the screen location
4. Sends signal to CPU
Track Ball
A track ball is
an input device mostly used in laptop computers instead of a mouse. It is a
ball that is half-inserted into a socket.
[IMAGE IDEA: Trackball
Diagram]
text
Copy
Download
┌─────────────────────────────────────┐
│ │
│ ┌─────────────────┐ │
│ │ │ │
│ │ ○○○
│ │
│ │ ○
○ │ │
│ │ ○
B ○ │ │
│ │ ○
○ │ │
│ │ ○○○
│ │
│ │ (BALL)
│ │
│ │ │ │
│ └─────────────────┘ │
│
│
│ (Move ball with
finger, │
│ device stays in
place) │
│ │
└─────────────────────────────────────┘
Advantages:
·
Requires less space
than a mouse
·
The whole device is
not moved
Shapes: Ball, button, or square
Scanner
A scanner is
an input device that works like a photocopy machine. It is used to transfer
paper-based information to the computer's hard disk.
[IMAGE IDEA: Scanner
Diagram]
text
Copy
Download
┌─────────────────────────────────────────────┐
│ ┌───────────────────────────────────────┐ │
│ │ │ │
│ │ GLASS PLATFORM │ │
│ │ (place document here) │ │
│ │ │ │
│ └───────────────────────────────────────┘ │
│ ═════════════════════════════════════════ │
│ ┌───────────────────────────────────────┐ │
│ │ │ │
│ │ LIGHT SOURCE + SENSOR │ │
│ │ (moves under the glass) │ │
│ │ │ │
│ └───────────────────────────────────────┘ │
│ ═════════════════════════════════════════ │
│ ┌───────────────────────────────────────┐ │
│ │ │ │
│ │ CONTROL PANEL │ │
│ │ │ │
│ └───────────────────────────────────────┘ │
└─────────────────────────────────────────────┘
│
↓
USB/Cable to Computer
│
↓
Digital image saved on disk
How it works:
1. Scanner captures images from paper source
2. Converts them into digital form
3. Digital images can be stored on disk
4. Images can be edited before printing
Working Exposure
"Working
exposure" means working
for free in exchange for experience or exposure.
Dreamweaver is Adobe's main tool for creating and
editing HTML and CSS while giving a preview of the output. Web design and
application development can be done together with real-time checking and
editing.
(This term appears in
multimedia course curricula where colleges give hands-on experience with tools
like Dreamweaver.)
Clipping
Clipping is a method in computer graphics to
selectively enable or disable rendering operations within a defined region of
interest.
[IMAGE IDEA: Clipping
Concept Diagram]
text
Copy
Download
BEFORE CLIPPING AFTER CLIPPING
┌─────────────────────┐
┌─────────────────────┐
│ ┌───────────────┐ │ │ ┌───────────────┐ │
│ │ │ │ │ │ │ │
│ │ ~~~~~~
│ │ │ │ ┌───┐ │ │
│ │ ~
~ │ │ │ │ │ │ │ │
│ │ ~ LINE
~ │ │ │ │ │LINE│ │ │
│ │ ~
~ │ │ │ │ │ │ │ │
│ │ ~~~~~~
│ │ │ │ └───┘ │ │
│ │ │ │ │ │ │ │
│ └───────────────┘ │ │ └───────────────┘ │
└─────────────────────┘
└─────────────────────┘
(Unclipped line extends (Line is clipped
outside the window) to fit inside window)
Simple Explanation:
·
Clip region = area
where drawing is allowed
·
Outside clip region =
area where drawing is NOT allowed
·
Used to improve
performance (don't waste time drawing what user can't see)
Clipping in 3D Graphics
In three-dimensional
graphics, "clipping" refers to operations that work with rectangular
shapes. "Culling" refers to more general methods to selectively
process scene elements.
What can be clipped:
·
Points or vertices
·
Line segments or edges
·
Polygons or faces
·
Curves, splines,
surfaces, and text
Types of Clipping:
·
Frustum
culling – Removing
things outside the view volume
·
Backface
culling – Removing
surfaces facing away from viewer
·
Occlusion
culling – Removing
things hidden by other objects
·
Z-clipping – Removing things too close or too far
Cohen-Sutherland Algorithm
The Cohen-Sutherland
algorithm is used for line clipping. It divides 2D space into 9
regions and determines which parts of a line are visible.
[IMAGE IDEA:
Cohen-Sutherland Outcode Diagram]
text
Copy
Download
VIEWPORT SPACE (9
Regions)
┌─────────────────────────────────────────────────────────┐
│
│
│ 1001 (top-left) 1000 (top)
1010 (top-right) │
│ ┌─────────────────────────┐ │
│ │ │ │
│ 0001 │ 0000 (inside) │ 0010 │
│ (left) │ │ (right) │
│ │ │ │
│ └─────────────────────────┘ │
│ 0101 (bottom-left)
0100 (bottom) 0110 (bottom-right) │
│ │
└─────────────────────────────────────────────────────────┘
Outcode Bits (4 bits):
·
Bit 1 (top) – point is
above viewport
·
Bit 2 (bottom) – point
is below viewport
·
Bit 3 (right) – point
is to the right
·
Bit 4 (left) – point
is to the left
[IMAGE IDEA: Outcode
Table]
text
Copy
Download
┌────────────────────────────────────────────────┐
│
│
│ REGION OUTCODE (Binary) │
│ ───────────────────────────────────────── │
│ Top-Left 1 0 0 1 (9) │
│ Top 1 0 0 0 (8) │
│ Top-Right 1 0 1 0 (10) │
│ Left 0 0 0 1 (1) │
│ Inside (Viewport) 0 0 0 0
(0) │
│ Right 0 0 1 0 (2) │
│ Bottom-Left 0 1 0 1
(5) │
│ Bottom 0 1 0 0 (4) │
│ Bottom-Right 0 1 1 0
(6) │
│
│
└────────────────────────────────────────────────┘
Algorithm Steps:
[IMAGE IDEA:
Cohen-Sutherland Flowchart]
text
Copy
Download
START
│
↓
┌─────────────────┐
│ Compute outcode │
│ for both points │
└─────────────────┘
│
↓
┌─────────────────┐
│ OR of outcodes │
│ = 0000? │
└─────────────────┘
│ │
YES│ │NO
│ │
↓ ↓
┌────────┐ ┌─────────────────┐
│ TRIVIAL│ │ AND of outcodes │
│ ACCEPT │ │ = 0000?
│
└────────┘ └─────────────────┘
│ │
YES│ │NO
│ │
↓ ↓
┌────────┐ ┌─────────────────┐
│ TRIVIAL│ │ Find intersection│
│ REJECT │ │ point and replace│
└────────┘ │ outpoint. Repeat │
└─────────────────┘
│
↓
(Loop to start)
Three Cases:
1. Trivial Accept: Both endpoints in viewport (OR of
outcodes = 0000)
2. Trivial Reject: Both endpoints share at least one
non-visible region (AND of outcodes ≠ 0000)
3. Partial Line (Clip): Find intersection with viewport border,
replace outpoint, repeat
Cyrus-Beck Algorithm
The Cyrus-Beck
algorithm is a general line clipping algorithm. It is more efficient
than Cohen-Sutherland and works with any convex polygon clipping window (not
just rectangles).
[IMAGE IDEA:
Cyrus-Beck Parameter Diagram]
text
Copy
Download
Parametric line equation: P(t) = P0 + t × (P1 - P0)
Where: 0 ≤ t ≤ 1
Dot Product Method:
For a clipping plane E
with normal vector n and a point pE on the plane:
·
If n · (p(t) - pE)
< 0 → vector points toward interior
·
If n · (p(t) - pE) = 0
→ vector parallel to plane
·
If n · (p(t) - pE)
> 0 → vector points away from interior
Midpoint Subdivision Algorithm
The Midpoint
Subdivision Algorithm is an extension of the Cyrus-Beck algorithm. It
subdivides the line at its midpoint repeatedly.
[IMAGE IDEA: Midpoint
Subdivision Diagram]
text
Copy
Download
Step 1: Original line
┌─────────────────────────────────────────────────────────┐
│
│
│ P1 ●────────────────────────────────────● P2
│
│
│
└─────────────────────────────────────────────────────────┘
Step 2: Find midpoint (bisect)
┌─────────────────────────────────────────────────────────┐
│
│
│ P1 ●─────────────────● M ──────────────●
P2 │
│
(midpoint) │
└─────────────────────────────────────────────────────────┘
Step 3: Check each half separately
┌─────────────────────────────────────────────────────────┐
│
│
│ P1 ●────● M M ●────● P2 │
│ (check) (check) │
└─────────────────────────────────────────────────────────┘
Step 4: Repeat until fully accepted or
rejected
┌─────────────────────────────────────────────────────────┐
│
│
│ Continue subdividing
until all segments are either │
│ completely inside or
completely outside the window │
│
│
└─────────────────────────────────────────────────────────┘
Algorithm Steps:
1. Calculate position of both endpoints
2. Perform OR operation on both endpoints
3. If OR = 0000 → line is visible
4. Else, perform AND operation
5. If AND ≠ 0000 → line is invisible
6. Else (AND = 6000) → line needs clipping
7. Find midpoint: Xm = (x1 + x2)/2, Ym = (y1 +
y2)/2
8. Check if midpoint is near window boundary
9. Repeat steps 1-5 for each half until line is
fully visible or fully rejected
10. Stop