<< Chapter < Page
  Digital signal processing - dsp     Page 2 / 24
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:

  • 0 - Grayscale (linear, top-left image in Figure 2 )
  • 1 - Color Shift (linear, top-center image in Figure 2 )
  • 2 - Color Contour (linear, top-right image in Figure 2 )
  • 3 - Grayscale with logarithmic data conversion (bottom-left image in Figure 2 )
  • 4 - Color Shift with logarithmic data conversion (bottom-center image in Figure 2 )
  • 5 - Color Contour with logarithmic data conversion (bottom-right image in Figure 2 )

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.

Viewing tip

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.

Figures

  • Figure 1 . 3D views of a wave-number spectrum.
  • Figure 2 . Sample output with logarithmic flattening.
  • Figure 3 . Program output in self-test mode.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Digital signal processing - dsp. OpenStax CNX. Jan 06, 2016 Download for free at https://legacy.cnx.org/content/col11642/1.38
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Digital signal processing - dsp' conversation and receive update notifications?

Ask