6

Given a general equation for a plane through the origin $$\vec{n}\cdot\vec{r}=0$$ With no assumptions made on $\vec{n}$ except having unit modulus, real $3\times1$ vector. How can you describe a unit circle, centred at the origin, laying in this plane?

I can only seem to find parametric equations that rely on knowing two vectors in the plane, but with no knowledge of the vector $\vec{n}$ you can't generally create two such vectors, as some component(s) of $\vec{n}$ may be zero. All the information you need to define such a circle is contained within the normal to the plane, so I am confused as to why there is not a form defined only with reference to this vector.

EDIT#1: With reference to this matrix. Can we start with in the $xy$ plane

$$(x,y,z)=(\cos(\theta),\sin(\theta),0)$$ Then rotate this about the axis ($\vec{u}$ in the link) $$\vec{u}=(-n_2,n_1,0)$$ about an angle $\phi$ that satisfies $$\tan(\phi)=\frac{n_3}{\sqrt{n_1^2+n_2^2}}.$$ I claim that $\vec{u}$ is the axis of rotation as this vector is perpendicular to the normal of the plane $\vec{n}$ and lies in the $xy$ plane. Also that $\phi$ is the angle which the $xy$ plane is rotate about $\vec{u}$ by.

Therefore by substituting into the matrix linked to at the beginning of this edit, transforming $(x,y,z)=(\cos(\theta),\sin(\theta),0)$ by said matrix will give parametric coordinates for the tilted circle in terms of $\vec{n}$?

EDIT #2: I find this for the rotation matrix from the $xy$ plane to the plane with normal $\vec{n}$, from the method described above.

$$Q=\small{\left(\begin{array}{ccc} {\mathrm{n_2}}^2 - {\mathrm{n_2}}^2\, \sqrt{1 - {\mathrm{n_3}}^2} + \sqrt{1 - {\mathrm{n_3}}^2} & \mathrm{n_1}\, \mathrm{n_2}\, \left(\sqrt{1 - {\mathrm{n_3}}^2} - 1\right) & \mathrm{n_1}\, \mathrm{n_3}\\ \mathrm{n_1}\, \mathrm{n_2}\, \left(\sqrt{1 - {\mathrm{n_3}}^2} - 1\right) & {\mathrm{n_2}}^2\, \sqrt{1 - {\mathrm{n_3}}^2} + {\mathrm{n_3}}^2\, \sqrt{1 - {\mathrm{n_3}}^2} - {\mathrm{n_2}}^2 - {\mathrm{n_3}}^2 + 1 & \mathrm{n_2}\, \mathrm{n_3}\\ - \mathrm{n_1}\, \mathrm{n_3} & - \mathrm{n_2}\, \mathrm{n_3} & \sqrt{1 - {\mathrm{n_3}}^2} \end{array}\right)}$$

This is found from this MATLAB code.

EDIT #3: Using $\vec{n}=(\frac{1}{\sqrt{3}},\frac{1}{\sqrt{3}},\frac{1}{\sqrt{3}})$ I find this parametrically plots

enter image description here

Freeman
  • 5,399
  • You can find vectors in a general manner, when allowing a few cases to deal with zero-entries on $\vec{n}$. – AlexR Sep 13 '13 at 13:59
  • @AlexR: Yes, I did consider doing that, it's just not as neat as I would like. There doesn't seem to be any reason you couldn't just define it based on $\vec{n}$, so I was wondering if anyone knew how. – Freeman Sep 13 '13 at 14:01
  • 1
    Well, maybe considering $\mathbb L = { x : x \in S^2 \wedge n\cdot x = 0 }$ gives at least a nice non-parametric equation... – AlexR Sep 13 '13 at 14:04
  • @AlexR: That certainly looks nice :) Except I need to be able to calculate intersections of this tilted circle with other geometrical objects. – Freeman Sep 13 '13 at 14:06
  • Then how about first "collision-checking" with $S^2$? Not sure on that though. i.e. $${\rm dist}(O, \vec{0}) \leq 1$$ – AlexR Sep 13 '13 at 14:08
  • @AlexR: Hmm, i'm sorry I'm not sure I know what you mean. However my aim is to shrink a general ellipsoid (centred at the origin) around the circle, to find the points on the circle it first and last touches. This is in reference to this question: http://math.stackexchange.com/questions/492530/finding-the-extrema-of-e-vecr-frac1a-x2-frac1b-y2-frac1c-z2-with-re – Freeman Sep 13 '13 at 14:12
  • I see now; I've put some thought into it and wrote it into an answer, willing to expand as we progress. I have stated an idea of how to find those two vectors on a plane. – AlexR Sep 13 '13 at 14:19
  • @AlexR: Thanks a lot! Yes, you see the issue i'm having. Those two points where it starts and finishes intersecting are the goal. – Freeman Sep 13 '13 at 14:21
  • @AlexR: Check this out :) – Freeman Sep 13 '13 at 15:26
  • Cool stuff indeed ;-) – AlexR Sep 15 '13 at 21:00
  • @AlexR: Thank you! :D – Freeman Sep 16 '13 at 12:11
  • For future reference, this pdf has detailed explanation as to how to find such equation, http://www.math.ubc.ca/~feldman/m317/circle.pdf – Skynet094 Apr 11 '17 at 01:53

3 Answers3

3

Let $\|n\|=1$ and choose any $p$ with $\langle n,p\rangle=0$ and $\|p\|=1$. Then $n\times p$ satisfies $\langle n, n\times p\rangle=0$, $\|n\times p\|=1$ and $$c(t)=\bigl(p\cdot\cos(t), (n\times p)\cdot\sin(t)\bigr)$$ is a parametrization of the unit circle in the plane.

This may easily be extended to arbitrary planes and circles with arbitrary radii.

Michael

Michael Hoppe
  • 18,103
  • 3
  • 32
  • 49
2

How about this. WLOG, let $\Vert n \Vert = 1$. Chose $\mu \neq n \in S^2$ and compute $$\nu_1 = n\times \mu; \nu_2 = \nu_1 \times n$$ Then $\nu_1, \nu_2 \in A := \{x\in S^2 | n\cdot x = 0\}$ So we have our two points and only need one case: $$n = \mu_0 \Rightarrow \text{chose } \mu = \mu_1, \text{ else } \mu = \mu_0$$ with both $\mu_0\neq \mu_1 \in S^2$ chosen prior to all.

AlexR
  • 24,905
  • Thank you for this, I definitely appreciate it, I just think I really need an explicit formula. – Freeman Sep 13 '13 at 14:15
2

For any vector $u$ that is not parallel to $n$, you can construct an orthogonal basis for the plane using the cross product: just take $e_1 = n \times u$ and $e_2 = n \times e_1$. Your problem seems to be that you want to be able to generate $e_1$ using some function of $n$. Indeed such a function is hard to find - it turns out that for any continuous map of the sphere, some vector will be mapped to a multiple of itself. (This is the "fixed-point property of the real projective plane".) Thus for this approach to work you would have to use a discontinuous map - I'm not sure whether or not this is an issue for you. (For example you could send $n$ to $(1,0,0)$ if $n=(0,0,\pm1)$, or just rotate about the $z$ axis by some fixed amount for any other $n$.)

I think your best bet is to write $n$ in spherical polar coordinates as $n = (\theta, \phi)$ for $\theta$ the azimuthal angle, and then find a rotation matrix $M$ that sends $(0,0,1)$ to $n$ - I believe an example is $$M = \left( \begin{array}{ccc} -\sin (\theta ) & \cos (\theta ) \cos (\phi ) & \cos (\theta ) \sin (\phi ) \\ \cos (\theta ) & \cos (\phi ) \sin (\theta ) & \sin (\theta ) \sin (\phi ) \\ 0 & -\sin (\phi ) & \cos (\phi ) \\ \end{array} \right).$$ $e_1 = M(1,0,0)$ and $e_2 = M(0,1,0)$ are then an orthonormal basis for the plane. You should be able to write $\theta,\phi$ in terms of the cartesian components of $n$ to extract an explicit formula for the $e_1$; and then of course $\sin(s) e_1 + \cos(s)e_2$ will parametrise your circle.

  • Thank you, I was actually playing around with this earlier, so for the rotation that takes $(0,0,1)$ to $\vec{n}$, take the $xy$ plane to the plane in which lies the circle. So I could then transform the parametric form for a circle in the $xy$ by this method? – Freeman Sep 13 '13 at 14:19
  • 1
    @Freeman: Yeah, that's the idea. – Anthony Carapetis Sep 13 '13 at 14:20
  • Many thanks! :) – Freeman Sep 13 '13 at 14:22
  • @Freeman: I'm not sure it's really any better than the "discontinuous map" approach - when $n$ is the north/south pole $\theta$ is not uniquely determined, so you will have to make some arbitrary choice there. Hope it helps anyway. – Anthony Carapetis Sep 13 '13 at 14:25
  • It does, it's good to know my previous idea was on the right lines, I pursued other methods as it gets messy pretty quickly. – Freeman Sep 13 '13 at 14:26
  • I believe the edit I have just made to my post may be what you were describing? – Freeman Sep 13 '13 at 14:45