Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Having two vectors $a$ and $b$ and with $b$ fixed, how would I go about increasing the angle between the two vectors by a specified $\Delta \theta$?

The dot product equation:

$$ a \cdot b = |a| \cdot |b| \ \cos \theta .$$

gives multiple solutions in the form of a cone for $3$-dimensional vectors. I want the new vector $a'$ to be in the same plane spanned by $a$ and $b$.

Also can this case be extended to arbitrary number of dimensions?

share|cite|improve this question
I feel like your question is a bit ambiguous. Increase the angle subject to a constraint? Without any constraint, as you mentioned, in $\mathbb R ^3$ this yields multiple solutions, just like in $\mathbb R ^2$ it would and certainly in higher dimensions as well. – process91 Nov 9 '11 at 3:54
Ah, the constraint is that it must be in the plane spanned by $a$ and $b$. – Chris D Nov 9 '11 at 4:06

You can decompose $a$ into a part parallel to $b$ and a part perpendicular to $b$, then increase the perpendicular part. The parallel part of $a$ is $|a| \cos \theta \hat{b}=\frac{a\cdot b}{b^2}b$. The perpendicular part is the rest: $a-\frac{a\cdot b}{b^2}b$. $\tan \theta$ is the ratio of the magnitudes of these: $\frac{|a-\frac{a\cdot b}{b^2}b|}{|\frac{a\cdot b}{b^2}b|}$, so you can increase the perpendicular part enough to give the desired $\theta$

share|cite|improve this answer
Thanks, also if I wanted to preserve the length of the vector, how would I setup the ratio? At the moment, I can scale the perpendicular part to get the desired angle, but I need to preserve the original length. Essentially, I just wanted to rotate a vector away from another vector along the plane spanned by the two vectors. – Chris D Nov 10 '11 at 15:35
Then you can just scale it back to the old length. If $a'$ is the new vector at the increased angle, $a''=a'\frac{|a|}{|a'|}$ will be in the new direction with the old length. – Ross Millikan Nov 10 '11 at 16:06

I thought more about your problem in general, without the restriction. and I think it is an interesting one. Here's what I came up with, intuitively.

Given two vectors, $a$ and $b$ in $\mathbb R ^n$, choose your coordinate axes to allow $b$ to be on one of the axes$^1$. Now spin $a$ around the axis which $b$ is on. This will create the cone you describe in $\mathbb R ^3$, and some other "surface" in other dimensions. Points on this surface have the same angle with $b$ as $a$. Vectors on the same side of the surface as $b$ have a lesser angle with $b$, and points on the side of the surface without $b$ have a greater angle with $b$.

I don't know if something interesting might come from algebraically trying this out in, say, $\mathbb R ^4$, but it should not be too difficult. Actually, in $\mathbb R ^3$, the cone of vectors with angle greater than that between $a$ and $b$ exists only if the angle between $a$ and $b$ is obtuse. If it is acute, you get the complement of a cone (all of $\mathbb R ^3$ minus the cone), and if the angle is $\frac \pi 2$, you get half of $\mathbb R ^3$.

If we take a two-dimensional "slice" of $\mathbb R ^3$, we would get either a triangle of infinite height, the complement of such a triangle, or a half-plane. In the higher dimensions, I would conjecture that a three-dimensional "slice" would always yield a cone, the complement of a cone, or a half-space, and a two-dimensional "slice" would therefore be similar to that already described.

$^1$ The purpose of this is just to make the algebraic manipulations easier. Obviously the choice of axes plays no direct role, and such a result is congruent to one in which $b$ is not placed on the axis.

share|cite|improve this answer

Your Answer


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.