Interactive surface 3D
Sampled mathematical surfaces for seeing peaks, valleys, and overall shape across two inputs.
- Purpose
- Explore a sampled surface over two inputs and one output.
- Use when
- Overall shape, peaks, and valleys matter more than a single exact sample.
- Avoid when
- Users need to compare individual values or cannot use a three-dimensional view.
- Equivalent data
- Formula, domains, sample count, and downloadable CSV expose the full dataset.
Exact surface data
Formula: y = i / 60, x = j / 60, z = sin(x × π) × sin(y × π), with i and j from -60 through 59
14400 ordered points. X domain [-1, 0.9833333333333333]; Y domain [-1, 0.9833333333333333]; Z domain [-1, 1].
Download all exact points as CSVExact surface data
Formula: y = i / 10, x = j / 10, z = sin(x² + y²) × x / π, with i and j from -30 through 29
3600 ordered points. X domain [-3, 2.9]; Y domain [-3, 2.9]; Z domain [-0.9437987534484451, 0.954325476238276].
Download all exact points as CSV@interactive.Surface3D(interactive.Surface3DConfig{
Label: "Mathematical surface",
Series: []interactive.Surface3DSeries{{
Name: "surface",
Points: []interactive.Point3D{{X: -1, Y: -1, Z: 0}, {X: 0, Y: -1, Z: 0}},
}},
VisualRange: &interactive.Surface3DVisualRange{
Min: -3, Max: 3, Calculable: interactive.Bool(true),
Palette: interactive.Surface3DPaletteColdToWarm,
},
DataSummary: interactive.Surface3DDataSummary{
Formula: "z = sin(x × π) × sin(y × π)",
},
})Surface variants
Compare the examples as distinct sampled surfaces. Their formulas and domains identify what changes.
Go API
v0.0.1The examples above cover behavior and composition. pkg.go.dev is the canonical reference for exported types, functions, methods, and Go documentation.
github.com/araihu/goshtoso-charts/components/interactiveEnabled, disabled, hidden, and omitted wrapper behavior, controls, export, and client transitions are shared by every chart. Review chart controls, then compare static/vector and interactive capabilities.