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

Exemplify bresenham line generation algorithm by digitizing, Example: Exem...

Example: Exemplify the Bresenham line generation algorithm through digitizing the line along with end points (20, 10) and (30, 18) Solution: m =    (y2 - y1)/( x2 - x1)  =

Problems at shared vertices - modeling and rendering, Problems at Shared Ve...

Problems at Shared Vertices - Modeling and Rendering Shading discontinuities can arise while two adjacent polygons fail to share a vertex which lies along their common edge.

Briefly explain color profile, Question 1) Why are selection tools useful?...

Question 1) Why are selection tools useful? Describe them based on different categories Question 2) What are the different types of layers? Describe each type Quest

Define coherence properties, Define coherence properties?  A coherence ...

Define coherence properties?  A coherence property of a scene is a part of a scene by which relate single part of the scene with the other parts of the scene.

Mathematical description of oblique projection onto xy-plane, Mathematical ...

Mathematical description of an Oblique projection onto xy-plane  In order to expand the transformation for the oblique projection, identify the Figure. This figure explains a

Interactive 3d computer graphics, Describe interactive model of computer gr...

Describe interactive model of computer graphics and application areas of interactive computer graphics.

Important points about the surface of revolution, Important points about th...

Important points about the Surface of Revolution a) if a point on base curve is given by parametric form, that are: (x(u), y(u), z(u)) so surface of revolution regarding to th

Animation and games - cad and cam, Animation and Games - CAD and CAM I...

Animation and Games - CAD and CAM In our childhood, we all have seen that the flip books of cricketers that came free with some soft drink and where some pictures of similar p

General perspective transformation with cop at the origin, General Perspect...

General Perspective transformation with COP at the origin Here we suppose the given point P(x,y,z) be projected like P'(x',y',z') on the plane of projection. The center of pro

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