Plot Superquadratic Surfaces

This is a pair of functions for plotting general superellipsoids and supertoroids

You are now following this Submission

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 (2026). Plot Superquadratic Surfaces (https://uk.mathworks.com/matlabcentral/fileexchange/58413-plot-superquadratic-surfaces), MATLAB Central File Exchange. Retrieved .

Acknowledgements

Inspired by: Controllable tight subplot

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0.0

Made dependency note

updated description layout
updated description
added FEX dependency and link to the archive