Given a surface $f(x,y,z)=0$, how could you determine that it's symmetric about some plane, and, if so, how would you find this plane.

The special case where $f$ is a polynomial is of some interest.

The question is somewhat related to this one: How to identify surfaces of revolution

Here's a simple 2D example to experiment with: $$ 27 x^3 + 108 x^2 y + 144 x y^2 + 64 y^3 - 80 x^2 + 120 x y - 45 y^2 - 200 x + 150 y - 125 = 0$$ This one is symmetric, as the following picture suggests:


In fact, if we do the translation/rotation described by the substitution $u = \tfrac15(3x+4y)$, $v = \tfrac15(4x−3y) + 1$, then the curve is just $u^3 - v^2 = 0$, which is obviously symmetric about the line $v=0$.

But how would you discover this translation/rotation if I didn't tell you, and how would you do similar things in the 3D surface case?

Added after a few days of thought:

We can consider the surface as an object made of thin sheet metal. As such, it has a center of mass, provided it's bounded, and any plane(s) of symmetry must pass though this center of mass. The plane then has only two remained degrees of freedom, so may be easier to find.

The same sort of reasoning applies in the case of a bounded 2D curve. Again, any line of symmetry must pass through the curve's centroid, so it has only one remaining degree of freedom, namely its slope/angle.

For curves and surfaces given by implicit equations, I don't really know how to calculate centroids, but I expect this can be done.

Fabricated from Comments Below:

Several people suggested looking at highest-degree terms only. So, in my example, we just look at the equation $$ 27 x^3 + 108 x^2 y + 144 x y^2 + 64 y^3 = 0 $$ Putting $w = y/x$, this is roughly equivalent to $$ 64w^3 + 144w^2 + 108 w + 27 = 0 $$ But the polynomial on the left is just $(4w + 3)^3$, so we have a root $w = -3/4$, with multiplicity three. Is the repeated root an accident that happens only in this case, or will it always happen?? Anyway, the vector $(-4,3)$ gives us the normal to the line of symmetry, and that surely can not be an accident.

I don't really understand why this magic process works, but it looks very promising for the 2D curve case.

I don't know how to generalize to the 3D surface case, or to non-polynomial cases.

  • 40,254
  • 3
  • 55
  • 107
  • 1
    For a polynomial, taking the Laplacian reduces the order but can only increase the symmetry. Eventually the order reduces to 1 or 2, both of which cases are easy. This gives you some candidate symmetries. Maybe we can make an algorithm from this approach? – apt1002 Dec 05 '13 at 02:26
  • 1
    In this case we get $162x+216y+288x+384y-160-90=0$ which simplifies to $50(9x+12y-5)=0$, so a candidate plane is $9x+12y-5=0$. – apt1002 Dec 05 '13 at 02:35
  • Do you mean a plane just like a mirror? – Shuchang Dec 05 '13 at 02:36
  • @Shuchang -- yes, a mirror; a plane of symmetry. – bubba Dec 05 '13 at 02:40
  • Suppose there is a plane $ax+by+cz+1=0$ about which the surface $f(x,y,z) = 0 $ is symmetric . Now take a point $(x_0,y_0,z_0)$ which satisfies the equation of the parametric curve . Take the reflection of this point about the plane , you will get a point in terms of $a,b,c,x_0,y_0,z_0$ . This point should also satisfy the equation of the surface – abkds Dec 05 '13 at 02:56
  • 1
    @apt1002 -- Good progress. Thanks. The plane of symmetry is actually $4x - 3y +5=0$, according to my calculations. This is perpendicular to the plane you gave. I checked your computation of the Laplacian, and it seems to be correct. – bubba Dec 05 '13 at 03:11
  • @Trafalgar -- Thanks for your suggestion. But if you work through the details, I think you will see that it doesn't work. Or, if you find that it does work, write it up as an answer, and I will accept it. – bubba Dec 05 '13 at 03:15
  • Ah yes, of course! A plane has many plane symmetries other than itself. – apt1002 Dec 05 '13 at 03:25
  • 1
    It seems that the hard part is to find a rotation matrix that brings the symmetry plane parallel to axes. For this, only the terms of the polynomial of maximal degree are relevant. To see this consider very large $x$ and/or $y$. – apt1002 Dec 05 '13 at 03:51
  • If the polynom is of degree two, you turn it into a matrix and compute its eigenvectors in order to find the orientation of the quadric in space. I would assume that every general concept would have to contain this as a special case. Is there a generalization of eigenvectors to tensors of order higher than two? – MvG Dec 05 '13 at 07:46
  • @bubba you are right . I tried my method but seems like it becomes a complete mess , although this fact can still be used to get at least one equation – abkds Dec 05 '13 at 09:20
  • @MvG -- yes, the case of a degree 2 polynomial is easy. But I don't know how to generalize. – bubba Dec 05 '13 at 12:32
  • $27x^3+108x^2y+144xy^2+64y^3-80x^2+120xy-45y^2-200x+150y-125 = 125(u^3-w^2)$ with $5u=3x+4y$ and $5w=4x-3y+5$ –  Dec 10 '13 at 16:59
  • 1
    @apt1002: That's a good idea. We can take only the highest-order terms and then, at least in 2D, replace $x$ and $y$ with $\cos\theta$ and $\sin\theta$ to get a function $g(\theta)$. [The value of $\theta$ about which $g$ is symmetric is the only possible direction of the symmetry axis.](http://wolfr.am/1gnjrgd) (Note that $2\tan^{-1}(1/2) = \tan^{-1}(4/3)$.) –  Dec 11 '13 at 00:51
  • @Leonhard -- Thanks. I know that. That's how I created the example. What I want is a general process or algorithm, not just something for this particular case. Perhaps whatever you use can be generalized?? – bubba Dec 11 '13 at 12:48
  • @Rahul -- I would expect the 2D problem (i.e. the 2D case) to be quite a bit easier because it has very few degrees of freedom, of which the rotation angle is probably the most important. – bubba Dec 11 '13 at 12:53
  • 1
    @Rahul -- Your process seems to work, but I'm having trouble understanding why. What's the geometric reasoning behind the trig substitution, and how does symmetry relate to maximization?? Intriguing. – bubba Dec 11 '13 at 13:14
  • I had the same idea as @Rahul. The missing steps are: put $x = R\cos(\theta)$ and $y = R\sin(\theta)$, then divide through by $R^n$ where $n$ is the order of $f$, assumed a polynomial, and then let $R$ tend to infinity. The result is a translation-invariant function that captures the large-scale behaviour of $f$. If $f$ has symmetries, then its large-scale behaviour must too. – apt1002 Dec 12 '13 at 05:09
  • The problem is, finding the symmetries of a function $g$ of $\theta$ is no easier than finding the symmetries of $f$. The following is my best effort. Note that $g$ can be expanded as a Fourier series, and that only frequencies up to $n$ are required. Using the Fourier method, we can convolve $g$ with its reflection. If $\theta_0$ is a symmetry direction, then $2\theta_0$ will be a maximum of the convolution. However, there's no obvious non-numerical way to find the maximum, and I cannot see how to generalise this to higher dimensions. – apt1002 Dec 12 '13 at 05:18
  • Does the center of mass idea hold up if the surface is not compact? What is the center of mass if the surface itself is a plane? – 2'5 9'2 Dec 13 '13 at 07:18
  • @alex -- I don't know if the centroid idea works for unbounded surfaces. Possibly the integrals involved just work, somehow. Possibly some limiting process is needed. As I mentioned, I'm not sure how to calculate centroids from implicit equations, anyway, even given compactness. – bubba Dec 13 '13 at 08:53
  • @Blue -- Thanks. Sounds good. And presumably some simple change of variables will make our given polynomial homogeneous. Now, how to extend to 3D ?? – bubba Dec 14 '13 at 02:11
  • @Rahul -- In your graph of the function $g(\theta)$, I see that there are double zeros. I wonder if this has any significance – bubba Dec 14 '13 at 02:41

2 Answers2


Here is an answer to this question in the case of compact surfaces (without boundary); maybe these ideas can be used in the general case as well. Let $F$ be a compact surface in $R^3$, bounding a solid $S$. In the setting you are interested in, one will probably have $F=\{x: f(x)=c\}$ and $S=\{x: f(x)\le c\}$. I will also assume that $f$ is a polynomial (I do not think it is really necessary, but I use this assumption to detect surfaces of revolution).

The solid $S$ then has a Loewner-Jones ellipsoid, which is the unique ellipsoid $E$ of the least volume containing $F$ (in fact, every compact in $R^n$ with not contained in a hyperplane has such ellipsoid). This ellipsoid is also known as Jones ellipsoid and least volume ellipsoid. It was discovered by Loewner and then rediscovered by Jones, if I remember correctly. People also use the largest volume ellipsoid contained in $S$, that one will also work.

The key is that, in view of uniqueness of $E$, every symmetry of $F$ is also a symmetry of $E$. There is a vast literature in the computational math community describing various algorithms for finding $E$, here is just a random paper on this subject which I found by googling. Now, suppose you are lucky and your ellipsoid has distinct (beyond the margin of error in the algorithm you would be using) principal axes. Then $E$ has exactly 3 planes of symmetry which pass through its center $C$ and pairs of axes. Then you test if symmetries in these planes preserve $S$.

Now, suppose you are unlucky and $E$ has a rotational symmetry in its axis $A$ (but is not the sphere). By intersecting $S$ with the plane $P$ orthogonal to $A$, we now get a 2-dimensional problem: Given a (closed and bounded) curve $\Gamma$ in the plane and a center $C$, determine if $\Gamma$ has a reflection symmetry in a line $L$ (through $C$). This is relatively easy since each point of intersection of $\Gamma$ with $L$ is a critical point of the distance function from $C$, so you can find such points using Lagrange multipliers and then check if any of the corresponding symmetries preserve $F$. This method will fail if $\Gamma$ is a circle. Instead of intersecting $F$ with planes passing through $C$, we can use other planes $P_k$ orthogonal to $L$. Now, if too many (comparing to the degree of $f$) of these intersections with $F$ are circles, then $F$ is a surface of revolution with the axis $A$. (I think, it should follow from Bezout theorem, but this has to be checked.) In this case, of course, any plane through $A$ will work.

The remaining case when $E$ is a sphere is similar to the circular case in one dimension lower, you would be then looking for critical points of the distance function from the origin.

Remark: The argument with Lowener-Jones ellipsoid should also handle your second question, about surfaces of revolution, in the bounded case.

Moishe Kohan
  • 83,864
  • 5
  • 97
  • 192
  • Thanks for your answer. I haven't fully absorbed it, yet, but a comment ... Your basic idea (as I understand it so far) is to replace the surface or its related solid with an ellipsoid, and focus on the planes/axes of symmetry of this ellipsoid. This seems reasonable. But I wonder if we can use the ellipsoid of inertia, instead of the Loewner-Jones ellipsoid. This might be easier to obtain, and would give a connection with eigenvalues and principal axes, which (I suspect) are the keys to questions about symmetry. – bubba Dec 13 '13 at 06:08
  • @bubba: Yes, any canonical ellipsoid would work, I just happened to know L-J better. – Moishe Kohan Dec 13 '13 at 14:55
  • There a connection with the special case of quadrics. For an ellipsoid (the only compact quadric?) the ellipsoid of inertia **is** the ellipsoid itself. I suppose the same is true for the L-J ellipsoid. – bubba Dec 14 '13 at 02:14
  • @bubba: Yes, the same is true for L-J ellipsoid (for obvious reason). Yes, ellipsoid is the only compact quadric. – Moishe Kohan Dec 14 '13 at 08:13
  • I gave you the bounty, but this still doesn't feel like the "right" answer, to me, so I didn't accept. I think a better answer could come from the approach mentioned in the comments by apt1002, Rahul Nahrain, and Blue. I tried to summarize their ideas in a few paragraphs I added at the end of the question, but it's still very foggy, for me. Thanks again for your efforts. – bubba Dec 15 '13 at 06:12
  • @bubba: My guess is that in the polynomial case there should be an algebraic solution using commutative algebra (Grobner bases and other things I do not know much about). You may want to ask this at mathoverflow, adding algebraic geometry and commutative algebra as tags. – Moishe Kohan Dec 15 '13 at 10:57

Here's a stab at it. You can translate your question into whether or not a system of certain polynomial equations has a real solution.

A generic rotation can be described by choosing an axis using two angles in spherical coordinates, and then choosing a third angle to rotate by. The matrix for such a rotation has entries that are quartic polynomials in six variables that represent the sines and cosines of the three angles.

If your surface has a plane of symmetry, then for the right choice of these three angles, followed by a translation in the $z$-axis direction, you should be left with a polynomial that has only even powers of $z$.

If you give names to the seven unknowns (six trig values and one translation value), and apply the generic rotation and translation to the defining equation of the surface, then we can isolate the coefficients of $z,xz,yz,x^2z,z^3,z^5,$ etc. and see if we can solve for them all simultaneously being $0$. We already have three quadratic relations on the six trig variables. If we get equations in the seven unknowns corresponding to $z,xz,yz,x^2z,z^3,z^5$, etc (there will only be finitely many) then we have a system of polynomial equations in seven unknowns.

Such a system is consistent/inconsistent in $\mathbb{C}$ according to whether certain algebraic conditions are met on the equations by Hilbert's nullstellensatz. I think a CAS would be able to determine the nullstellensatz criterion, but I would consult an expert. I'm not sure what can be done about $\mathbb{R}$.

In 2D with your example, it would go like this, using $c=\cos\theta$, $s=\sin\theta$, and $a$ for the translation variable in the $y$-direction:

$$27 x^3 + 108 x^2 y + 144 x y^2 + 64 y^3 - 80 x^2 + 120 x y - 45 y^2 - 200 x + 150 y - 125 = 0$$

Apply rotation, followed by translation:

$$27(xc+(y+a)s)^3 +108 (xc+(y+a)s)^2(xs-(y+a)c) +144(xc+(y+a)s)(xs-(y+a)c)^2 +64(xs-(y+a)c)^3 -80(xc+(y+a)s)^2 +120(xc+(y+a)s)(xs-(y+a)c) -45(xs-(y+a)c)^2 -200(xc+(y+a)s) +150(xs-(y+a)c)-125 = 0$$

I cheat and have a CAS expand:

$$27 a^3 s^3+81 a^2 c s^2 x+81 a^2 s^3 y+81 a c^2 s x^2+162 a c s^2 x y+81 a s^3 y^2+27 c^3 x^3+81 c^2 s x^2 y+81 c s^2 x y^2+27 s^3 y^3 -108 a^3 c s^2-216 a^2 c^2 s x-324 a^2 c s^2 y+108 a^2 s^3 x-108 a c^3 x^2-432 a c^2 s x y+216 a c s^2 x^2-324 a c s^2 y^2+216 a s^3 x y-108 c^3 x^2 y+108 c^2 s x^3-216 c^2 s x y^2+216 c s^2 x^2 y-108 c s^2 y^3+108 s^3 x y^2 +144 a^3 c^2 s+144 a^2 c^3 x+432 a^2 c^2 s y-288 a^2 c s^2 x+288 a c^3 x y-288 a c^2 s x^2+432 a c^2 s y^2-576 a c s^2 x y+144 a s^3 x^2+144 c^3 x y^2-288 c^2 s x^2 y+144 c^2 s y^3+144 c s^2 x^3-288 c s^2 x y^2+144 s^3 x^2 y -64 a^3 c^3-192 a^2 c^3 y+192 a^2 c^2 s x-192 a c^3 y^2+384 a c^2 s x y-192 a c s^2 x^2-64 c^3 y^3+192 c^2 s x y^2-192 c s^2 x^2 y+64 s^3 x^3 -80 a^2 s^2-160 a c s x-160 a s^2 y-80 c^2 x^2-160 c s x y-80 s^2 y^2 -120 a^2 c s-120 a c^2 x-240 a c s y+120 a s^2 x-120 c^2 x y+120 c s x^2-120 c s y^2+120 s^2 x y -45 a^2 c^2-90 a c^2 y+90 a c s x-45 c^2 y^2+90 c s x y-45 s^2 x^2 -200 a s-200 c x-200 s y +150xs-150yc-150ac-125=0 $$

Ignoring terms with even powers of $y$:

$$81 a^2 s^3 y+162 a c s^2 x y+81 c^2 s x^2 y+27 s^3 y^3 -324 a^2 c s^2 y-432 a c^2 s x y+216 a s^3 x y-108 c^3 x^2 y+216 c s^2 x^2 y-108 c s^2 y^3 +432 a^2 c^2 s y+288 a c^3 x y-576 a c s^2 x y-288 c^2 s x^2 y+144 c^2 s y^3+144 s^3 x^2 y -192 a^2 c^3 y+384 a c^2 s x y-64 c^3 y^3-192 c s^2 x^2 y -160 a s^2 y-160 c s x y -240 a c s y-120 c^2 x y+120 s^2 x y -90 a c^2 y+90 c s x y -200 s y -150yc=0 $$

Starting with the relation between $c$ and $s$, and then grouping coefficients of $y$, $xy$, etc setting them equal to $0$:

$$\begin{align} c^2+s^2&=1\\ 81 a^2 s^3 -324 a^2 c s^2 +432 a^2 c^2 s-192 a^2 c^3-160 a s^2-240 a c s-90 a c^2-200 s -150c&=0&(y)\\ 162 a c s^2 -432 a c^2 s +216 a s^3 +288 a c^3-576 a c s^2+384 a c^2 s-160 c s-120 c^2+120 s^2+90 c s&=0&(xy)\\ 81 c^2 s -108 c^3 +216 c s^2-288 c^2 s+144 s^3-192 c s^2&=0&(x^2 y)\\ 27 s^3-108 c s^2+144 c^2 s-64 c^3&=0&( y^3) \end{align}$$

And now the question is equivalent to asking if this system of polynomials in three variables has a solution. Again, I think this is something that a CAS can do, but I'd consult an expert first.

2'5 9'2
  • 51,425
  • 6
  • 76
  • 143
  • Presumably, you mean $c^2+s^2=1$ in your last set of equations. – Blue Dec 12 '13 at 16:17
  • 1
    One can eliminate $s$ from the very last equation: Use $s^2=1-c^2$ to reduce the $s$-degree to $1$, then solve for $s$ and substitute into $s^2+c^2=1$ (effectively computing a resultant). The polynomial then factors as $(5c-3)^3(5c+3)^3$. It turns out that $(c,s) = (3/5 k,4/5k)$, with $k\in\{1,-1\}$, solves all the $a$-less polynomials. The remaining one reduces to $1+ak=0$, so that $a = -1/k=-k$. – Blue Dec 12 '13 at 16:44
  • @Blue Re $1\ne0$, thanks! I was thinking that to be general, I didn't want to go into any specifics about how to solve this system. Actually, I think it is beyond a CAS to solve systems like this of higher degree without using numerical methods. But I'm curious to have an expert chime in on whether or not a CAS can use the nulstellensatz criterion to establish _if_ there is a solution over $\mathbb{C}$, and then also if there is a way to make that work over $\mathbb{R}$ too. – 2'5 9'2 Dec 12 '13 at 18:30
  • @Blue -- As you can see, your solution is consistent with the info given by Leonard and Rahul in their comments following the question. As it should be, of course. – bubba Dec 13 '13 at 06:17
  • @alex -- so, the approach is to apply a (parameterized) rotation, and then look for parameter values that produce the desired result when the rotation is applied. In this case the desired result is disappearance of odd-degree terms like $x$, $xy$, $x^2y$. I wonder if a different way of parameterizing rotation matrices (something different from angles) would make the algebra simpler. Quaternions?? – bubba Dec 13 '13 at 06:25
  • @bubba Quite possibly! I think a general rotation in $\mathbb{R}^3$ only needs two angles to parametrize it, not three. Just to be sure, it's not just the rotation, but a translation would also be necessary if the plane of symmetry didn't pass through the origin. And I honestly don't know if the problem of solving a system of polynomial equations is any easier. – 2'5 9'2 Dec 13 '13 at 06:48
  • @alex -- see the comments about centroids that I added to the question. This reduces the number of degrees of freedom. We are left with only the rotational freedom(s). – bubba Dec 13 '13 at 07:03