QtiPlot - Data Analysis and Scientific Visualisation

Try for free

Analytical Surfaces

3D parametric surfaces: two interlocking tori.

QtiPlot can display multiple surfaces in the same 3D plot window. This example shows two interlocking tori. Their parametric equations are given bellow, with u and v being defined in the interval [-π, π]. Download project file >>

X1(u,v)=cos(u)+.5*cos(u)*cos(v)
Y1(u,v)=sin(u)+.5*sin(u)*cos(v)
Z1(u,v)=.5*sin(v)
X2(u,v)=1+cos(u)+.5*cos(u)*cos(v)
Y2(u,v)=.5*sin(v)
Z2(u,v)=sin(u)+.5*sin(u)*cos(v)
A 3D parametric surface: a seashell.

The 3D parametric surface in this example is a seashell. It can be easily created in QtiPlot using the parametric equations bellow:

X(u,v)=(1-v/(2*pi))*sin(3*v)*(1+cos(u))+0.5*sin(3*v)

Y(u,v)=(1-v/(2*pi))*cos(3*v)*(1+cos(u))+0.5*cos(3*v)

Z(u,v)=6*v/(2*pi)+(1-v/(2*pi))*sin(u)

where u and v are defined in the interval [0, 2π]. Download project file >>

A Klein bottle is a non-orientable surface, which has no defined left and right.

QtiPlot can display very complicated 3D surfaces, like the Klein bottle. Its parametric equations are given bellow, with u being defined in the interval [0, 2π] and v in the interval [0, 4π]. Download project file >>

X(u,v)=v<2*pi?(2.5-1.5*cos(v))*cos(u):(v<3*pi?-2+(2+cos(u))*cos(v):-2+2*cos(v)-cos(u))

Y(u,v)=v<2*pi?(2.5-1.5*cos(v))*sin(u):sin(u)

Z(u,v)=v<pi?-2.5*sin(v):(v<2*pi?3*v-3*pi:(v<3*pi?(2+cos(u))*sin(v)+3*pi:-3*v+12*pi))
A 3D user defined function: F(x,y) = sin(x)*cos(x)*sin(y)*cos(y)/(x*y)

This example shows a user defined surface created by QtiPlot from the analytical function bellow:

F(x,y)=sin(x)*cos(x)*sin(y)*cos(y)/(x*y)

Wireframe Plots

A 3D wireframe plot.

Wireframe plots are relatively simple and fast to render and can be used in cases where a high screen frame rate is needed (for instance, when working with a particularly complex 3D data model).

A 3D wireframe plot with hidden lines.

QtiPlot can perform hidden-line removal on wireframe plots for a more realistic visualisation of 3D data.

3D Bars & Surfaces

Demo of a histogram for bidimensional data as a 3D bar chart.

A 3D bar chart is a type of graph that presents categorical data with rectangular bars with heights or lengths proportional to the values that they represent.

This example displays the histogram of some bidimensional data as a 3D bar chart.

A 3D surface rendered as color filled polygons.

A surface plot is like a wireframe plot, but each face of the wireframe is a filled polygon. QtiPlot uses OpenGL in order to achieve hardware-accelerated rendering of 3D surfaces as polygon meshes.

3D Vectors & Trajectory

3D Vectors Plot

QtiPlot can plot 3D vectors from two different data structures: XYZ XYZ and XYZ dXdYdZ.

The six XYZ XYZ data columns define the start and end points for the vectors, while XYZ dXdYdZ data columns provide the vector start points and the distances between the projections of the start and end points of the vectors on the three axes, X, Y and Z, respectively.

This YouTube video created using the animation feature provided by QtiPlot shows the magnetic emission from an iPhone. The plot consists of 1810 vectors.

3D Trajectory + Dots Plot

The 3D trajectory and dots plot is one of the most basic plot types. It consists of a line that unites the 3D points created from (x, y, z) data triples.

Adding a colormap to the scatter points can aid the perception of the Z coordinate of the data being visualised.