Gui for plotting functions, Computer Graphics

Assignment Help:

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.


Related Discussions:- Gui for plotting functions

De casteljeau algorithm - bezier curves, De Casteljeau algorithm: The cont...

De Casteljeau algorithm: The control points P 0 , P 1 , P 2 and P 3 are combined with line segments termed as 'control polygon', even if they are not actually a polygon although

Scan conversion, State the purpose of scan conversion , along with the side...

State the purpose of scan conversion , along with the side effects

Jas file formats, JAS: The JAS file formats were implemented to form the s...

JAS: The JAS file formats were implemented to form the smallest possible picture files for 24bits per pixel image and 8 bit per pixel gray scaled pictures. This uses a discrete co

Animation, Animation, Video and Digital Movies : These are sequences of bi...

Animation, Video and Digital Movies : These are sequences of bitmapped graphic scenes or frames, quickly played back. But animations can also be made inside the authoring system t

Estimate general light such as bouncing around scene, identify a sphere alo...

identify a sphere along with a light source above it; hence its lower half will not be illuminated. In practice in a actual scene this lower half would be partially illuminated thr

Relationships between scaling and wavelet function spaces, QUESTION (a)...

QUESTION (a) Median filters do not cater for a dynamic range of pixels in a given area, S. Thus to ensure that no loss of image details occur in S, adaptive median filters coul

Ray tracing algorithm, Ray Tracing:  Ray t racing is the technique to dete...

Ray Tracing:  Ray t racing is the technique to determine which objects in the scene are visible.  In this to identify the visible surface for each pixel we continue to bounce the

What do you mean by emissive and non-emissive displays, What do you mean by...

What do you mean by emissive and non-emissive displays? EMISSIVE: The emissive display changes electrical energy into light energy. The plasma panels, thin film ele

What do you understand by the term contone, Question : (a) What do you...

Question : (a) What do you understand by the term ‘contone'? (b) What are spot colours? (c) You have been asked to prepare an artwork (a magazine) to send to a printer.

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