How to find Intersection point of plane and vector/line in 3d
24 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Aknur
el 23 de Feb. de 2023
Comentada: Aknur
el 2 de Mayo de 2023
Hello! Could you please help me why my fucntion does not calculate intersection point I. It gaves me my initial X0, Y0, Z0 coordinate
I used this example
[I ] = planeLocation6(1.5, 3.3371, 0.1820)
function [ I ] = planeLocation6(XBar, YBar, ZBar)
X0 = 1.5;
Y0 = 1.5;
Z0 = 3.0;
Theta0 = 30;
planes(:,:,1) = [0 3 3; 0 0 3; 0 3 0; 0 0 0; 0 0 0];
planes(:,:,2) = [0 0 3; 3 0 3; 0 0 0; 3 0 0; 0 0 0];
planes(:,:,3) = [3 0 3; 3 3 3; 3 0 0; 3 3 0; 3 0 0];
planes(:,:,4) = [3 3 3; 0 3 3; 3 3 0; 0 3 0; 0 3 3];
planes(:,:,5) = [0 3 0; 3 3 0; 0 0 0; 3 0 0; 0 0 0];
planes(:,:,6) = [0 3 3; 3 3 3; 0 0 3; 3 0 3; 0 0 3];
location_plane = 6;
for j=1:6
j==location_plane
plane = planes(:,:,j);
p0 = plane(1,:);
p1 = plane(2,:);
p2 = plane(3,:);
p3 = plane(4,:);
V0 = plane(5,:);
Ri = [X0 Y0 Z0];
Rr = [XBar YBar ZBar];
u = Rr-Ri;
w=Ri-V0;
A = p0-p2;
B = p0-p3;
n=cross(A,B); % normal vector of the Plane
u = Rr-Ri;
w=Ri-V0;
D=dot(n,u);
N=-dot(n,w);
sI = N / D;
I = Ri+ sI.*u;
disp(I);
end
Thank you in advance, BR Aknur
3 comentarios
Rik
el 28 de Feb. de 2023
I recovered the removed content from the Google cache (something which anyone can do). Editing away your question is very rude. Someone spent time reading your question, understanding your issue, figuring out the solution, and writing an answer. Now you repay that kindness by ensuring that the next person with a similar question can't benefit from this answer.
Respuesta aceptada
Bhavana Ravirala
el 23 de Feb. de 2023
Hi Ankur,
I understand that you are unable to calculate the intersection point ‘I’.
When I try to run the code at my end, I am getting a value of ‘I’ as Infinity and not the initial values.
You are not getting the intersection point because the dot product of ‘n’ and ‘u’ is zero with the inputs which you have provided to the function. Try giving different inputs to the function such that ‘D’ does not become zero and ‘I’ does not be Infinity.
Hope this helps!!
Más respuestas (0)
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices 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!