How Can I Calculate the Range of Values for Vector Math in 3D Art?

  • Level: Undergrad 
  • Thread starter Thread starter davidjonas
  • Start date Start date
  • Tags Tags
    3d Art Vector
Join the discussion
Registration is free. Start your own thread to ask a follow-up.
1 reply · 3K views
davidjonas
Messages
1
Reaction score
0
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 can't 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 [tex]\alpha[/tex] 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 [[tex]\alpha[/tex]-C, [tex]\alpha[/tex]+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.

Thank you in advance!

David Jonas
 
Physics news on Phys.org
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.