Professional Documents
Culture Documents
All charts and diagrams should be aesthetically designed, have explanatory captions that
contain corresponding numerical values (please have a look on chart and diagrams of MS Excel for
inspiration). If a user creates several charts (instances of the class), they should be shown in a different
colour and style.
Entering numerical data for charts and diagrams to be done by using dialogs, tables, setting
mathematical formulas or random distributions of numbers.
1. Develop a class TGraph that builds a functional dependence (graph) of certain numerical data.
The interface should provide the possibility to change colour and style of a graph.
2. Develop a class TPointGraph that builds a dot (point-by-point) graph by specific numeric data.
The interface should provide the possibility to change markers (dots) of the graph.
3. Develop a class THistogram that builds a bar chart (histogram). The height of each bar is
proportional to some entered by a user numerical value.
4. Develop a class TBarHistogram that allows building a chart, which consists of a single bar, split
into rectangles, the lengths of which are proportional to user’s specified numerical values.
5. Develop a class TSector, which shows a pie chart as a circle, split into sectors, proportional to the
entered by user numerical values. Use different colours and fill styles. Develop labels to chart
sectors, which should show corresponding numerical values.
6. Develop a class TCircle to show a “doughnut” chart – a ring, split into sectors, proportional to the
entered by user numerical values. Use different colours and fill styles. Develop captions to the
chart sectors, which should show corresponding numerical values.
7. Develop a class TBubble that builds the bubble chart – a few circles, which radiuses are
proportional to the entered by a user numerical values. Use different colours and fill styles.
Develop captions for the circles, which should show corresponding numerical values.
8. Develop a class TPetal that builds a “radar” chart, where the data values are given on several
radial lines started from a single point. Develop captions for these lines, which should show
corresponding numerical values.
9. Develop a class TArrow that allows users to visualize a module and a direction of a vector.
Visually, a vector is shown as an arrow.
10. Develop a class TCylinder that allows you to build a cylindrical chart – several cylinders, whose
heights (or radiuses) are proportional to the entered numerical values. Use different colours and
fill styles. Develop captions to the cylinders that show corresponding numerical values.
11. Develop a class TCone that allows you to build a conical chart – a few cones, which heights are
proportional to the entered numerical values. Use different colours and fill styles. Develop labels
to the cones, which show corresponding numerical values.
12. Develop a class TPyramid that allows you to build a pyramidal chart; the heights of pyramids are
proportional to the entered by user numerical values. Use different colours and fill styles. Make
labels to the chart, which show corresponding numerical values.
13. Develop a class TColorGraph. An intensity of the grey colour of a screen pixel is proportional to
a given function from the screen coordinates x and y (such type of the chart is useful for physical
simulation; e.g. in such a way an intensity of distribution of an amplitude of a wave can be
modelled).
14. Develop a class TGraph, intended for plotting trigonometric functions like sin, cos, and tg.
Methods of TGraph should allow changing the location of the graph, its range, domain and scale.
15. Develop a class TGraph3d that builds three-dimensional graph of a function, e.g. z (x, y) =
100(cos (x y) + x sin (y). For it, build dependency z (x, y) at changing value of x and a constant
value of y, then slightly shift the origin down and to the left, increase value of y, and build the
dependency again. By repeating this procedure, you will gradually build 3D chart of the function
z(x, y).
Development visual components
Every task from the list below is the development of your own version of a Java visual component
(widget).