Write a program to render an animated humanoid walking


OpenGL Programming in Python 3.5

Write a program to render an animated humanoid walking robot.

Specifications:

Robot's body is a parallelogram box.
Robot's head is a sphere.
Robot's height is 60.

Your robot must have two arms and two legs that are made of cylinders. each arm is made of the upper arm and lower arm (forearm). The upper arms should be pivoting around the shoulder. The lower arm should be pivoting around the upper arm. The legs should be pivoting (rotating) around the hips as the robot walks. The body parts of the robot should have different colors.

You should use appropriate lighting models for the robot by using Ka , Kd, and Ks coefficients. The value of the coefficients should initially be set to 0.5.

Hitting characters "a" and "A" should decrease/increase Ka coefficient.
Hitting characters "d" and "D" should decrease/increase Kd coefficient.
Hitting characters "s" and "S" should decrease/increase Ks coefficient.

Robot's Legs and arms must be rotating in opposite directions while the robot is walking i.e. robot should walk not jump.

Your robot should walk around a center pole which is made of a cylinder. The distance of the robot to the flag pole should be 100. The diameter of the pole should be 4 and the height of the pole should be 120.

There should be a white point light at the distance of 200 from the pole and the height of the light should be 120.

The viewer eye should be at the distance of 150 from the pole at the height of 150 looking at the base of the pole.

Hitting the "Up-arrow" and "down-arrow" should move the viewer eye up or down 5 units.

Hitting the "left-arrow" and "right-arrow" should rotate the camera clock-wise or counter-clockwise around the pole by 5 degrees..

The projection should be set to perspective.

There should be a flag on the top of the pole. Use a bi-cubic Bezier surface to generate the flag. This flag should be waiving. The waiving effect is done by fixing two corners of the surface patch to the pole and allowing the points and vectors on the other two points (the ones which are not attached to the pole) to change. The size of the flag should be 30 by 30.

Hitting the "f" and "F" causes the robot to move slower/faster in 10 incremental steps from zero to maximum speed (limited by CPU).

Flag should stop or start waiving by hitting character "w"

Request for Solution File

Ask an Expert for Answer!!
Python Programming: Write a program to render an animated humanoid walking
Reference No:- TGS01712268

Expected delivery within 24 Hours