# Vector math for 3D art

#### davidjonas

Hi!

I am a software developer and at the moment I am working on media art projects dealing with generative art algorithms in 3D spaces. I have been stuck for a few hours with a little problem dealing with vector math and I cant reach a conclusion. If someone here could give me a little hand it would be greatly apreciated!

I have a random vector u(x,y,z) and a vector w(0,1,0). Vector u makes an angle of $$\alpha$$ with w.
I want to generate a vector v, from random values, only making sure that the vector r=u+v makes an angle with w in the range [$$\alpha$$-C, $$\alpha$$+C] (being C a constant value).

What I need is to find a way to calculate the range of values for xv, yv, zv that obey to the referred condition.

If someone knows how this can be done or has any sugestions, tips, concepts to research, directions or anything that could be even slightly helpfull please do not hesitate in replying, every try to help is apreciated.

David Jonas

#### fresh_42

Mentor
2018 Award
If $\varphi$ is the angle between $\mathbf{w}$ and $\mathbf{r}=\mathbf{u}+\mathbf{v}$ then we have
$$\cos \varphi = \dfrac{\langle\mathbf{r},\mathbf{w} \rangle}{||\mathbf{r}||\cdot ||\mathbf{w}||}= \dfrac{r_y}{||\mathbf{r}||}= \dfrac{u_y+v_y}{\sqrt{\left( u_x+v_x \right)^2+\left( u_y+v_y \right)^2+\left( u_z+v_z \right)^2}}$$
This is the condition you have. Now there are many possible choices for $\mathbf{v}$ which has been to be expected in 3D space.

"Vector math for 3D art"

### Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving