How to find out the cordinates of the intersection point of a line and a surface?
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Zarak kh
el 29 de Jul. de 2019
Comentada: Zarak kh
el 30 de Jul. de 2019
Hello
I need to find out weather a line that connect to points in a 3D situation have an intersection with a surface or not, and also report the intersection point for further steps.
Imagine I have two points A and B ( which needs to be connected) a surface z.
A : x= 0.5 y=-0.5 z=-1
B : x=-0.7 y=1 z=1.5
and the surface z is:
[x, y] = meshgrid(linspace(-1, 1));
z = y.^2 + 2*x;
"The above data are just as an example"
Thanks alot for any help on my question
0 comentarios
Respuesta aceptada
Matt J
el 30 de Jul. de 2019
Editada: Matt J
el 30 de Jul. de 2019
Plug the equation for the line into the equation for the surface and use fzero to find the root. This root will give the location of the intersection.
L=@(t) A+(B-A)*t; %line equation
S= @(xyz) xyz(3)-xyz(1).^2 -xyz(2).^2; %surface equation
t_intersection = fzero(@(t) S(L(t)) ,t0 )
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!