Gui for plotting functions, Computer Graphics

For this assignment you will write a GUI for plotting functions. The user will supply the de?nition of a function in the variable x, the range of x and y values to be plotted and the number of steps in the plot. The GUI will then display the function. The user can enter any number of functions. Each will be plotted in the chosen colour. The plot information can also be changed - i.e. the x and y ranges and the number of steps. All the functions can then be redrawn using the new setup.

One way to plot a function is to construct a sequence

< (x1, y1), (x2, y2), . . . , (xn, yn) >

where x1 is the smallest value of x, xn is the largest value of x, n is the number of steps, each yi is the result of applying the function to xi and all the xi are equally spaced. The lines from (xi, yi) to (xi+1, yi+1) are then drawn to produce an approximation to the function. The larger the number of steps, the better the approximation.

Typically though, the sequence is not really constructed. All that is needed is the pairs of adjacent points so that a line can be drawn between them. The assignment support ?le de?nes an iterator that generates the required sequence.

Below is an example of plotting the function x2 from -5 to 5 in 6 steps. First a line from (-5, 25) to (-3, 9) is drawn followed by the line from (-3, 9) to (-1, 1), followed by the line from (-1, 1) to (1, 1), followed by the line from (1, 1) to (3, 9), followed by the line from (3, 9) to (5, 25).

931_GUI for Plotting Functions.png

For the actual plotting you will be using a canvas widget. The canvas has a given width and height while the plotting parameters specify ranges for x and y. Therefore a conversion is required that map 'real world' coordinates (i.e. the x,y values) to screen (canvas) coordinates. Remember that in the 'real world' y values increase as you move up while on a canvas they decrease as you move up. The assignment support ?le de?nes a coordinates conversion class that does this job.

Assignment Tasks

For each class and method that you write you need to provide a suitable comment giving a description and where necessary the type and any preconditions. You should use the triple-quote commenting style.

Posted Date: 2/28/2013 12:53:19 AM | Location : United States







Related Discussions:- Gui for plotting functions, Assignment Help, Ask Question on Gui for plotting functions, Get Answer, Expert's Help, Gui for plotting functions Discussions

Write discussion on Gui for plotting functions
Your posts are moderated
Related Questions
What are the different types of parallel projections?  The parallel projections are basically divided into two types, depending on the relation among the direction of projectio

Question 1 What is 2D? Explain method of converting 2D patterns into 3D images Question 2 Write about the following tools to create dart Create dart Multiply dar

Plane equation - spatial orientation of the Surface Element For some of Plane equation procedures, we have information regarding the spatial orientation of the individual surf

Depth-buffer (or z-buffer) Method  Z-buffer method is a fast and easy technique for specifying visible-surfaces. Z-buffer method is also termed to as the z-buffer method, as

Perspective Projection 1. Perspective projection gives more realistic appearance and uses the same principle as used in camera. 2. Perspective projection is not an affine tr

1. Implement the boundary fill algorithm and flood fill algorithm in C-language and use your code to fill two different types of closed areas such as  i)  A Circle ii)  A sel

Use of Interactive Multimedia in Education Virtual reality, where 3-D experimental training can simulate real situations. Computer simulations of things too expensive,

Interlaced GIF: The conventional which is non-interlaced GIF graphic downloads one line of pixels at one time from top to bottom and browsers display all lines of the image as it

Types of Animation Systems - Computer Animation We have discussed above about the sequencing of animation is helpful in developing any animation. Such sequencing is more or le

Notes for Specular reflection (1) In addition to diffuse reflection, light sources produce highlights or bright spots termed as specular reflection. Such highlighting is extre