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

  Address the topics below in order to participate in a

address the topics below. in order to participate in a dialogue designed to explore the issues be sure you respond to

  Design portfolio that comprise design item and justification

Our goal for the campaign is to find a fun way to promote tap water as a healthier, cheaper and more environmentally friendly way to stay hydrated. We want tap water to become fashionable in the same way that bottled water companies have establish..

  Aim to introduce the concepts of computer graphicsto

aim to introduce the concepts of computer graphics.to develop a program using opengl.to gain experience in writing

  What is meant by diminishing marginal returns?

What is meant by diminishing marginal returns? Explain how this concept is equivalent to increasing marginal cost.

  Implement a modified version of the card game war

Implement a modified version of the card game WAR

  The security policy document outline

Using the GDI Case Study below, complete the Security Policy Document Outline

  Implement a simple number guessing game using html

Your assignment is to implement a simple number guessing game using HTML forms and a CGI script. The HTML page should introduce the game and provide a form for the user to guess a number

  User interface impact the application developers

How did Linux and the (GUI) graphical user interface impact the application developers?

  Choose one of the organisations and examine their

choose one of the organisations and examine their commercial practices in light of ethical behavioural theory you have

  Develop an animated application

In this assignment you will develop an animated application that uses linked lists as the basis of the implementation. This application builds on the application that you worked with for tutorial 3.

  Design a program that demonstrate passing argument

I need to design a program that demonstrate passing arguments ByVal and then ByRef. I just need help with the coding.

  How the product positioning is aligned with mcdonalds

how the product positioning is aligned with mcdonalds corporate strategy. identify potential gaps in the product line

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