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

Subdivision of polygon - visible surface detection , Subdivision of polyg...

Subdivision of polygon Test to find out the visibility of a single surface are made through comparing surfaces that as polygons P along regarding a specified screen area A.

Graphics, GRAPHICS: It is one of the core elements of any multimedia ...

GRAPHICS: It is one of the core elements of any multimedia application. We all have heard a well-known saying as "one picture conveys a message of 1000 words", hence without

Transformation for parallel projection, Transformation for parallel project...

Transformation for parallel projection Parallel projections is also termed as Orthographic projection, are projections into one of the coordinate planes as x = 0, y = 0 or z

Event driven devices - polling, Event Driven Devices - Polling Pollin...

Event Driven Devices - Polling Polling: The status of all devices is periodically checked in a repetitive manner through a polling loop. While an event happens, the loop is

Side effects due to scan conversion, What are the side effects due to scan ...

What are the side effects due to scan conversion? How can the effects be minimized? Aliasing Effects (Side effects of scan conversion)   Scan conversion is essentially a syst

B splines, What is uniform rational splines

What is uniform rational splines

Important points about the illumination model, Important points about the i...

Important points about the illumination Model An illumination model is also termed as lighting model and sometimes considered to as shading model, that is utilized to compute

Graphical User interface and interactive input methods, all details of Grap...

all details of Graphical User interface and interactive input methods

Objectives of three dimensional transformations, Objectives  of Three dimen...

Objectives  of Three dimensional transformations explain basic 3D transformations-translation, rotation, scaling, shear and reflections-applied to objects in space; ex

Briefly explain types of animation, Question 1 Briefly explain types of an...

Question 1 Briefly explain types of animation Question 2 Briefly explain steps involved in animation process Question 3 What is Layout? Explain two types of layout

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