Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Plot a quadric surface, automatically determining the regions of interest, view direction and scaling
ResourceFunction["QuadricPlot3D"][poly] plots the quadric surface given by poly==0. | |
ResourceFunction["QuadricPlot3D"][poly1==poly2] plots the quadric surface given by poly1==poly2. | |
ResourceFunction["QuadricPlot3D"][poly,"ShowCode"] returns the code used to create the plot, wrapped in Hold. |
A hyperboloid of one sheet:
In[1]:= |
Out[1]= |
A hyperboloid of two sheets, entered in equation form:
In[2]:= |
Out[2]= |
Return the code used to create an ellipsoid plot:
In[3]:= |
Out[3]= |
Now deploy that code:
In[4]:= |
Out[4]= |
Plot a paraboloid:
In[5]:= |
Out[5]= |
QuadricPlot3D handles degenerate quadrics.
Plot a cone:
In[6]:= |
Out[6]= |
Plot a pair of intersecting planes:
In[7]:= |
Out[7]= |
These are intersecting planes because the polynomial factors:
In[8]:= |
Out[8]= |
Plot a parabolic cylinder:
In[9]:= |
Out[9]= |
Plot some "random" quadrics:
In[10]:= |
In[11]:= |
In[12]:= |
Out[12]= |
QuadricPlot3D will return unevaluated if the argument is not discernibly a polynomial of total degree 2 in three variables:
In[13]:= |
Out[13]= |
For some quadrics, e.g. "thin" hyperboloids of one sheet, QuadricPlot3D may show a view that obscures a part of the saddle:
In[14]:= |
Out[14]= |
One can get different views simply by rotating using the mouse:
3D graphic objects can be large:
In[15]:= |
Out[15]= |
In[16]:= |
Out[16]= |
One can reduce this considerably by rasterizing the 3D graphic object:
In[17]:= |
Out[17]= |
There is good fidelity in the rasterized image (though it can no longer be rotated):
In[18]:= |
Out[18]= |
In[19]:= |
Out[19]= |
Wolfram Language 11.3 (March 2018) or above
This work is licensed under a Creative Commons Attribution 4.0 International License