Computer Graphics - Syllabus
Embark on a profound academic exploration as you delve into the Computer Graphics course (CG) within the distinguished Tribhuvan university's CSIT department. Aligned with the 2074 Syllabus, this course (CSC209) seamlessly merges theoretical frameworks with practical sessions, ensuring a comprehensive understanding of the subject. Rigorous assessment based on a 60 + 20 + 20 marks system, coupled with a challenging passing threshold of , propels students to strive for excellence, fostering a deeper grasp of the course content.
This 3 credit-hour journey unfolds as a holistic learning experience, bridging theory and application. Beyond theoretical comprehension, students actively engage in practical sessions, acquiring valuable skills for real-world scenarios. Immerse yourself in this well-structured course, where each element, from the course description to interactive sessions, is meticulously crafted to shape a well-rounded and insightful academic experience.
Course Description: The course coversconcepts of graphics hardware, software, and
applications,data structures for representing 2D and 3D geometric objects, drawing algorithms
for graphical objects, techniques for representing and manipulating geometric objects,
illumination and lighting models, and concept of virtual reality.
Course Objectives: The objective of this course is to understand the theoretical foundation as
wellas the practical applications of 2D and 3D graphics.
Units
Key Topics
-
Characteristics of Distributed Systems
IN-1.1This topic covers the key characteristics of distributed systems, including decentralization, resource sharing, and concurrency.
-
Design Goals of Distributed Systems
IN-1.2This topic explores the design goals of distributed systems, including scalability, fault tolerance, and security.
-
Types of Distributed Systems
IN-1.3This topic discusses the different types of distributed systems, including client-server, peer-to-peer, and hybrid systems.
Key Topics
-
Scan Converting a Point and a Straight Line
SC-1This topic covers the scan conversion of a point and a straight line using algorithms such as DDA Line Algorithm and Bresenham's Line Algorithm.
-
Scan Converting Circle and Ellipse
SC-2This topic covers the scan conversion of circle and ellipse using Mid Point Circle and Ellipse Algorithm.
-
Area Filling
SC-3This topic covers various area filling algorithms including Scan Line Polygon fill Algorithm, Inside-outside Test, Scan line fill of Curved Boundary area, Boundary-fill and Flood-fill algorithm.
Key Topics
-
2-Dimensional Transformation
TW-1Introduction to 2-dimensional transformations, including concepts and principles.
-
2-D Translation, Rotation, Scaling
TW-2Understanding and applying 2-dimensional translation, rotation, and scaling transformations.
-
Homogeneous Coordinates, Reflection, Shear Transform
TW-3Exploring homogeneous coordinates and their application in 2-dimensional reflection and shear transformations.
-
3-Dimensional Transformation
TW-4Introduction to 3-dimensional transformations, including concepts and principles.
Key Topics
-
Relational Model Concepts
TH-1This topic covers the fundamental concepts of the relational model, including domains, attributes, tuples, and relations, as well as the characteristics of relations.
-
Relational Model Constraints
TH-2This topic explores the different types of constraints in the relational model, including domain constraints, key constraints, and constraints on null values.
-
Relational Database Schemas
TH-3This topic discusses the concept of relational database schemas, including relational database state, entity integrity, referential integrity, and foreign keys.
Key Topics
-
Representing Surfaces
3D-1This topic covers the representation of surfaces in 3D graphics, including boundary and space partitioning.
-
Polygon Surface
3D-1.1This topic explores the representation of polygon surfaces, including polygon tables, surface normals, spatial orientation, plane equations, and polygon meshes.
-
Wireframe Representation
3D-1.2This topic discusses the wireframe representation of 3D objects.
-
Blobby Objects
3D-1.3This topic covers the representation of blobby objects in 3D graphics.
-
Representing Curves
3D-2This topic covers the representation of curves in 3D graphics, including parametric cubic curves and spline representation.
-
Parametric Cubic Curves
3D-2.1This topic explores the representation of parametric cubic curves in 3D graphics.
-
Spline Representation
3D-2.2This topic discusses the spline representation of curves in 3D graphics, including cubic spline interpolation, Hermite curves, Bezier curves, and B-spline curves and surfaces.
-
Quadric Surface
3D-3This topic covers the representation of quadric surfaces in 3D graphics, including spheres and ellipsoids.
Key Topics
-
Sweep, Boundary and Spatial-Partitioning Representation
SO-6.1This topic covers the sweep, boundary, and spatial-partitioning representation methods used in solid modeling. It explains how these methods are used to create and manipulate 3D objects.
-
Binary Space Partition Trees (BSP)
SO-6.2This topic introduces Binary Space Partition Trees (BSP), a data structure used in solid modeling to efficiently represent and manipulate 3D objects. It explains how BSP trees are constructed and used in various applications.
-
Octree Representation
SO-6.3This topic covers the octree representation method used in solid modeling. It explains how octrees are used to efficiently represent and manipulate 3D objects, and their applications in computer graphics.
Key Topics
-
Image Space and Object Space Techniques
VI-1This topic covers techniques used in image space and object space for visible surface detection. It includes methods for transforming 3D objects into 2D images.
-
Back Face Detection and Depth Buffering
VI-2This topic explains back face detection, depth buffer (Z-buffer), A-buffer, and scan-line algorithms used for visible surface detection.
-
Depth Sorting Method (Painter's Algorithm)
VI-3This topic covers the depth sorting method, also known as Painter's Algorithm, used for visible surface detection.
-
BSP Tree, Octree, and Ray Tracing Methods
VI-4This topic covers the use of BSP tree, octree, and ray tracing methods for visible surface detection.
Key Topics
-
Basic Illumination Models
IL-1This topic covers the fundamental concepts of ambient light, diffuse reflection, specular reflection, and the Phong model in computer graphics.
-
Intensity Attenuation and Color Considerations
IL-2This topic explores the concepts of intensity attenuation, color considerations, transparency, and shadows in computer graphics.
-
Polygon Rendering Methods
IL-3This topic covers various polygon rendering methods, including constant intensity shading, Gouraud shading, Phong shading, and fast Phong shading.
Key Topics
-
Introduction to E-commerce
IN-1Overview of E-commerce and its significance in the digital age.
-
E-business vs E-commerce
IN-2Understanding the differences between E-business and E-commerce.
-
Features of E-commerce
IN-3Key characteristics and benefits of E-commerce.
Key Topics
-
Introduction to E-commerce
IN-1Overview of E-commerce and its significance in the digital age.
-
E-business vs E-commerce
IN-2Understanding the differences between E-business and E-commerce.
-
Features of E-commerce
IN-3Key characteristics and benefits of E-commerce.
-
Pure vs Partial E-commerce
IN-4Types of E-commerce models and their applications.
-
History of E-commerce
IN-5Evolution and development of E-commerce over time.
Lab works
Laboratory Works:
Students should be able to write program on the most of the contents listed in syllabus, using any
known programming language (C, C++) in previous semester. Majorly, students should on
computer graphics primitives like line, circle and ellipse drawing algorithm to hidden surface
removal techniques. After completing the basic lab session the students must be able to design
some project works like game, 3D rotation, screen saver etc. Some sample lab sessions can be as
following:-
Unit 2 : Scan Conversions Algorithm (10 Hours)
- Study of Fundamental Graphics Functions
- Implementation of Line drawing algorithms: DDA Algorithm, Bresenham's Algorithm
- Implementation of Circle drawing algorithms: Bresenham's Algorithm, Mid-Point Algorithm
Unit 3 : Two-Dimensional Geometric Transformations ( 4 Hours)
- Simulation of 2D transformation, Rotation and Scaling
- Write a program to implement Cohen Sutherland line clipping algorithm
Unit 4 : Three-Dimensional Geometric Transformation (12 Hours)
- Write a program to perform shear transformation on a rectangle
- Write a program to perform 2D Transformation on a line
- Write a program to draw a car using in build graphics function and translate it from bottom left corner to right bottom corner of screen
- Write a program to draw a cube using in build library function and perform 3D transformations
Translations in x, y, z directions
Rotation by angle 450 about z axis, rotation by 600 about y-axis in succession.
Scaling in x-direction by a factor of 2, scaling in y- direction by a factor of 3
Unit 5 : 3D Objects Representation ( 4 Hours)
- Implementation of polygon tables.
- Write a program to draw Bezier curve, sphere
Unit 7 : Visible Surface Detections (10 Hours)
- Back face detection:- Implementation of Depth Buffer, A – Buffer, Scan-Line algorithm
- Implementation of rotation of 3D cube.
Unit 10 : Introduction to OpenGL (5 Hours)
- Event driven programming
- Point, Line and Polygon
- Drawing 3D objects