opengl, Computer Graphics

Assignment Help:
Write a program that allows interactive manipulation of the position and orientation of a camera.
Draw a teapot at the global origin 0,0,0.
You can find a shaded teapot model and source code teapot_glut.c.

Initially, the camera is at 0,0,10 looking down the -z axis (looking at the origin 0,0,0).



The main objective of this homework is to manipulate the position and orientation of the camera. The position of the camera is restricted to be on the surface of a virtual sphere with the radius of 10. So you can imagine a teapot at the origin, and a camera on a surrounding sphere pointing at the teapot.

There are two camera manipulation instruction, elevation and swing. In elevation mode, the camera should be elevated on the surface of the sphere while maintaining the look-at point at the origin. The range of elevation on the surface of a sphere is between -90 and 90 degree. Use mouse motion function to implement the user interaction. Users should be able to elevate the camera by dragging mouse upward.

In swing mode, the camera should be moved sideways on the surface of the sphere while maintaining the look-at point at the origin. Use mouse motion function to implement the user interaction. Users should be able to swing the camera by dragging mouse sideways. Note that during the swing operation, the elevation level should be preserved and the camera should not tilt sideways.

Using a pull-down menu, a user should be able to toggle between grid view on and off.
Quit menu will terminate the program.

Related Discussions:- opengl

DDA, limitationsof dda

limitationsof dda

View volumes and general projection transformations, View Volumes and Gener...

View Volumes and General Projection Transformations You have to remember that the view volume is the volume which sets up near and far extents, top and bottom extents and left

Vecgen algorithm and bresenham line, what is vecgen algorithm and bresenha...

what is vecgen algorithm and bresenham linequestion..

Vecgen algorithem for line, explain vecgen algorithem for line drawing in c...

explain vecgen algorithem for line drawing in computer graphics

What is the purpose of saving selections, Question 1: (a) Once a select...

Question 1: (a) Once a selection is made, what area of the image can be edited? (b) What is the purpose of saving selections? (c) How can you move a selection while you a

Method to draw an object by using four bézier curves, Suggest a method to d...

Suggest a method to draw an object as in figure using four Bézier curves of suitable degree Answer: Employ four quartic Bézier curves with the endpoint of one as the initial poi

Discuss the overview of multimedia networks, Question 1 Discuss the overvi...

Question 1 Discuss the overview of multimedia networks Question 2 Discuss the types of synchronization in multimedia system >> Basic synchronization issues Content R

Write a code to continuously rotate square about pivot point, Write a code ...

Write a code to continuously rotate a square about a pivot point.    #include   static GLfloat rotat=0.0;   void init(void); void display(void); void reshape(int w

Target market before doing a design work, Question: (a) Explain the i...

Question: (a) Explain the importance of knowing and understanding your target market before doing a design work. Use example(s) to enhance your answer. (b) Describe the

Write a c code for generating concentric circles, Write a C code for genera...

Write a C code for generating concentric circles.  Put the circle function circleMidpoint()in a for loop  as follows: for( int radius = MinRadius; radius circleMidpoint(i

Write Your Message!

Captcha
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