This page is optimized for mobile devices, if you would prefer the desktop version just click here

3.1 Java1489-plotting 3d surfaces using java  (Page 3/24)

Listings

  • Listing 1 . Beginning of the main method.
  • Listing 2 . A 3D parabolic surface,
  • Listing 3 . Display six surface images.
  • Listing 4 . Beginning of the ImgMod29 class.
  • Listing 5 . Establish display format for log conversion.
  • Listing 6 . Copy the input elevation data.
  • Listing 7 . Convert to log data if required
  • Listing 8 . Normalize the surface elevation data.
  • Listing 9 . The method named scaleTheSurfaceData.
  • Listing 10 . Create an appropriate pair of Canvas objects.
  • Listing 11 . Add the Canvas objects to the Frame.
  • Listing 12 . Register an anonymous WindowListener object.
  • Listing 13 . The method named getCenter.
  • Listing 14 . Beginning of the class named CanvasType0surface.
  • Listing 15 . Beginning of overridden paint method.
  • Listing 16 . Instantiate a Color object.
  • Listing 17 . Set colors and draw squares.
  • Listing 18 . Draw the optional red axes.
  • Listing 19 . Beginning of the class named CanvasType0scale .
  • Listing 20 . The overridden paint method.
  • Listing 21 . Beginning of the class named CanvasType1surface.
  • Listing 22 . Beginning of the overridden paint method.
  • Listing 23 . Set white and black for max and min values.
  • Listing 24 . Process elevations from 1 to 63 inclusive.
  • Listing 25 . Processing the other three ranges.
  • Listing 26 . The method named getColorPalette.
  • Listing 27 . Beginning of overridden paint method.
  • Listing 28 . Set the color value.
  • Listing 29 . Source code for ImgMod29.java.

General Discussion

Displaying 3D data can be fairly difficult

One of the more difficult aspects of engineering and scientific computing is displaying three-dimensional (3D) surfaces in ways that are meaningful to persons who need to view and to analyze those surfaces. The basic problem isthat it is necessary to display the 3D surface on a 2D media, such as a computer screen.

(At least that was true before the advent of 3D printers. However, as of October 2015, a 3D printer is not readily available for routine use by most people.)

Therefore, some compromise is always required.

Different approaches are available

Various approaches have been devised for accomplishing this objective including:

A 3D plotting program

I will provide and explain a program in this module that makes it very easy to display a 3D surface as a Grayscale plot, a Color Shift plot, or a ColorContour plot. The program supports six different plotting formats. Three of those plotting formats are illustrated in Figure 1 .

(The images shown in Figure 1 are different views of the wave-number spectrum resulting from performing a 2D Fourier Transform on a box in thespace domain. The use of 2D Fourier Transforms will be the main topic of a future module.)

Figure 1. 3D views of a wave-number spectrum.

Figure 1 shows the same 3D surface plotted using three different plotting formats. Going from left to right, Figure 1 shows:

  • Grayscale plot
  • Color Shift plot
  • Color Contour plot

Grayscale plot

The plot on the left in Figure 1 is the old standby method in which the elevation of each point on the surface is represented by a shade of gray withthe highest elevation being white and the lowest elevation being black.

<< Chapter < Page Page > Chapter >>

Read also:

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.
Jobilize.com uses cookies to ensure that you get the best experience. By continuing to use Jobilize.com web-site, you agree to the Terms of Use and Privacy Policy.