Project element on a line

10 views (last 30 days)
Gimmy
Gimmy on 29 Sep 2012
Hi everyone! My question is: how can i project an element on a straight line? In other words, i have a matrix(nx2) that represent my element and a matrix(2x2) that represent my straight line, how can i project that element on that line? Is there a function? Thx in advance! :)
  2 Comments
Matt J
Matt J on 29 Sep 2012
Explain how an nx2 matrix represent a (single?) element to be projected. Is each row a coordinate in 2D? And if so, how does a 2x2 matrix represents a straight line? In 2D, only 2 parameters are required to represent a line, not a 2x2 matrix.
Gimmy
Gimmy on 29 Sep 2012
Thx for the response! I mean that i have a class of 5 elements: X1 = [4 2;2 4;2 3;3 6;4 4]; which i represent using: scatter(X1(:,1),X1(:,2),'r'); and i have another vector: W1=[0,9087;0,4172] that i represent like a line using: t=20; w1=t.*W1'; new_w1=cat(1,w1,W1'); plot(new_w1(:,1),new_w1(:,2),'g'); And now i wonder to project the point in X1 on to the line new_w1. This image could help you: http://www.dtreg.com/LdaGoodBad.jpg
Thx in advance :)

Sign in to comment.

Accepted Answer

Matt J
Matt J on 30 Sep 2012
Edited: Matt J on 30 Sep 2012
In your example, the line new_w1 is going through the origin. I'll assume that to be the case here.
In general, if you want to project X1 onto the line through the origin t*d where d is the direction vector of the line, you would do
projections = X1*d(:)*d(:).'/norm(d)^2
  2 Comments
Gimmy
Gimmy on 30 Sep 2012
Thx for the answer! However i've found this method yet, but i think that this is the "orthogonal projection" of the points X1 on the line W1, but i would like the "perpendicular projection" of the points in X1 on W1, how can i have this one?
Matt J
Matt J on 1 Oct 2012
I'm not aware of the distinction between "orthogonal projection" and "perpendicular projection".

Sign in to comment.

More Answers (0)

Categories

Find more on Software Development Tools in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!