Display an orthogonal view of two animated 3d objects

Assignment Help Computer Graphics
Reference no: EM13908727

Computer Graphics

Aims

This assignment aims to develop students' competence in following aspects:
• to be able to design interesting 3D scenes,
• to be able to apply transformation techniques to construct and/or control the 3D scenes,
• to be able to apply 3D object representation techniques from B-Reps approach to model the objects, and
• tobe able to implement the design and models in a C++ with OpenGL.

The detailed technical aspects covered by this assignment are as follows:
- Setting up 3D viewing systems with OpenGL functions (orthogonal and/or perspective),
- Creating 3D objects using OpenGL graphics primitives from the B-reps approach,
- Performing geometric transformations including translation, rotation and/or scaling transformations,
- Applying illumination models using OpenGL functions,
- Applying rendering techniques using OpenGL functions,
- Applying texture mapping techniques,
- Applying animation techniques using double buffering method, and
- Applying menu and mouse/keyboard functions to control the display of scenes.

Instructions

1. This is a group assignment with individual components. You need to team up with another student. Within a group, each member will conduct Part 1 and the self-reflection in Part 3 individually and two members will work on Part 2 and the rest of Part 3 together. For some exceptional cases, it is allowed for you to work on your own, but you must accept the consequences in terms of time commitment and work load, as some of this assignment is designed for two people to complete within the given time frame.Each member will receive a mark for the individual-based parts and the same mark for the group-based parts. If you have trouble with the operation of an assignment group, you need to talk to the subject coordinator as soon as possible. Complaints about group member will not be heard on or after the submission date.

2. You need to sign a declaration form for Assignment to declare the submitted work is your original work (individual-based part) and joint original work with your partner (group-based parts). The signed declaration form needs to be enclosed into the hard-copy of your submission. Without the signed declaration forms, the assignment will not be marked.

3. The required time commitment for this assignment is about 35-50hours per person.

4. Minimum requirement for being eligible to be assessed is to complete the Part 1.

Deliverables and Submission

There are three deliverables for this assignment:

1. A report, which should be in the form ofdoc or pdf .
.
2. Source code file(s) in C++ (in cpp format) and readme files (in txt format).

Please test your source code files in a FEIT lab computer before you submit them. C++ source code files will not be marked if they have compilation errors when they are run in a FEIT lab computer.

Please include the student's surnames in the report file names.

3. Microsoft Visual studio (2013) project solution files, which are packed in an archived file. The project files should include three projects, which are two separate projects for Part 1 and one project for Part 2.

Task Specifications

There are three parts in this assignment, which are an individual programming task, a group programming task and a report based on joint effort of group members.

Part 1 (Individual)

Develop ONEC++ programto display an orthogonal view of twoanimated 3D objectswith the following tasks:

Task 1: Build the scene with the following objects:

Object 1:The x, y and z axes of your world coordinate system with x axis in RED, y axis in GREEN and z axis in BLUE.
Object 2: A line segment defined by two endpoints: A(160.0, -50.0, -400.0) and B(160.0, -50.0, 200.0).
Object 3: One manually constructed tetrahedronor cube. Thecentreof their circumscribed circles is at the point (150.0, 80.0, -120.0).Their radius is 90 units.

Notes:
• You are not allowed to use OpenGL built-in polyhedron functions for Object 3;
• Two members in a group must select different polyhedrons for Object 3.
• Mathematical equations for calculating the vertices of these regular polyhedrons will be given later in a separate file.

Object 4: OneGLU quadric surface, which can be a sphere, a cone, or a cylinder, i.e., you need to use OpenGL GLU built-in quadric surface functions to create Object 4.Use the point (150.0, 80.0, -120.0) as their reference points, i.e. as the centre of sphere and the centre of the bottom circle of cylinder or cone. The radius of sphere is 50 units. The radius of bottom circle of cylinder is 50 units. The radius of base circle is 50 units. The heights of cylinder and cone are 100 units.

Object 5: A local point light represented by a point with size 10, which locates on the line segment.

Note:
The actual position of this light on the line segment AB needs to be adjusted to achieve appealing light effects in the scene.

Task 2: Animate Object 3 and Object 4 (oneat a time) by rotating themaround the given line segment (i.e. the rotation axis) usingthe double-buffer approach. Add a keyboard control to control the animation/r speed using letter "u" for increasing the speed and letter "d" for decreasing the speed. In addition, define a left-click menu, called "Object Menu", to select the animated object from the two objects (i.e. Object 3 and Object 4);

Task 3: Create two texture patterns. Texture 1 is a manually-constructed texture and Texture 2 is a texture converted from an input image.

Task 4: Map Texture 1 to Object 3 and Object 4 using the "BLEND" mode and Texture 2 to Object 3 and Object 4 using the "REPLACE" mode. Define a right-click menu, called "Texture Menu", to select from the following three options:

- No texture
- Texture 1
- Texture 2

Task 5: Define a sub-menu of "Object Menu", called "Colour Menu", to select one of the following colours as the object colour: yellow, cyan and magenta.

Part 2 (Group)

Develop ONE C++ program to display the perspective view of UTS-FEIT buildingwith the following tasks:

Task 1. Model construction

Write a C++ code segment to build a wireframe model of UTS-FEIT building using OpenGL built-in graphics primitives from the Boundary-Representation (B-reps) approach.

Task 2. Render the model with the following requirements:

- Use two OpenGL built-in rendering methods, i.e. the constant intensity method and Gouraud surface rendering method.
- Create two scenes: (i) a day-time scene with sunlight and (ii) a night-time scene with moon light and a number of local point lights (allocate one local point light around the middle of each curved edges as shown below:

2274_Model construction.png

Each light source should include ambient, diffuse and specular light components. The surface material should have ambient, diffuse and specular reflections.

Notes: In order to render the objects properly, you will have to calculate and specify the normal vector at each vertex, which is the average of surface normal vectors of all the meshes that share this vertex.

Task 3 (Bonus task) Add texture to the surfaces to make them look similar to the real UTS FEIT building surfaces.You can design your own texture patterns or borrow from other sources, e.g., internet (with proper referencing).

An image of UTS-FEIT building is shown below for your reference:

556_Model construction1.png

More images can be found from Google search using keywords "UTS FEIT building images".

Display requirements:
• Each object should be displayed in two versions which are a wire-frame version and a rendered version. Add a version of with texture if you have successfully attempted Task 3.Define a right-click menu, called "Version Menu",to switch between these versions.
• Allow the following three display options for the wireframe version: (i) "not show normal vectors", (ii) "show normal vectors of vertices" and (iii) "show normal vectors of surfaces" and use a right-click sub0menu of "Version Menu" to select each option.
• Allow the following two options: "constant intensity rendering" and the "Gouraud rendering" and use a right-click sub-menu of "Version Menu" to select each option
• Display should have correct depth-effects, i.e., you need to apply effective hidden surfaces/linesmethod(s).
• The rotation direction should be controlled by the letter"p" for rotation in CW direction and "n" for rotation in CCW direction.

Part 3 (Mixture of individual and group tasks)
Write a report about your development including the methods/algorithms used, final results, etc. and self-reflection about the work done in Parts 1 & 2.

Suggested report structure:
(1) Cover page, which should include the following information:
• Header: Major Assignment, subject number, name
• Report title
• Student name and student number
• Subject number
• Semester and Year
(2) Signature page (Please use the designate signature page, which can be found in the subject site)
(3) Table of content with page numbers included
(4) Introduction

Part 1
- What has been done by the Member 1
- What has been done by the Member 2

Part 2
- Scene design
- Hardware system specification
- Implementation
- Final results
(5) Self-reflection
- Self-reflection by the Member 1
- Self-reflection by the Member 2
(6) References

Reference no: EM13908727

Questions Cloud

Effectiveness of the experimental manipulation : Conduct appropriate statistical analyses to test the effectiveness of the experimental manipulation of singing ability (see Table, Results for the Manipulation Check
Discuss the mncs reasons to invest overseas : Discuss successes and failures related to the MNC's foreign operations. Discuss the MNC's reasons to invest overseas. Discuss the MNC's foreign investments.
Does the otr time appear to be stable why or why not : Does the OTR time appear to be stable? Why or why not? If you were to use a control chart to evaluate stability, which chart would you use? Why? What can you learn about the distribution of the installation process
Write the equation of the line with a slope : Write the equation of the line with a slope of 2 and passing through the point (-5, 3), Do the following lines intersect? If yes, at what point of intersection
Display an orthogonal view of two animated 3d objects : Develop ONEC++ program to display an orthogonal view of two animated 3D objects and create two texture patterns. Texture 1 is a manually-constructed texture and Texture 2 is a texture converted from an input image.
Compute the overhead application rate for total overhead : World Company expects to operate at 80% of its productive capacity of 50,000 units per month.
Sum of all the numbers : Write a program that repeatedly asks a user to enter a number. The program will sum up all the number that the user keyed in. Terminate the program when the user enters -9, and display the sum of all the numbers entered by the user (exclude -9).
Create a dictionary and store student : Write a program to create a dictionary and store student id as key and student name as value and display the student id and name. After displaying the dictionary keys and values you should clear the dictionary so that your dictionary becomes empty..
What is the acceleration of the stone : A stone used in the sport of curling has a mass of 18.0 kg and is initially at rest, sitting on a ?at ice surface. What is the acceleration of the stone and what is the work done in accelerating it

Reviews

Write a Review

 

Computer Graphics Questions & Answers

  Write program to animate two circles bouncing around window

Write a program to animate two circles bouncing around a window. The basic idea is to start the two circles somewhere in the interior of the window.

  Securing and protecting information

Discuss how this and other information security considerations will affect the design and development process for new information systems.

  What is the difference between animation and transition

What is the difference between animation and transition as it relates to a PowerPoint presentation? Review the different handout page formats.

  A rental car manager estimates the number of full-size

a rental car manager estimates the number of full-size sedans rented per week 5 so that she can maintain adequate

  There are two more unit-sphere les given in

there are two more unit-sphere ?les given in httpcis.poly.educs653assg3 with 256 and 1024 triangles respectively.draw

  How many minutes of uncompressed digital video can be stored

Approximately how many minutes of uncompressed digital video could be stored and played from a standard (single-speed) CD-ROM at 640 X 480 resolution using 256 colors?

  Essential elements of a design pattern

configuration of an Iterator pattern, patterns could be used in a Library System, Singleton, Template, Decorator, Façade,What does Alexander means by the following declaration "But it is impossible to form anything which has the temperament of natu..

  Create a quality product for a selected audience

Apply knowledge of poster design or website design to create a quality product for a selected audience - find the information resources you need for this project

  What is the gamut of a color space

What is the gamut of a color space and what is the gamma of a color space (or color display device) - What is the advantage of interlaced video? What are some of its problems?

  Find graph theory concepts that correspond to social concept

Suppose we make a graph in which nodes are people and edges correspond to some form of social interaction, such as "talk to" or "socializes with" Find graph theory concepts that correspond to social concepts such as popularity, cliques, and hermi..

  Among the alternative rationales that are set out for

among the alternative rationales that are set out for cooperative strategy on the business level the most effective in

  Why menu-driven interfaces continue to be popular

Suggest at least three (3) strategies for making menu-driven interfaces visually appealing in the modern computing environment.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd