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 (2024). 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!
Version Published Release Notes

Made dependency note

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