Making a Modeler using virtual studio. You will have to use openGL an FLTK

Suljettu Julkaistu 7 vuotta sitten Maksettu toimituksen yhteydessä
Suljettu Maksettu toimituksen yhteydessä

Project Description

In this project you define a 3D model and controls for moving it, and then display and operate the model. The project skeleton contains the framework code for the UI as well as some functions for drawing primitives. You will specify your model in a separate source file that will be compiled and linked in with the existing code.

Project Objectives

In this project you will use OpenGL to create and animate a character of your own design. You will become familiar with 3D hierarchical modeling and transformations.

Project Requirements

First of all, you must come up with a character. This character can be composed solely of primitive shapes (box, generalized cylinder, sphere, and triangle). It should use at least ten primitives and at least four levels of hierarchy. You must also use at least one each of the glTranslate(), glRotate() and glScale() calls to position these primitives in space (and you will probably use many of all of them!) You must also use glPushMatrix() and glPopMatrix() to nest your matrix transformations. (4 pts)

The modeler skeleton provides functions for creating sliders and hooking them to different features of your model. You must add at least one of these as a control knob (slider, actually) for some joint/component of your model - have your character do some simple action as you scrub a slider back and forth. (2 pts)

In addition, at least one of your controls must be tied to more than one joint/component; this knob will change the input to some function that determines how several parts of your model can move. For example, in a model of a human, you might have a slider that straightens a leg by extending both the knee and hip joints. (3 pts)

In the Camera class, the function called applyViewingTransform() uses gluLookAt() to perform a viewing transform that effectively moves the camera to the specified position and orientation. You are required to implement your own version of gluLookAt() using any method (i.e. the standard transformations (glTranslate, glRotate, glScale), matrix construction) as long as you are not using the gluLookAt itself. Add a function to the Camera class with the following prototype:

void Camera::lookAt(double *eye, double *at, double *up)

where eye, at and up are each 3 element arrays that specify the position of the camera, the point it is looking at and the up vector in world co-ordinates. Using these arguments, your function should apply a series of translations and rotations (or construct a matrix) that effectively moves the camera to the specified position and orientation.

To satisfy this requirement, you need to replace gluLookAt() in the original code with your lookAt() function, and it should work properly (just like gluLookAt()).

Make an additional "animated" sequence your character can perform. Although you can try to use a timed callback "add_idle", an easier solution is just to increment values each time your model's draw() function is called. If you use the menu option to turn on animation, your draw() function will be executed at around 30 times per second. You may refer to the sample modeler for a mode of the animation effect.

When you are done with this project, you will create a project "artifact" to show off the features of your program

For the Modeler artifact, you will create an image and an animation sequence of your 3D model.

I am attaching the sample Modeler and the Skeleton + Executable code for your reference.

OpenGL Visual Basic

Projektin tunnus: #10877237

Tietoa projektista

2 ehdotusta Etäprojekti Aktiivinen 7 vuotta sitten

2 freelanceria on tarjonnut keskimäärin $300 tähän työhön

skvenkatesh

A proposal has not yet been provided

$555 CAD 2 päivässä
(0 arvostelua)
0.0
rameshpizza

Hii, I've done a project like this, where I created two boxers from primitive shapes and on key press they were punching (very basic animation). This task seems similar, I can do it easily. Thanks

$45 CAD 5 päivässä
(0 arvostelua)
0.0