A powerful 3D mathematical surface visualization tool with advanced analysis and export capabilities.
- Interactive 3D Surface Plotting - Visualize mathematical functions z = f(x, y)
- Multiple Equations - Plot multiple surfaces simultaneously with different colors
- Real-time Updates - See changes as you type
- Function Keyboard - Quick access to common mathematical functions
- Smart Autocomplete - Intelligent function suggestions
- Add unlimited equations using the
+button - Color-coded surfaces for easy identification
- Toggle visibility by clicking the color indicator
- Delete equations with the X button
- Active equation highlighting
Quick insert buttons for:
- โ (square root)
- xยฒ, xยณ, xโฟ (powers)
- sin, cos, tan (trigonometry)
- eหฃ, ln (exponential and logarithm)
- |x| (absolute value)
- ฯ, e (constants)
- Domain Range: Set X and Y bounds (-10 to 10 by default)
- Resolution: Adjust mesh density (20-100 points)
- View Controls: Reset camera, toggle grid, toggle axes
Pre-loaded beautiful surfaces:
- Ripple Wave:
sin(โ(xยฒ+yยฒ)) - Paraboloid:
xยฒ+yยฒ - Saddle:
xยฒ-yยฒ - Wave Grid:
sin(x)cos(y) - Gaussian:
exp(-(xยฒ+yยฒ)) - Mexican Hat:
cos(โ(xยฒ+yยฒ))/(1+0.1(xยฒ+yยฒ))
- Critical Points: Automatically find and mark local minima (blue) and maxima (red)
- Contour Lines: Visualize level curves (planned feature)
- Normal Vectors: Display surface normals as yellow arrows
- Statistics:
- Surface Area (approximate)
- Volume Under Surface
- Min/Max Z-Value range
-
Rendering Modes:
- Solid: Standard filled surface
- Wireframe: Grid mesh only
- Points: Point cloud
- Solid + Wireframe: Combined view
-
Color Mapping:
- Solid Color: Use equation color
- Height Gradient: Darker to lighter by height
- Rainbow Gradient: Full spectrum coloring
- Cool-Warm: Blue (low) to red (high)
-
Material Properties:
- Opacity: 10-100% transparency
- Shininess: 0-100 specular reflection
- Smooth/Flat Shading toggle
- Auto-Rotate Camera: Automatic orbiting view
- Rotation Speed: Adjustable 0.2x to 2x
- Surface Animations:
- Wave Motion: Vertical oscillation
- Pulse: Scaling effect
- Morph: Rotation animation
- Enter X,Y coordinates to calculate Z value
- Visual marker on surface (green sphere)
- Real-time calculation
- Shows "Undefined" for invalid points
- Screenshot (PNG): High-quality image of current view
- 3D Model (STL): Export for 3D printing or CAD software
- Data (CSV): Export all surface points as spreadsheet
- Equations (JSON): Save equations and settings to reload later
Quick view angles:
- Front, Back, Top, Bottom, Left, Right views
- Isometric (3D diagonal view)
sin(x),cos(x),tan(x)- Trigonometricasin(x),acos(x),atan(x)- Inverse trigonometricsqrt(x)orโ(x)- Square rootexp(x)- Exponential (eหฃ)ln(x)orlog(x)- Natural logarithmabs(x)- Absolute value
+,-,*,/- Basic arithmetic^- Power (e.g.,x^2,x^y)- Implicit multiplication:
2x,xy,3sin(x)
ฯorpi- Pi (3.14159...)e- Euler's number (2.71828...)
x- X coordinate (horizontal)y- Y coordinate (depth)- Result is
z- Height value
x^2 + y^2 (Paraboloid)
x^2 - y^2 (Saddle/Hyperbolic Paraboloid)
x*y (Twisted plane)
โ(x^2 + y^2) (Cone)
sin(x) (Sine wave)
sin(x) * cos(y) (Wave grid)
sin(โ(x^2 + y^2)) (Ripple from center)
cos(x) + sin(y) (Combined waves)
exp(-(x^2 + y^2)) (Gaussian bell curve)
sin(x^2 + y^2) / (x^2 + y^2) (Sinc function)
cos(โ(x^2 + y^2)) / (1 + 0.1*(x^2+y^2)) (Mexican hat)
โ(25 - x^2 - y^2) (Hemisphere)
sin(x) + cos(y) (Egg carton)
abs(sin(x)) * abs(cos(y)) (Pyramid grid)
x^2 * y^2 / (x^2 + y^2) (Star shape)
sin(5*x) * cos(5*y) / 5 (High frequency grid)
- Drag: Rotate camera around origin
- Shift + Drag: Pan camera (move view)
- Scroll: Zoom in/out
- Enter: Plot/update current equation
- Tab: Accept autocomplete suggestion
- โ/โ: Navigate autocomplete suggestions
- Esc: Close autocomplete
Problem: Red border and error message below equation input
Solutions:
- Check for unmatched parentheses:
sin(xโ โsin(x)โ - Use proper function names:
sine(x)โ โsin(x)โ - Include multiplication:
2xโ or2*xโ - Avoid division by zero: Use domain limits to exclude problem areas
Problem: Equation accepted but no surface appears
Solutions:
- Check if surface is visible (color indicator not faded)
- Verify domain range includes valid points
- Expression might be undefined in current domain
- Try resetting camera view (Settings โ Reset View)
Problem: Critical points, normals not showing
Solutions:
- Make sure an equation is selected (click on equation card)
- Ensure surface is already plotted
- Uncheck and recheck the option
- Some features need higher resolution for better results
Problem: Export buttons don't work
Solutions:
- Make sure at least one surface is plotted
- Check browser allows downloads
- For STL/CSV: Surface must be successfully rendered
- Screenshot requires WebGL support
Problem: Slow rendering, lag
Solutions:
- Lower resolution (Settings โ Resolution slider)
- Reduce number of surfaces
- Disable normal vectors display (many arrows = slow)
- Turn off auto-rotate during editing
- Use simpler equations
- Start Simple: Begin with basic equations like
x^2 + y^2before complex ones - Use Presets: Click presets to see well-crafted examples
- Adjust Domain: Change X/Y ranges to focus on interesting regions
- Compare Surfaces: Plot multiple equations to compare shapes
- Export Often: Save your work as JSON to reload later
- Resolution Balance: Higher resolution = more detail but slower
- Color Mapping: Try "Height Gradient" for better depth perception
- Camera Presets: Use Top view to see contours clearly
- Analysis First: Use "Analyze Active Surface" before exploring critical points
- Keyboard Shortcuts: Use function keyboard for faster equation entry
- Three.js (r128) - 3D rendering engine
- Vanilla JavaScript - No framework dependencies
- CSS3 - Modern styling with animations
- HTML5 Canvas - WebGL rendering target
- Modern browser with WebGL support
- Recommended: Chrome, Firefox, Edge, Safari (latest)
- Minimum 2GB RAM for complex surfaces
- Decent GPU for smooth rendering
- Resolution of 50 = 2,601 vertices per surface
- Resolution of 100 = 10,201 vertices per surface
- Multiple surfaces multiply vertex count
- Normal vectors add ~100-200 arrows (performance impact)
- Current viewport as high-resolution image
- Preserves canvas quality
- Transparent background not supported
- ASCII STL format
- Compatible with 3D printers, Blender, etc.
- Includes all visible surfaces
- Unit scale: 1 unit = 1 in domain space
- Comma-separated values
- Columns: Equation, X, Y, Z
- All vertices from all surfaces
- Import to Excel, MATLAB, Python, etc.
- Save complete state
- Includes all equations, colors, settings
- Load in text editor to modify
- Future: Import back into app (planned)
Q: Can I save my work?
A: Yes! Use Export โ Equations (JSON) to save all equations and settings.
Q: How do I share a surface?
A: Export as Screenshot or STL, then share the file.
Q: What's the maximum number of equations?
A: No hard limit, but 5-10 is recommended for performance.
Q: Can I animate parameter values?
A: Not yet, but you can use the Animation panel for rotation and effects.
Q: Why is my surface jagged?
A: Increase resolution in Settings, or enable Smooth Shading in Visualization.
Q: Can I use this offline?
A: Yes! Download all files and open index.html locally.
Q: Is there a mobile version?
A: The interface is responsive, but touch controls are limited. Best on desktop.
Q: How accurate are the analysis results?
A: Approximate! Surface area uses triangulation, volume uses Riemann sums.
| Key | Action |
|---|---|
| Enter | Plot equation |
| Tab | Accept autocomplete |
| โ/โ | Navigate suggestions |
| Esc | Close autocomplete |
| Shift + Drag | Pan camera |
Default equation colors cycle through:
- Indigo (#6366f1)
- Pink (#ec4899)
- Purple (#8b5cf6)
- Green (#10b981)
- Orange (#f59e0b)
- Cyan (#06b6d4)
- Red (#ef4444)
- Lime (#84cc16)
- Deep Orange (#f97316)
- Violet (#a855f7)
For issues or questions:
- Check this README first
- Try the Troubleshooting section
- Review example equations
- Check browser console for errors (F12)
Version: 2.0
Last Updated: 2024
License: MIT (modify and share freely)
Enjoy exploring mathematical surfaces! ๐๐