Elements of ILPanel

Each scene visualized by ILPanel is composed out of

  • an arbitrary number of graphs, all rendered inside a "universe"-cube and
  • three axes limiting and labeling the viewing range in each direction of the cartesian space.

The graph objects (ILGraph) are highly individual and may look very different depending on its type. Also each graph type introduces individual properties. ILGraph is therefore handled in its own section.

Axis objects: ILAxis

All three axis objects contained in an ILPanel control behave very similar. Each one has its own set of properties so they can be configured independently from each other. Nevertheless, the way they are rendered differs. The XAxis is responsible for axis lines along the viewing cube edges, which go along the X direction and for ticks, measuring along this axis. Also, grid lines corresponding to those ticks are assigned to this axis. In the following figure you see a common ILPanel with all 3 axis visible (left figure). The right figure shows the same surface plot (with much more transparency) - but only those elements, which correspond to the X-axis are visible.

full ILPanel
Common ILPanel showing all 3 axes
X axis only
Same plot, only X axis visible

Here comes the code snippet to reproduce those figures (without the marks in the right figure):

/*  needs following 'using' statements: 
 * 
 *  using ILNumerics;  
 *  using ILNumerics.BuiltInFunctions;
 *  using ILNumerics.Algorithms; 
 *  using ILNumerics.Drawing; 
 *  using ILNumerics.Drawing.Controls;
 *  using ILNumerics.Drawing.Graphs; 
 */
// create the panel, add to existing form
ILPanel panel = ILPanel.Create(); 
panel.SetBounds(100,100,600,500); 
Controls.Add(panel); 
// add + configure surface graph: LEFT FIGURE
ILArray<double> a = ILSpecialData.waterfall(59,70); 
ILSurfaceGraph surfgr = panel.Graphs.AddSurfGraph(a); 
surfgr.Wireframe.Visible = false; 
panel.BackgroundFilled = false; 

// RIGHT FIGURE:
surfgr.Opacity = 0.1f;  // transparency
panel.Axes.YAxis.Visible = false; // hide axis
panel.Axes.ZAxis.Visible = false;

ILAxis elements

The right figure above shows several different elements of ILAxis:

Mark No#NameDescription
Mark 1'Near' axis linesFor axis lines 'near' is the side of the cube, which appears closer to the camera. Therefore that side changes when the cube is rotated.
Mark 2Far axis lines.'Far' axis lines are drawn on the side of the cube, which is opposite to the 'near' lines (i.e. far away from the camera).
Mark 3Grid linesGrid lines corresponding to the ticks.
Mark 4Labeled ticksSmall ticks marking a point on the axis, having a label (number) next to it. 'Near' and 'far' ticks can get configured individually. In difference to the main axis lines, for ticks 'near' means the side of the cube, where the tick labels are drawn. When looking from top of the scene, this side will mostly be the one, which is nearest to the camera. However this situation is not fixed as one can see, by watching the scene from bottom.
Labels for ticksNumbers next to ticks, showing the numeric value for the tick position
Mark 5Axis labelDescriptive text about the meaning of the axis' data

Get more insight into those elements in the following subsections:


Valid CSS! Valid XHTML 1.0 Transitional