SDL Component Suite - Plot3D

The unit PLOT3D displays data as three-dimensional colored surfaces which can be rotated on-screen. The rotation of the data can be achieved either by mouse interaction or by using built-in methods of the class. The data can be viewed from any direction, and can be zoomed and panned. Looking at the surface from above creates a color contour plot. More details can be found in the online help pages.

The unit PLOT3D is part of the SDL Component Suite.

Tips, Tricks and Applications

Delphi Bits Rotatable 3D surface plot How to create a rotatable 3D surface plot with a minimum of efforts.
SDL TechNotes Plot3D Rotates upon Selection from Dialog How to cope with misguided mouse clicks.
DataLab Plot3D is used by DataLab If you want to experiment with a full-featured real-world application of Plot3D you may want to download the evaluation copy of DataLab. After installing it, load the data file "plot3d_dlab.asc" (command "File/Load/ASC Format...") and click the command "Visualization/3D Surface Plot". Although the evaluation copy is restricted to a maximum of 500 data points, you'll get a first impression (hint: try to change a few data points in the data editor).


Free Sample Programs

Plot3DHole This sample program shows how to create a 3D surface with holes in it (using the unit PLOT3D).
(231 kB)
Plotit3D Displays a three-dimensional color surface using the unit PLOT3D. The surface can be rotated interactively.
(299 kB)

What's new:

  • Release 12.0   [Dec-12, 2023]
    • implemented CopyToBitmap to create a copy of the surface as a bit map

  • Release 10.7   [Aug-24, 2020]
    • no changes

  • Release 10.6   [Mar-09, 2018]
    • no changes

  • Release 10.5   [Oct-10, 2016]
    • no changes

  • Release 10.4   [Jun-02, 2015]
    • the number of digits in the exponent of the scales has been reduced from 4 to 2

  • Release 10.3   [Oct-06, 2014]
    • VCL styles are now supported and coupled to the property StyleElements

  • Release 10.2   [May-30, 2013]
    • the ColorCodingMode has been extended to allow for arbitrary user defined color maps
    • the new public variable IsoColors allows to assign arbitrary color maps

  • Release 10.1   [Oct-29, 2012]
  • Release 10.0   [Oct-4, 2011]
    • bug fix: The component does no longer raise an exception if one of the axes is perpenticular to the viewing plane
    • bug fix: the method AutoScale now sets the Z scaling factor correctly

  • Release 9.7   [May-31, 2010]
  • Release 9.51   [Dec-01, 2008]
    • no changes

  • Release 9.5   [Oct-31, 2008]
    • no changes

  • Release 9.0   [May-28, 2007]
  • Release 8.5   [Feb-18, 2006]
  • Release 8.2   [Nov-03, 2004]
  • Release 8.1   [Aug-29, 2004]
    • available for Delphi™ 8 for .NET

  • Release 8.0   [Apr-15, 2004]
    • PrintIt and CopyToOpenPrinter implemented
    • CopyToWMF, CopyToBMP, CopyToClipBoard, and CopyToClipBoardWMF now allow to include or omit frame of component
    • bug fix: CopyToWMF and CopyToClipBoardWMF now create correct WMF output (no longer any clipping of graphics)

  • Release 7.2   [Mar-23, 2003]
    • PLOT3D is now part of ChartPack
    • rotation matrix is now available via array property RotMat

  • Release 7.0   [Sep-15, 2002]
    • available for Delphi™ 7.0
    • the unit is now CLX compatible
    • bounding box implemented (properties BoundBoxStyle, ColorCubeFrame, ColorCubeHidLin, ColorCubeFaceLow, ColorCubeFaceHigh)
    • scales implemented (properties DecPlaceX/Y/Z, MinTickX/Y/Z, RangeX/Y/ZLow, RangeX/Y/ZHigh, SetRange, VisibleX/Y/ZCoords)
    • method SetRange implemented
    • bug fix: SuppressPaint now works as expected

  • Release 6.5   [May-28, 2002]
    • available for C++Builder™ 6.0
    • SuppressPaint implemented
    • OnDataRendered implemented
    • ColorCodeAvg implemented
    • OnMouseMoveOverPlot implemented
    • OnBeforeRenderPolygon implemented
    • Repaint method now triggers Paint directly (without invalidation), allowing flickerless repaint operation

  • Release 6.0   [Aug-06, 2001]
    • Plot3D is now available to the public and included in the SDL Component Suite 6.0