0

In 3 dimensional euclidean space, I am looking for a plane. I have the following information:

  • A vector $v$ in the plane.
  • The angle $\theta$ between $v$ and a second - otherwise unknown - vector $r$ in the plane.
  • The angle $i$ between the plane and the XZ plane.
RobPratt
  • 45,619
  • You do not even need the third item. Two non-collinear vectors in the plane are enough to find the plane equation. And knowing one vector and angle is enough to find the second vector of unit length, for example. – Vasili Oct 15 '22 at 15:42
  • Without knowing vector $r$, there would be an infinite number of planes that are angle $\theta$ between $v$ and $r.$ Might need that 3rd item. – Narlin Oct 15 '22 at 15:49
  • But I do not know the vector $r$. If I am not mistaken the set of vectors that are at angle $\theta$ to vector $v$ forms a cone in 3d space. Hence why I do need the 3rd constraint, no? – Jacob Jona Fahlenkamp Oct 15 '22 at 15:49
  • You are right, I was too hasty – Vasili Oct 15 '22 at 15:54

3 Answers3

1

Assume without loss of generality that $v$ is a unit vector.

Let $n$ be the unit vector normal to the sought plane, with non-negative $n_y$.

The angle between $n$ and the y axis is equal to the angle between the sought plane and the XZ plane:

$\cos(i) = n\cdot \left[ {\begin{array}{c} 0 \\ 1 \\ 0 \end{array} } \right]\Rightarrow n_y=\cos(i).$

The vectors $n$ and $v$ are orthogonal:

$n\cdot v=0\Rightarrow n_x=\frac{- n_{y} v_{y} - n_{z} v_{z}}{v_{x}}$

The vector $n$ is a unit vector:

$n_{x}^{2} + n_{y}^{2} + n_{z}^{2} = 1\Rightarrow n_{z1,2}=\pm \sqrt{1-n_x^2 - n_y^2}$

Inserting $n_{z1}$ in the solution for $n_x$ yields:

$$\begin{align}n_x&=\frac{- n_{y} v_{y} + v_{z} \sqrt{- n_{x}^{2} - n_{y}^{2} + 1}}{v_{x}}\\\Rightarrow n_{x1,2}&=\frac{- n_{y} v_{x} v_{y} \pm v_{z} \sqrt{- n_{y}^{2} v_{x}^{2} - n_{y}^{2} v_{y}^{2} - n_{y}^{2} v_{z}^{2} + v_{x}^{2} + v_{z}^{2}}}{v_{x}^{2} + v_{z}^{2}}\end{align}$$

Inserting $n_{x1,2}$ into $n_{z1}$ yields two solutions for $n_z$, which shall be referred to as $n_{z11}$ and $n_{z12}.$

Inserting $n_{z2}$ into the solution for $n_x$ yields the same $n_{x1,2}$, which inserted into $n_{z2}$ yield $n_{z21}$ and $n_{z22}$.

In total there are four solutions:

$$\left[ {\begin{array}{c} n_{x1} \\ n_y \\ n_{z11} \end{array} } \right],\left[ {\begin{array}{c} n_{x2} \\ n_y \\ n_{z12} \end{array} } \right],\left[ {\begin{array}{c} n_{x1} \\ n_y \\ n_{z21} \end{array} } \right],\left[ {\begin{array}{c} n_{x2} \\ n_y \\ n_{z22} \end{array} } \right],$$

of which one is hopefully sound.

As for the constraint with regards to the angle $\theta$ and vector $r$: I think now that it is irrelevant. For any angle $\theta$ and vector $v$ in a plane there are an infinite number of vectors with angle $\theta$ relative to $v$ in that plane.

0

The second condition involving $\theta$ is as the OP said irrelevant.

Let $\mathbf{n}$ be the normal to the plane, then

$ \mathbf{n} \cdot \mathbf{v} = 0$

Let $\mathbf{u_1}, \mathbf{u_2}$ be two unit vectors that are both orthogonal to $\mathbf{v}$ and to each other, then

$ \mathbf{n} = \cos \theta \ \mathbf{u_1} + \sin \theta \ \mathbf{u_2} $

The condition involving angle $i$, implies the angle between the normals to the $XZ$ plane and our plane is $i$, i.e.

$ \cos i = \mathbf{n} \cdot \mathbf{j} $

This equation can have zero, one, or two solutions for $\theta$.

As a numerical example, suppose

$ \mathbf{v} = (1, 2, 2 ) $

Then we can take

$\mathbf{u_1} = (2, -1, 0)/\sqrt{5} $

$\mathbf{u_2} = \dfrac{1}{3} \mathbf{v} \times \mathbf{u_1} = \dfrac{1}{3\sqrt{5}} (2 , 4, -5) $

Suppose the angle $i = 60^\circ $, then

$\cos i = \cos 60^\circ = \dfrac{1}{2} = \cos \theta \bigg(-\dfrac{1}{\sqrt{5}}\bigg) + \sin \theta \bigg( \dfrac{ 4 }{3 \sqrt{5}} \bigg) $

This results in the following two values for $\theta$

$\theta_1 = 1.37881556, \theta_2 = 3.04977931 $

Hosam Hajeer
  • 21,978
0

Vector $\vec{v}$ is not just any vector, as it is defined to be in a plane that has angle $i$ with the XZ plane. Therefore knowing $\vec{v}$ effectively fixes $i.$ Indeed, $i=\pi/2-\cos^{-1}(\hat{v}\cdot \hat{n}_1)$ where $n_1=(0,1,0)=\text{ the y-axis.}$ Even though $i,$ the angle of our sought plane with plane XZ is known, that still leaves an infinity of planes which satisfy the condition. For my convenience, I assure that all vectors are converted to unit vectors before calculation.
All of the planes that make angle $i$ with plane XZ will lie along the edge of a cone. Said cone will have the y-axis as its axis with its vertex at the origin. Its equation will be $$x^2 + z^2 = (y\cdot \tan(\pi/2 - i))^2.$$ For reference to this see 1224620.

Plane in blue with vector v in the plane In the picture, the grid is the XZ plane and the blue plane is "the plane that we seek".
The normal to this plane necessarily must also be a normal to the cone, which will just be the coefficients of the Cartsian equation multiplied times any point C which is on the surface of the cone. But, we do need to carefully select point C.
Since we have built the cone to include vector $\vec{v}$, we can let point C be the end point of the vector. $C=v.$ Here are the coefficients.
$$\begin{align}\text{Coefficient of x^2: }&1\\ \text{Coefficient of y^2: }&-\tan^2\left(\frac{2i-\pi}{2}\right)\\ \text{Coefficient of z^2: }&1 \end{align}$$ and the normal to the plane $$\hat{n}=\frac{\left( \begin{array}{ccc} \hat{v}_x\\ -\tan^2\left(\frac{2i-\pi}{2}\right)\cdot \hat{v}_y\\ \hat{v}_z \end{array} \right)} {\left\Vert \left( \begin{array}{ccc} \hat{v}_x\\ -\tan^2\left(\frac{2i-\pi}{2}\right)\cdot \hat{v}_y\\ \hat{v}_z \end{array} \right)\right\Vert} $$

The plane equation: $$\hat{n}\cdot \left(\begin{array}{ccc}x\\y\\z\end{array} \right)=\hat{n}\cdot C\qquad \text{remember point C=v}$$ We still have to deal with $\theta,$ to get vector $\vec{r}$ in the same plane, but that seems straigtforward. Remember that $\theta$ is given while $\vec{r}$ is not given. We need an orthogonal basis for the plane. We already have one unit vector in the plane, namely $\hat{v}.$ We also have the unit normal vector $\hat{n}.$ Cross them to get a 2nd basis vector in the plane. $$\hat{u}=\frac{n\times v}{|n\times v|}$$ Now just use a rotation in the plane to find some vector that is $\theta$ degrees away from $v,$ but in the plane. For a reference to this see 1830695 $$r = cos(\theta)\hat{v}+sin(\theta)\hat{u}$$

Narlin
  • 1,201