<< Chapter < Page | Chapter >> Page > |
How do you use the class?
All that's necessary to use this class to plot your own 3D surfaces is to copy and compile the source code in Listing 29 near the end of this module. Then include a statement similar to the following in your program:
new ImgMod29(data,blockSize,true,0);
The 3D surface data to be plotted
The parameter named data in the above statement is a reference to a 2D array of type double that contains the sampled elevation values of the surface to be plotted.
The granularity of the plot
The second parameter named blockSize specifies the size of one side of a square array of colored pixels in the final plot that willrepresent each elevation point on your 3D surface. Set this to 0 if you are unsure as to what size square you need.
(If you look very carefully, you may be able to see a small white square at the center of the middle image in Figure 1 . This is a nine-pixel square produced by a blockSize value of 3.)
The optional axes
The third parameter specifies whether or not you want to have optional axes drawn on the plot. (See Figure 3 for examples of plots with and without the axes.) A parameter value of true causes the axes to be drawn. A value of false causes the axes to be omitted.
The plotting format
The fourth parameter is an integer that specifies the plotting format as follows:
If you are unsure as to which format would be best for your application, just start with a value of 0. Then try all six formats to see which one worksbest for you.
Extremely simple to use
The class couldn't be simpler to use.
(Your three-minute learning curve has expired. You now know how to use the class to incorporate 3D surface plotting in your Java programs.)
Will use in subsequent modules
This 3D plotting class will be used in numerous future modules involving such complex topics as the use of the 2D Fourier Transform to process images.
If you arrived at this page seeking a free Java program for plotting your 3D surfaces, you are in luck. Just copy the source code for the class in Listing 29 and feel free to use it as described above.
On the other hand, if you would like to learn how the class does what it does, and perhaps use your programming skills to improve it, keep reading.Hopefully, once you have finished the module, you will have learned quite a lot about plotting 3D surfaces using color in Java.
I recommend that you open another copy of this module in a separate browser window and use the following links to easily find and view the Figuresand Listings while you are reading about them.
Notification Switch
Would you like to follow the 'Digital signal processing - dsp' conversation and receive update notifications?