Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

I'm trying to parameterize a sphere so it has 6 faces of equal area, like this:

correct parameterization

But this is the closest I can get (simply jumping $\frac{\pi}{2}$ in $\phi$ azimuth angle for each "slice").

closest i can get

I can't seem to get the $\theta$ elevation parameter correct. Help!

share|improve this question
add comment

5 Answers

Parametrizing squares with circular coordinates is doomed to bring pain!

Parametrizing a square with a square is much easier:

up = NestList[RotateLeft, {s, t, 1}/Sqrt[s^2 + t^2 + 1], 2];
ParametricPlot3D[
 Join[up, -up],
 {s, -0.9, 0.9}, {t, -0.9, 0.9},
 PlotStyle -> {Red, Blue, Yellow, Green, Magenta, Cyan},
 Boxed -> False, Axes -> False
 ]

produces

enter image description here

Notice I draw from -0.9 to 0.9 in order to emphasize the patches, but you want to do it from -1 to 1.

(If you want the parametrizations to have their obvious normals going out of the sphere, then you need to be more gentle when constructing the last 3 patches: I just changed the sign of the other three, but that gets them oriented the wrong way..

share|improve this answer
add comment

Rotate the figure so that the $z$-axis passes through two opposite vertices, $N$ and $S$. Then the edges ---three "northern" and three "southern"--- adjacent to either $N$ or $S$ lie on three uniformly-arranged planes through the $z$-axis. Let the complete great circles determined by these planes sub-divide your six "sides" into twelve congruent triangular regions. Then each region's "azimuth range" covers exactly one-sixth of a circle. That's the easy part.

The remaining six of the figure's original edges ---each separating one northern triangular region from one southern region--- form a "belt" that zig-zags above and below the equatorial $xy$-plane; let $\psi$ be the elevation angle at one of its highest points. One extreme of the "elevation range" of a region for a given azimuth is determined by this belt (the other extreme is $\pi/2$ for a northern region, and $-\pi/2$ for a southern region). That's the trickier part.

With an appropriate rotation about the $z$-axis, we can take the belt vertices to be $$P_k(\;\cos\psi \; \cos\frac{k\pi}{3},\;\cos\psi \; \sin\frac{k\pi}{3},\;(-1)^k\sin\psi\;)$$ for $k=0,1,2,3,4,5$. The great circle containing the belt-edge $P_k P_{k+1}$ is the intersection of the sphere with the plane through those vertices and the origin; thus, its the collection of sphere-points orthogonal to the normal to that plane, with azimuth-elevation coordinates $(\phi,\theta)$ satisfying this equation $$ \begin{bmatrix}\cos\theta\cos\phi \\ \cos\theta\sin\phi \\ \sin\theta \end{bmatrix} \cdot \left( P_k \times P_{k+1} \right) = 0 $$

(Tip of the hat to @joriki and his answer to your more-basic version of this question.) That is, $$ \begin{eqnarray*} 0 &=&(-1)^k \cos\psi \sin\psi \left(\sin\frac{k\pi}{3}+\sin\frac{(k+1)\pi}{3}\right) \cos\theta\cos\phi \\ &-& (-1)^k \cos\psi \sin\psi \left(\cos\frac{k\pi}{3}+\cos\frac{(k+1)\pi}{3}\right) \cos\theta\sin\phi \\ &-& \cos^2\psi \left(\sin\frac{(k+1)\pi}{3}\cos\frac{k\pi}{3}-\cos\frac{(k+1)\pi}{3}\sin\frac{k\pi}{3}\right) \sin\theta \end{eqnarray*} $$

This collapses to $$ \tan\theta = (-1)^k \; \left( 2 \tan\psi \right) \; \sin\left(\frac{(2k+1)\pi}{6} - \phi\right) $$ (Sanity check: At the endpoints $\phi_{+} = \frac{k\pi}{3}$ and $\phi_{-} = \frac{(k+1)\pi}{3}$ of a belt-edge, we get $\tan\theta_{\pm} = \pm (-1)^k \tan\psi$, so that $\theta_{\pm} = \pm(-1)^k\psi$, as desired. Also, at the midpoint $\phi_{\star} = \frac{(2k+1)\pi}{6}$, where the edge crosses the $xy$-plane, we get the correct (lack of) elevation, $\theta_{\star} = 0$.)

Now, the edge from $N$ to nearby belt-vertex (like any edge in the original figure) has arc-measure $\mathrm{acos}\frac{1}{3}$; our $\psi$ ---which measures from equator to belt-vertex--- is the complement of this angle, so that $\tan\psi = \frac{1}{2\sqrt{2}}$ and the final formula becomes $$ \tan\theta = \frac{(-1)^k}{\sqrt{2}} \sin\left(\frac{(2k+1)\pi}{6} - \phi\right) $$

This gives the non-obvious extreme of the elevation range for points in one of the triangular regions. Since these regions merely sub-divide your six "sides", you have a parameterization of those sides. (I'll leave it to you to transform the parameterization if you absolutely require the $z$-axis to pass through opposing sides rather than opposing vertices.)

share|improve this answer
add comment

It's easiest to work from the corners. There are 8 corners, regularly spaced; you can take them to be the centers of the 8 octants. So in Cartesian coordinates they would be $(\pm 1/\sqrt{3}, \pm 1/\sqrt{3}, \pm 1/\sqrt{3})$. In spherical coordinates, $\phi$ is $\pm \pi/4$ or $\pm 3\pi/4$, and $\theta$ is $\cos^{-1} (\pm 1/\sqrt{3})$. You then simply draw the appropriate edges.

share|improve this answer
    
I don't think that's correct. A constant $\theta$ will trace a cap as you go around the sphere - the 6 "sides" won't have the same area. In fact $\theta$ gets bigger and smaller as you go around the sphere (see first diagram) –  bobobobo Oct 23 '11 at 1:26
1  
    
^ Interesting paper –  bobobobo Oct 23 '11 at 2:04
1  
The "appropriate edges" are not constant $\theta$ lines -- they are arcs of great circles. I should probably have made that more explicit. (There are 4 edges which are constant $\phi$ lines, though, as lines of constant $\phi$ are automatically arcs of great circles). –  Craig Oct 23 '11 at 21:55
add comment

The following doesn't have much to do with spherical coordinates, but it might be worth noting that these 6 regions can be seen as the projections of the 6 faces of an enclosing cube.

In other words, each of the 6 regions can be parametrized as the region of the sphere $$S=\{\{x,y,z\}\in\mathbb R^3\mid x^2+y^2+z^2=1\}$$ for which, respectively:

  • $x > \max(\lvert y\rvert,\lvert z\rvert)$
  • $x < -\max(\lvert y\rvert,\lvert z\rvert)$
  • $y > \max(\lvert z\rvert,\lvert x\rvert)$
  • $y < -\max(\lvert z\rvert,\lvert x\rvert)$
  • $z > \max(\lvert x\rvert,\lvert y\rvert)$
  • $z < -\max(\lvert x\rvert,\lvert y\rvert)$

For example, the top region can be parametrized by $z =\sqrt{1-x^2-y^2}$, with region \begin{align*} \lvert x\rvert&<\frac{1}{\sqrt{2}}\\ \lvert y\rvert&<\min\left(\sqrt{\frac{1-x^2}{2}},\sqrt{1-2x^2}\right) \end{align*}

share|improve this answer
1  
This looks precisely like what these guys did... –  J. M. Oct 24 '11 at 14:10
add comment

Following on FelixCQ's approach, take the cube to have corners $\pm 1$ and we want to project onto the unit sphere. So one side is $(-1+2t,1,1)$ Projecting that onto the unit sphere gives $\frac{1}{\sqrt{3-4t+4t^2}}(-1+2t,1,1)$, $\theta=\arccos(\frac{1}{\sqrt{3-4t+4t^2}}, \phi=\arctan(-1+2t)$. The other sides can be treated similarly, but you have to worry about the quadrants for $\phi$.

share|improve this answer
    
There is no need to worry... just compose the one you have with appropriate rotations! –  Mariano Suárez-Alvarez Oct 24 '11 at 14:40
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.