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

Summary of graphic primitives, Summary of Graphic Primitives In this a...

Summary of Graphic Primitives In this all section, we have illustrated the basic graphic primitives that are line, point and circle; we have also illustrated both practical an

Numerically-controlled machines - cad and cam, Numerically-Controlled Machi...

Numerically-Controlled Machines: Prior to the development of Computer-aided design, the manufacturing world adopted elements controlled through numbers and letters to fi

Remark for perspective projection - transformation, Remark for Perspective ...

Remark for Perspective projection - Transformation A Perspective projection can have at most three Principle Vanishing points and at any rate one Principle vanishing point. To

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

Curved surfaces, Build a program that allows: 1. using mouse or keyboard...

Build a program that allows: 1. using mouse or keyboard to move around on a set of 16 control points;  2. modify the value (drag along x, y, or z) of a point;  3. display

Bezier curves, find out points to the given control points

find out points to the given control points

Advantages and deficiencies of gourand shading, Advantages and Deficiencies...

Advantages and Deficiencies of Gourand Shading Advantages of Gourand Shading: this eliminates the intensity discontinuities related with the constant shading model. Defi

Numerical analysis packages-image processing, Numerical Analysis Packages: ...

Numerical Analysis Packages: generally utilized software is: MatLab. Characteristics: Focus generally on numeric processing. Programming with mathematical skills usuall

Achieve a perspective projection on the plane of unit cube, Achieve a persp...

Achieve a perspective projection on the z = 0 plane of the unit cube, demonstrated in Figure (l) from the cop at E (0, 0, 10) upon the z-axis. Figure: I 01:  currently c

Viewing transformation, Viewing Transformation In previous section, we...

Viewing Transformation In previous section, we have discussed about the geometric transformations as Translation, Shearing, Reflection, Scaling and Rotation. Rotation, Reflect

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