CG 2019
CG 2019
CG 2019
Tushar Ahuja
Tushar Ahuja
ANS. (A)
Tushar Ahuja
7. Drawing Functions:
• It provides drawing functions like straight line drawing,
curve drawing & shape rendering based on vector
instructions.
Applications:
Random scan systems are commonly used in applications like:
• Vector-based graphics systems (e.g., CAD software,
flight simulators)
• Scientific and engineering visualizations where
precision and real-time rendering are critical.
(C)
Tushar Ahuja
Tushar Ahuja
Tushar Ahuja
Tushar Ahuja
Tushar Ahuja
Tushar Ahuja
Tushar Ahuja
Example:
Consider a cube in a 3D space, viewed using cavalier
projection. The front face of the cube will appear as a square,
while the depth will be represented without any compression or
scaling, which can make the object look somewhat stretched
along the depth axis.
Uses:
• Cavalier projection is commonly used in engineering
drawings where a clear depiction of an object’s front face
and depth is needed without concern for strict realism. It’s
useful for showing features like holes, ribs, and cutouts.
Tushar Ahuja
2. Immediate Feedback:
o Interactivity provides real-time responses to user
actions, enhancing understanding and engagement.
3. Customization:
o Users can tailor their views according to their specific
interests, which promotes a more personalized
experience.
5. Discovery of Patterns:
o Users can manipulate visualizations to identify trends
& correlations in data that might otherwise go
unnoticed.
Tushar Ahuja
6. Collaboration:
o Interactive graphics can facilitate group discussions
and collaborations, allowing multiple users to explore
data together.
7. Accessibility:
o By integrating accessibility features, interactive
graphics can reach a broader audience,
accommodating different abilities and learning styles.
8. Engagement:
o Interactive graphics often result in higher user
engagement, as they invite users to actively
participate rather than passively consume
information.
2. Output Devices:
• Purpose: Display graphical content to the user.
• Examples:
o Monitors, projectors, VR headsets.
• Role: Render visual feedback based on user input or
system updates.
3. Application Model:
• Purpose: Represent the underlying data and logic of the
application.
• Components:
o Objects and Attributes: Define the graphical
elements and their properties (e.g., color, size).
o Behaviors: Define how objects respond to user
actions or system changes.
Tushar Ahuja
5. Interaction Techniques:
• Purpose: Define how users interact with graphical
content.
• Examples:
o Direct Manipulation: Dragging objects with a
mouse.
o Menu Selection: Choosing commands or options.
o Gesture Recognition: Using touch or motion-based
input.
Tushar Ahuja
6. Event Handling:
• Purpose: Detect, process user actions or external events.
• Events:
o Key presses, mouse clicks, window resizing, etc.
• Event Loop:
o Continuously listens for events and triggers
corresponding responses.
7. Feedback Mechanisms:
• Purpose: Provide real-time feedback to user actions.
• Types:
o Visual Feedback: Highlighting, animations, or
changes in object appearance.
o Auditory Feedback: Sounds or alerts.
o Haptic Feedback: Vibration or touch-based
feedback.
8. Graphics Hardware:
• Purpose: Accelerate processing and rendering tasks.
• Examples:
o GPUs (Graphics Processing Units), frame buffers,
and rasterization hardware.
• Role: Efficiently handle computationally intensive tasks
like transformations, shading, and rendering.
Tushar Ahuja
9. Software Layers:
• The software architecture includes:
o Graphics Libraries:
▪ Tools for managing and rendering graphics
(e.g., OpenGL, DirectX).
o Event Handlers:
▪ Software modules for managing user input and
system events.
o Graphics Engines:
▪ High-level platforms for managing scenes,
physics & rendering (e.g., Unity, Unreal Engine).
(B)
Tushar Ahuja
ANS. (A)
Tushar Ahuja
Tushar Ahuja
Tushar Ahuja
2. Moire Patterns
• Description: These patterns emerge when two regular
patterns overlap, causing interference and creating
unintended visual artifacts.
• Effect: They can detract from the intended appearance of
images, especially in fine details or textures.
3. Color Banding
• Description: This happens when there aren't enough
colors available to represent a gradient smoothly, resulting
in abrupt transitions between colors.
• Effect: It can lead to visible stripes or bands in areas that
should transition smoothly.
Tushar Ahuja
4. Z-Fighting
• Description: In 3D graphics, Z-fighting occurs when two
or more surfaces are very close together, causing them to
flicker as the rendering engine struggles to determine
which one should be visible.
• Effect: It can create distracting visual noise in scenes with
overlapping objects.
5. Loss of Detail
• Description: Scan conversion may lead to a loss of detail,
especially in complex shapes or intricate patterns, as only
certain pixels are illuminated.
• Effect: Fine details may be lost, leading to a less accurate
representation of the original image.
7. Performance Issues
• Description: Depending on the algorithm used for scan
conversion, there can be performance trade-offs,
especially in real-time rendering applications.
• Effect: Slower algorithms can lead to lag or reduced
frame rates in graphics-intensive applications.
Tushar Ahuja
Mitigation Techniques
To mitigate these side effects, various techniques can be
employed:
• Anti-aliasing: This technique smooths out edges by
blending colors at the boundaries.
• Higher Resolution Rendering: Using higher resolutions
can help reduce aliasing and loss of detail.
• Dithering: This technique helps in smoothing color
transitions by blending colors at pixel boundaries.
(B)
Tushar Ahuja
Tushar Ahuja
ANS. (A)
(i)
Tushar Ahuja
(ii)
(B)
Tushar Ahuja
Tushar Ahuja
Tushar Ahuja
Tushar Ahuja
ANS. (A)
Tushar Ahuja
(B)
Tushar Ahuja
Tushar Ahuja
1. Wireframe Representation
o This method uses lines to outline the edges of the
object, forming a "wireframe" representation.
o It is a simple and lightweight approach, easy to
compute and memory-efficient. However, it does not
provide a clear view of the surface of the solid and is
limited when representing complex or detailed
objects.
o Wireframe models are suitable for quick sketches,
simple objects, or debugging in 3D applications.
2. Surface Representation
o In this approach, surfaces define the boundary of a
solid. Surfaces are often represented using polygons,
such as triangles, quadrilaterals, or spline surfaces
(e.g., Bezier or B-splines).
o Surface representations provide better visualization
compared to wireframes and can handle complex
objects, including curved surfaces.
o However, they can be computationally expensive and
memory-intensive, especially for high-resolution
meshes. Surface representations are used in detailed
modeling, architectural rendering, and 3D animation.
6. Voxel Representation
o In voxel representation, solids are modeled using a 3D
grid of small cubes (voxels), similar to how pixels work in
2D space.
o This method is capable of representing highly detailed
objects and complex terrains and is useful for storing and
manipulating volumetric data.
o It is commonly used in medical imaging, simulations, and
games that require detailed volumetric data.
Working:
• A 2D profile (cross-section) is defined.
• The profile is then moved (swept) along a predefined path,
and as the profile moves, it is "swept" to form a 3D object.
• The path can be straight, curved, or complex, which
defines the shape of the final 3D object.
Examples:
• A cylinder can be created by sweeping a circle along a
straight line.
• A more complex shape, such as a twisted pipe, can be
created by sweeping a 2D profile along a curved path.
Tushar Ahuja
Working:
• A primitive (such as a cube or sphere) is first defined.
• The primitive can then be "instantiated" at multiple
locations in the 3D space, and each instance can have
different transformations applied, like scaling, rotating, and
translating.
• All instances reference same original object, making it
memory efficient since only one copy of geometry data is
stored.
Examples:
• A city skyline can be created using primitive instancing
where the same building design (primitive) is placed at
different positions and scaled to create variety in the city.
• Forests in a game can be created by instantiating several
tree models at different positions and scales.
Tushar Ahuja
ANS. (A)
Tushar Ahuja
Tushar Ahuja
Tushar Ahuja
(B)
Tushar Ahuja
ANS. (A)
Tushar Ahuja
Tushar Ahuja
Tushar Ahuja
Tushar Ahuja
(B)