Write a program to display hierarchical kinematic models

Assignment Help C/C++ Programming
Reference no: EM132261866

Assignment: In this assignment, you will write a 3D graphics program to display hierarchical kinematic models. You can make use of a starter program provided on the CS 408 website.

1. Create a program to display a 3D wooden model similar to the one shown in the notes. If working in C++/OpenGL, you can download the "simple model of a person" (Main.cpp, Main.h) from the Notes / Hierarchical Kinematic Modelling part of the online notes.

The given model has a spherical head, a cylindrical neck, a cylindrical torso, a left leg made of two cylinders, and a left arm made of two cylinders.

Your displayed model should have the above features plus (1) right arm, (2) right leg, (3) nose, (4) two ears, (5) two feet - on the end of the legs!, and (6) some other body part(s) of your choosing.

Add motion to the right arm, right leg, two feet, and any other body part(s).

2. Draw the tree corresponding to the model corresponding to your program from question 1. Show the Constant, Variable, and Node transformations on the diagram. You do not have to show any transformations in the display_cylinder or display_* functions, where * is some body part. We will consider those transformations to be part of the objects. Your picture can be submitted as a neatly hand drawn picture or a picture drawn with some drawing software. Hand drawn pictures can be scanned as PDFs/JPGs and submitted to URCourses or submitted in paper in lecture on Thursday or slipped under my office door.

3. Construct a table with columns for the Node Index, Object Model (e.g., "Neck"), Parent Index, Constant Transformation, Variable Transformation, Node Transformation, and Child Indices for your program from question 1. See example table in notes (but add more columns). For the Constant Transformation, you should have X, Y, and Z columns, and for the Variable Transformation, you should have one column that indicates whether the transform is Rx (meaning rotation around the X axis), Ry, or Rz and two other columns giving the minimum and maximum amounts of rotation that you think are reasonable for a human-like body. See also question 4. Submit the answer in a Word/txt/pdf/Excel file showing the table. It can also be submitted on paper.

4. Change the program from question 1 to use separate minimum and maximum values for every limb (instead of just giving them all minimum 0 and maximum 45). Adjust the minimum and maximum values in your table for question 3 according to your experience of what a human body is capable of in these types of motions. Suggestion: add two arrays, one for max and one for min. For each joint, the figure should progress from its current setting to the maximum and then down to the minimum and then back to the maximum, etc.

5. A pose vector gives the current values for the parameters of the Variable Transformations. For example, the angle by which the wooden figure is leaning forward its neck is given by theta[1] in the program. Determine the pose vector corresponding to the following configurations:

a. pose 0: figure standing straight with legs straight down and arms straight out;

b. pose 1: figure standing with upper right arm straight out and lower right arm turned straight up; right leg out in kicking motion;

c. pose 2: figure standing with upper left arm straight out and lower left arm turned straight up; lower part of right leg back

Submit the answer in a Word/txt/pdf/Excel file showing three pose vectors. It can also be submitted on paper.

6. Change the program from question 1 to perform animations between poses. Animation can be performed by gradually changing the angle parameters of the Variable Transformations between one pose and another and back and repeat. Create three possible animations by setting the initial and final poses:

a. On input ‘f', set one pose to be pose 0 and the other to be pose 1.

b. On input ‘b', set one pose to be pose 0 and the other to be pose 2.

c. Add more poses of your choice and choose a keyboard key to cause the figure to animate motion between those two poses.

Reference no: EM132261866

Questions Cloud

Discuss the basic healthcare marketing principles : In this assignment, each student will be expected to demonstrate an understanding of basic healthcare marketing principles in a first draft marketing plan
Discuss what these political risks mean for businesses : What challenges or opportunities might an organization recognize with regard to the government and corrupt practices in the region?
How the development process can benefit : BSA385 Explain how the development process can benefit from software quality assurance and why it is important to follow quality assurance processes.
What is the default risk premium on 3-year aa-rated : With reference to the data above, at what tax rate would an investor be indifferent between holding the 3-year municipal or 3-year corporate bond?
Write a program to display hierarchical kinematic models : CS 408 In this assignment, you will write a 3D graphics program to display hierarchical kinematic models. You can make use of a starter program provided.
Design an algorithm for solving the SVD problem : Algorithm Design and Implementation - Design an algorithm for solving the SVD problem whose worst-case run-time complexity is O(n2)
Describe which of the given plans would you approve : Describe which of these plans would you (as the CEO) approve and why? Be sure to justify your selection with technical details.
Explain one system call that operating system executed : In your journal, explain at least one system call that the operating system executed in order to create the output you reviewed.
Workplace for sexual harassment cases : What parties get involved in the workplace for sexual harassment cases? (union, non-union, management, special interest group) (Company Google)

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Create program that uses functions and reference parameters

Create program that uses functions and reference parameters, and asks user for the outside temperature.

  Write a program using vectors and iterators

Write a program using vectors and iterators that allows a user to maintain a personal list of DVD titles

  Write the code required to analyse and display the data

Calculate and store the average for each row and column. Determine and store the values for the Average Map.

  Write a webservices application

Write a webservices application that does a simple four function calculator

  Iimplement a client-server of the game

Iimplement a client-server version of the rock-paper-scissors-lizard-Spock game.

  Model-view-controller

Explain Model-View-Controller paradigm

  Design a nested program

How many levels of nesting are there in this design?

  Convert celsius temperatures to fahrenheit temperatures

Write a C++ program that converts Celsius Temperatures to Fahrenheit Temperatures.

  Evaluate and output the value in the given base

Write C program that will input two values from the user that are a Value and a Base with which you will evaluate and output the Value in the given Base.

  Design a base class shape with virtual functions

Design a base class shape with virtual functions

  Implementation of classes

Implementation of classes Chart and BarChart. Class barChart chould display a simple textual representation of the data

  Technical paper: memory management

Technical Paper: Memory Management, The intent of this paper is to provide you with an in depth knowledge of how memory is used in executing, your programs and its critical support for applications.

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