PortLab

Management of web portals dedicated to research projects

3D charts

This section gathers the PortLAB 3D visualisation tool (func3d) and its reference pages. The tool renders, in the browser via WebGL, analytic functions and numerical data of various kinds: surfaces, point clouds, vector fields, animated time series. This page is the introductory manual.

What it is

func3d is an interactive 3D scene editor aimed at research data: you compose one or more series (functions or datasets), control their appearance, colour and scales, and explore the scene with the mouse (orbit rotation, zoom, pan). Rendering uses three.js (WebGL) and stays fluid even with dense grids and thousands of points. Everything happens in the browser: no data leaves the page, except when using the administered datasets stored in the portal database.

Series types

TypeSourceDescription
Analytic surface function z = f(x, y) Predefined functions with adjustable parameters (Sinc, Gaussian, Rosenbrock, Ackley, Bessel J0...); closed surfaces (ellipsoid, torus, hyperboloid...) are drawn with their upper and lower branches.
Parametric surface function (u, v) → (x, y, z) Objects that cannot be expressed as z(x,y): spherical harmonics and hybrid orbitals, Möbius strip, knotted tori, Klein bottle, minimal surfaces (catenoid↔helicoid), surfaces of revolution; true proportions, colour by height or by the u/v parameter.
Parametric curve function t → (x, y, z) Curves that may pass over the same point of the plane more than once — a helix, a trefoil knot, a Lorenz trajectory — and that therefore no height field could represent. Colour follows the parameter t, which also shows the direction of travel; line thickness in real pixels.
Image plane image from the registry A textured rectangle on one of the three coordinate planes, movable along its own normal: it puts a photograph, a map or a scan next to the data, at the right height. Not to be confused with draping, which lays the image onto the surface.
Surface from data dataset (grid or scattered points) The data is made samplable by an interpolation method (11 methods: from nearest and IDW to RST, kriging and natural neighbour) and drawn as a continuous surface.
Point cloud rows [x, y, z, c] or [x, y, z, c₁, c₂] Each point carries a value c that sets its colour; with double encoding a second value c₂ sets its size.
Vector field (quiver) rows [x, y, z, u, v, w] 3D arrows with cone tips: length proportional to the magnitude, colour from the magnitude on the colormap, adjustable scale.
Time series frame-based dataset Grids or clouds evolving in time: frame slider, Play/Pause with adjustable speed and, for clouds, particle trails with fading tails.

Display options

Importing data

From the Import/Export panel you can load your own CSV/TSV data (from file or pasted from the clipboard): the parser autodetects the delimiter and the decimal separator (including Italian CSV with semicolons and decimal commas) and proposes a mapping of the columns onto the roles x, y, z, c, c₂, t, group, u, v, w. Depending on the chosen roles you get surfaces, clouds, vector fields or time series, possibly multiple ones (group column). Administered datasets, stored in the portal database, appear instead directly among the available series according to your profile (see Functions and data series).

Exporting and sharing

Data analysis

The analysis mode lets you read real values on the chart: a marker with snapping (vertex, barycentre, grid, locked direction), a tooltip on hover, highlighting of triangles and isocurves, a linked 2D section. The complete reference is in Data analysis.

Data administration

Built-in functions and datasets live in the code (versioned JavaScript files); administered datasets and managed functions (expressions written by the administrator directly in the func3d page) live in the database and are managed from the dedicated console (gest → database → func3d data): creation and editing of payloads, per-profile publication, enabling. Per-profile visibility also applies to file-based items. How to write new functions or datasets is explained in Functions and data series.

The pages of this section

Keywords: 3D charts, data visualisation, surfaces, point clouds, vector fields, Three.js, WebGL, manual

Moreno Comelli, CNR-IFAC, 2022-2026