Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Identify which polar curves are associated with the given equations
| ResourceFunction["PolarCurveIdentifier"][eq,{r,t}] returns the name of a polar curve that best describes the polar equation eq with radius variable r and angle variable t. | |
| ResourceFunction["PolarCurveIdentifier"][eq,{u,v},system] first converts eq with variables u and v from coordinate system system to polar coordinates. | |
| ResourceFunction["PolarCurveIdentifier"][{eq1,eq2,…},{r,t},system] returns a list of the names of polar curves corresponding to each equation eqi. | |
| ResourceFunction["PolarCurveIdentifier"]["CurveTypes"] returns a list of all the available curve names. | 
Identify that a fixed radius corresponds to a circle:
| In[1]:= | ![ResourceFunction["PolarCurveIdentifier"][r == 3, {r, t}]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/3ddd6096c5645a5d.png) | 
| Out[1]= |  | 
Identify that a fixed angle corresponds to a line:
| In[2]:= | ![ResourceFunction["PolarCurveIdentifier"][t == 3, {r, t}]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/5f5d8bb05a08823f.png) | 
| Out[2]= |  | 
Identify the polar curve with a radius of zero:
| In[3]:= | ![ResourceFunction["PolarCurveIdentifier"][r == 0, {r, t}]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/3e55eb3bac9bfc7a.png) | 
| Out[3]= |  | 
Return a list of all possible outputs:
| In[4]:= | ![ResourceFunction["PolarCurveIdentifier"]["CurveTypes"]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/5cfc167c65392bc9.png) | 
| Out[4]= |  | 
Multiple equations can be input as a list:
| In[5]:= | ![ResourceFunction[
 "PolarCurveIdentifier"][{r == Cos[2 t], 1/r == 3 t, r^2 == t^2}, {r, t}]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/10d0a428408aa5b7.png) | 
| Out[5]= |  | 
Some polar curves do not have known names:
| In[6]:= | ![ResourceFunction["PolarCurveIdentifier"][Tan[r] == t, {r, t}]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/0b014218a6b70582.png) | 
| Out[6]= |  | 
The MaxItems option determines the maximum number of names given for each curve. Find up to five families each for three curves:
| In[7]:= | ![ResourceFunction[
 "PolarCurveIdentifier"][{r == Cos[2 t], 1/r == 3 t, r^2 == t^2}, {r, t}, MaxItems -> 5]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/487e820db181ab80.png) | 
| Out[7]= |  | 
Find up to two families for a single curve:
| In[8]:= | ![ResourceFunction["PolarCurveIdentifier"][1/r == 3 t, {r, t}, MaxItems -> 2]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/06bcf89e4de46d7b.png) | 
| Out[8]= |  | 
Find all possible families:
| In[9]:= | ![ResourceFunction["PolarCurveIdentifier"][1/r == 3 t, {r, t}, MaxItems -> All]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/4766c06b50f3538c.png) | 
| Out[9]= |  | 
The starting coordinate system can be changed:
| In[10]:= | ![ResourceFunction[
 "PolarCurveIdentifier"][{x^2 + y^2 == 3}, {x, y}, "Cartesian"]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/68bc75b4020a5247.png) | 
| Out[10]= |  | 
| In[11]:= | ![ResourceFunction[
 "PolarCurveIdentifier"][{x + y == 3}, {x, y}, "Polar"]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/6bfe613b20cf772c.png) | 
| Out[11]= |  | 
Equations do not need to be solved for the radius before being identified:
| In[12]:= | ![ResourceFunction["PolarCurveIdentifier"][r == -Cos[3 t]^(1/3), {r, t}]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/663f56beea373b47.png) | 
| Out[12]= |  | 
| In[13]:= | ![ResourceFunction["PolarCurveIdentifier"][Cos[3 t] == -r^3, {r, t}]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/4d3fd31c5d15a15c.png) | 
| Out[13]= |  | 
For a family of equations, the visual difference in the respective curves is apparent:
| In[14]:= | ![ResourceFunction["PolarCurveIdentifier"][
   r == 1/(1 + # Cos[t]), {r, t}] & /@ {0, 1/2, 1, 3/2}](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/509e8bc0ab41cb75.png) | 
| Out[14]= |  | 
| In[15]:= | ![PolarPlot[1/(1 + # Cos[t]), {t, 0, 2 \[Pi]}, AspectRatio -> 1, Exclusions -> All] & /@ {0, 1/2, 1, 3/2}](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/18ba36d3a799f023.png) | 
| Out[15]= |  | 
If variables appear other than those specified, the function is left unevaluated:
| In[16]:= | ![ResourceFunction["PolarCurveIdentifier"][c == a*t, {a, t}]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/0db83bd355854376.png) | 
| Out[16]= |  | 
Equations must be given as an equality:
| In[17]:= | ![ResourceFunction["PolarCurveIdentifier"][1, {r, t}]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/40092583b29bcec0.png) | 
| Out[17]= |  | 
Improper MaxItems values will cause the function to return unevaluated:
| In[18]:= | ![ResourceFunction["PolarCurveIdentifier"][r == 2, {r, t}, MaxItems -> "Meow"]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/6818ebaede4398d1.png) | 
| Out[18]= |  | 
Multiple curve types intersect simultaneously:
| In[19]:= | ![ResourceFunction["PolarCurveIdentifier"][
 r == 2 Sqrt[Cos[2 t]], {r, t}, MaxItems -> All]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/7ce5e5bb171280dc.png) | 
| Out[19]= |  | 
Some curves have different subtypes:
| In[20]:= | ![ResourceFunction["PolarCurveIdentifier"][
   r == # + Cos[t], {r, t}] & /@ {2, 3/2, 1/2}](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/610878cf06de806c.png) | 
| Out[20]= |  | 
| In[21]:= | ![ResourceFunction[
 "PolarCurveIdentifier"][{r == 4 Cos[t] Sin[t]^2 - 2 Cos[t], r == 4 Cos[t] Sin[t]^2, r == Cos[t] (4 Sin[t]^2 - 1)}, {r, t}]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/50b4da5c3dddfc8a.png) | 
| Out[21]= |  | 
There are several ways to express Cotes' Spiral:
| In[22]:= | ![ResourceFunction[
 "PolarCurveIdentifier"][{r == 3 Sec[2 t], r == 3 Sech[2 t], r == 3/t}, {r, t}, MaxItems -> All]](https://www.wolframcloud.com/obj/resourcesystem/images/02d/02daf483-3d5b-4b31-8509-32a53eb7207b/09b6dd328df1f6cd.png) | 
| Out[22]= |  | 
This work is licensed under a Creative Commons Attribution 4.0 International License