![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/558357/image.png)
Distance between a point(x,y,z) and a surface(X,Y,Z)
46 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Aurea94
el 22 de Mzo. de 2021
Editada: Ali Grysah
el 2 de Abr. de 2021
I am trying to calculate the minimum distance between a point(x,y,z) and a surface defined by points (X;Y,Z). I now the normal to the point (x,y,z) from which I want to calculate distance, however I am not able to figure out the way of interpolating my surface so that the minimum distance is obtained, no matter the number of points in my surface.
Right now my option is to calcualte the distance from my point (x,y,z) to all the points in surface (X,Y,Z) and keep just the smallest one. However, I think there must be a better way of doing so.
Thank you very much for your help.
3 comentarios
Ali Grysah
el 2 de Abr. de 2021
Editada: Ali Grysah
el 2 de Abr. de 2021
hi i need matlab 2008 windos7 /.bt32
can you help me,,and thunks
Respuesta aceptada
Más respuestas (1)
David Hill
el 22 de Mzo. de 2021
Seems like a math question rather than a Matlab question. The minnum distance between a plane and a point is just the absolute value of the dot product between the point and the unit normal vector of the plane. The normal vector of the plane can be easily found with the 3 points given and is just the cross product between two vectors lying in the plane. For example:
p=[1 -2 0;0 -1 2;3 1 4];%three points given on the plane
d=diff(p);%two vectors lying in the plane
N=cross(d(1,:),d(2,:));
n=N/norm(N);%unit normal vector of plane
You do the rest
3 comentarios
Ver también
Categorías
Más información sobre Lighting, Transparency, and Shading en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!