3D angle Measurement

2 visualizaciones (últimos 30 días)
Emre Erdogan
Emre Erdogan el 20 de Ag. de 2018
Comentada: ADragon el 20 de Ag. de 2018
Hello, I have an one 3D dataset of a metal object that i want to measure some data from it. I am able to measure the length etc but calculating the angles giving me hard time since it can be positioned in different angles itself. I was wondering what would be the best and simple thing to calculate the angles. How can i move the data to the certain xyz plane ? or is it possible to create another xyz plane with the reference points in the object thanks
  3 comentarios
Emre Erdogan
Emre Erdogan el 20 de Ag. de 2018
Editada: Emre Erdogan el 20 de Ag. de 2018
It is just a one part metal object. It is like "r" slightly bended to right and slightly to backward. I managed to make a centerline so that it becomes easier to calculate. So the data is skeleton of the object now. I would use the coordinates of end points and turning points for making the calculation but since it is diffetently positioned in every scan i couldnt use it.
ADragon
ADragon el 20 de Ag. de 2018
Hi Emre, you could use vector math. Using the equation cos(theta) = (u dot v)/(mag u * mag v)
p1 = rand(1,3); % Point 1
p2 = rand(1,3); % Point 2
p3 = rand(1,3); % Point 3
% Vector u from p2 to p1
% Vector v from p2 to p3
u = p1 - p2;
v = p3 - p2;
o = zeros(1,3);
udotv = sum(u.*v); % dot product of u and v
umag = norm(u); % vector magnitude of u
vmag = norm(v); % vector magnitude of v
theta = acos(udotv/(umag*vmag))*180/pi;
figure
p = [u; o; v];
plot3(p(:,1),p(:,2),p(:,3))
title(['Vector Angle = ' num2str(theta,4) ' deg'])
axis equal
grid on

Iniciar sesión para comentar.

Respuestas (0)

Categorías

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

Productos


Versión

R2013b

Community Treasure Hunt

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

Start Hunting!

Translated by