KJ's Educational Institute TRINITY ACADEMY OF ENGINEERING, PUNE (Approved by AICTE, New Delhi, Govt. of Maharashtra & affiliated to SPPU, DTE Code: EN6634) (Accredited by NAAC with ‘A’ Grade) Department of Computer Engineering Computer Graphics Lab (S.E., 2015 Course) LABORATORY MANUAL
Computer Graphics Lab Manual ( SE Computer 2015 Course) Savitribai Phule Pune University Second Year of Computer Engineering (2015 Course) 210255: Computer Graphics Lab Lab Scheme: PR: 02 Hours/Week Credit 01 Examination Scheme: TW: 25 Marks PR: 50 Marks Guidelines for Instructor's Manual The instructor‘s manual is to be developed as a hands-on resource and reference. The instructor's manual need to include prologue (about University/program/ institute/ department/foreword/ preface etc), University syllabus, conduction & Assessment guidelines, topics under consideration-concept, objectives, outcomes, set of typical applications/assignments/ guidelines, and references. Guidelines for Student Journal The laboratory assignments are to be submitted by student in the form of journal. Journal consists of prologue, Certificate, table of contents, and handwritten write-up of each assignment (Title, Objectives, Problem Statement, Outcomes, software & Hardware requirements, Date of Completion, Assessment grade/marks and assessor's sign, Theory- Concept in brief, algorithm, flowchart, test cases, conclusion/analysis. Program codes with sample output of all performed assignments are to be submitted as softcopy. As a conscious effort and little contribution towards Green IT and environment awareness, attaching printed papers as part of write-ups and program listing to journal may be avoided. Use of DVD containing students programs maintained by lab In-charge is highly encouraged. For reference one or two journals may be maintained with program prints at Laboratory. Guidelines for Assessment Continuous assessment of laboratory work is done based on overall performance and lab assignments performance of student. Each lab assignment assessment will assign grade/marks based on parameters with appropriate weightage. Suggested parameters for overall assessment as well as each lab assignment assessment include- timely completion, performance, innovation, efficient codes, punctuality and neatness. Guidelines for Practical Examination Both internal and external examiners should jointly set problem statements. During practical assessment, the expert evaluator should give the maximum weightage to the satisfactory implementation of the problem statement. The supplementary and relevant questions may be asked at the time of evaluation to test the student‘s for advanced learning, understanding of the fundamentals, effective and efficient implementation. So encouraging efforts, transparent evaluation and fair approach of the evaluator will not create any uncertainty or doubt in the minds of the students. So adhering to these principles will consummate our team efforts to the promising start of the student's academics. Guidelines for Laboratory Conduction The instructor is expected to frame the assignments by understanding the prerequisites, technological aspects, utility and recent trends related to the topic. The assignment framing policy need to address the average students and inclusive of an element to attract and promote the intelligent students. The instructor may set multiple sets of assignments and distribute among batches of students. Encourage students for the use of industry coding standards such as appropriate use of Hungarian notation, Indentation and comments. Use Display file where ever suitable.
Computer Graphics Lab Manual ( SE Computer 2015 Course) Use of open source software is encouraged. In addition to these, instructor may assign one real life application in the form of a mini-project. Based on the concepts learned. Instructor may also set one assignment or mini-project that is suitable to respective branch beyond the scope of syllabus. Operating System recommended :- 64-bit Open source Linux or its derivative Programming tools recommended: - Open Source C++ Programming tool like G++/GCC. Set of suggested assignment list is provided in groups- A, B, and C. Instructor is suggested to design lab assignments list by selecting/designing 12 suitable assignments- any 5 of group A, 5 from group B, 2 from group C (assignment number 26 is mandatory). Suggested List of Laboratory Assignments Group A Write C++/Java program to draw line using DDA and Bresenham‘s algorithm. Inherit pixel class and Use function overloading. 1. Write C++/Java program to draw circle using Bresenham‘s algorithm. Inherit pixel class. 2. 3. 4. Write C++/Java program to draw 2-D object and perform following basic transformations, a) Scaling b) Translation c) Rotation Use operator overloading. Write C++/Java program to fill polygon using scan line algorithm. Use mouse interfacing to draw polygon. 6. A Mandelbrot Set is a set of complex number z that does not diverge under the transformationwith.Where, both x and z represent the complex numbers. Write C++/Java program to a). Plot the Mandelbrot set for the threshold |x|= 2. b) Plot Julia set choosing z ≠ 0. Use 254 colors for plotting in both cases. Write C++/Java program to draw the polygons by using the mouse. Choose colors by clicking on the designed color pane. Use window port to draw. Use DDA algorithm for line drawing. 7. Write C++/Java program to draw inscribed and Circumscribed circles in the triangle as shown as an example below. (Use any Circle drawing and Line drawing algorithms) 5. Write C++/Java program to draw the following pattern using any Line drawing algorithms. 8. 9. Write C++/Java program to draw a 4X4 chessboard rotated 45˚ with the horizontal axis. Use Bresenham algorithm to draw all the lines. Use seed fill algorithm to fill black squares of the rotated chessboard. Trinity Academy of Engineering, Pune Page 2
Computer Graphics Lab Manual ( SE Computer 2015 Course) Group B Write C++/Java program for line drawing using DDA or Bresenhams algorithm with patterns 10. such as solid, dotted, dashed, dash dot and thick. 11. Write C++/Java program to draw a convex polygon and fill it with desired color using Seed fill algorithm. Use mouse interfacing to draw polygon. 12. Write C++/Java program to draw a concave polygon and fill it with desired pattern using scan line algorithm. Use mouse interfacing to draw polygon. 13. Write C++/Java program to implement Cohen-Sutherland line clipping algorithm for given window. Draw line using mouse interfacing to draw polygon 14. Write C++/Java program to draw any object such as flower, waves using any curve generation techniques Write C++/Java program to implement Painter‘s algorithm for hidden surface removal 15. 16. Write C++/Java program to implement reflection of2-D object about X axis, Y axis and about X=Y axis. Also rotate object about arbitrary point given by user. Write C++/Java program to generate Hilbert curve using concept of fractals. 17. Write C++/Java program to generate snowflake using concept of fractals. 18. Write C++/Java program to generate Bouncing ball animation using Direct3D/Maya/Blender 19. 20. Write program to implement Cohen Sutherland Hodgman algorithm to clip any polygon. Provide the vertices of the polygon to be clipped and pattern of clipping interactively. 21. Write C++/Java program to implement translation, sheer, rotation and scaling transformations on equilateral triangle and rhombus. Group C Write C++/Java program to draw 3-D cube and perform following transformations on it using 22. OpenGL. a) Scaling b) Translation c) Rotation about one axis 23. 24. Design and simulate any data structure like stack, queue, and trees using graphics. Simulation should include all operations performed on designed data structure. Implement the same using OpenGL. Write C++/Java program to draw implement Cube rotation about vertical axis passing through its centroid. Trinity Academy of Engineering, Pune Page 3