Plot Superquadratic Surfaces

version (502 KB) by DGM
This is a pair of functions for plotting general superellipsoids and supertoroids


Updated 9 Jun 2018

View License

Much like SPHERE(), ELLIPSOID(), or SUPERQUAD(), these functions calculate and return the matrices required to plot a general superellipsoid or supertoroid using MESH() or SURF().
Unlike SUPERQUAD(), SUPERELLIPSOID() calculates the general form
with fully independent axis orders. i.e.:
((X-Cx) / Rx)^Px + ((Y-Cy) / Ry)^Py + ((Z-Cz) / Rz)^Pz = 1
For convenience, both functions accept parameters as vectors or as scalars with implicit expansion.
As with the built-in functions, the number of points can be set.
The default value for N is 50.
If no outputs are specified, a new surf plot will be created.
Display axes can be specified if the first argument is an axes handle.
A demo file is included (demo file uses subplot_tight from the FEX)

Cite As

DGM (2022). Plot Superquadratic Surfaces (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: Controllable tight subplot

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!