How can I create random Co-ordinate shifts (x,y,z) that add to a displacement of 1?

2 visualizaciones (últimos 30 días)
I have a set of co-ordiantes with x, y and z values. I'm trying to shift the co-ordiantes randomly to produce an overall shift of 1 (mm).
I know that if i'm shifting x y and z by random amounts of a b and c respectively, then:
sqrt(a^2 + b^2 + c^2) = 1
How can I randomly produce a vector (a, b, c) that satisfies the above equation?
Thanks!!

Respuesta aceptada

Matt J
Matt J el 30 de Mzo. de 2020
[a,b,c]=sph2cart(2*pi*rand,pi*rand,1);

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos


Versión

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by