联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2024-02-07 09:39

Assignment #02: Arm Inverse Kinematics

Due Date: 20

th February 2022

Coursework %: approximately 15%

The purpose of this lab is for you to learn how Inverse Kinematics works in practice.

The goal of inverse kinematics is to compute the vector of joint DOFs that will cause the end effector

to reach some desired goal state.

1. This assignment is strictly individual (no groupwork).

• You are required to create an arm and torso, where the arm should be constructed from a

lower and upper arm, and attached to the torso. Your application must work out appropriate

orientations for the lower and upper arm, given the desired position of the end effector

(hand).

• Analytical solutions to IK are the most straightforward and can be used for 2 links only (upper

and lower arm). If you wish to extend to more complex chains, other approaches (CCD,

Jacobian) should be investigated.

• A 3DS Max character model is provided on Blackboard if you want to use it. Please note that

this character is property of GV2 and cannot be used outside of this project. You are not

required to use a skinned model and can go for basic shapes if you wish. There are many

resources online also for downloading free character models: turbosquid, mixamo, etc.

2. You will also be required to submit a 3 separate files - your pdf report and zipped code on

Blackboard by the 20

th

February. See Sample report at end. Submissions must be on Blackboard

as we will not be accepting submissions via email. Your submission should include:

‒ a pdf report with screen shots of the features and of code snippets

‒ A zip folder with your code (cpp and h files used). Please do not submit the entire

Visual Studio project.

If you fail to submit your report on time, you will be reported as absent and will receive a grade of 0%.

3. Do not wait until the last minute to start this assignment. This assignment is difficult and will

require some time to get the concepts and implementation correct. Be sure to attend labs and

ask the demonstrator for help via the discussion board.

4. Be aware that demonstrating a project that was not created by you is considered cheating and

will be reported as such. The demonstrator will check if you have an understanding of the code

that you have written.

Requirements and Examination

Your application should be written in C++ with shader-based OpenGL and have the following features:

1. Simple 2-bone IK in 2D using an analytical solution, CCD, FABRIK or Jacobian (~25%)

• You will be asked to demonstrate both reachable and unreachable positions.

2. Multi-bone IK in 3D using CCD, FABRIK or Jacobian (~50%)

• Extra marks for quality of IK system, including constraints for natural movements,

visual appearance of model, etc.

3. Scripted animation for the end effector (e.g., using splines, ease-in ease-out curves) (~25%)

• Extra marks for quality of animation

Note: The [approximate] marking scheme provided shows the maximum marks that can be obtained

for each section if completed perfectly. Merely attempting a section does not imply the full score

indicated.

CS7GV5 Report Example

Name:

Student ID:

Required feature: Simple 2-bone IK in 2D

Screenshot(s) of feature:

Describe your implementation:

Code Snippet:

Required feature: Multi-bone IK in 3D

Screenshot(s) of feature:

Describe your implementation:

Code Snippet:

Required feature: Scripted animation

Screenshot(s) of feature:

Describe your implementation:

Code Snippet:


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp