필터 지우기
필터 지우기

points lying on a line from a particular distance

조회 수: 1 (최근 30일)
KalMandy
KalMandy 2017년 2월 18일
답변: Matt J 2017년 2월 18일
Hi All, In my matlab program , I find two points from solving the line equation (given a point and the angle) and the distance equation. ex:
syms x y
[solx,soly]=solve(y-m*x==yc-m*xc , (x-xc).^2+(y-yc).^2==d^2)
here (xc,yc) is the point coordinate, m is tand(angle) and d is distance. my angle rotates from 0-360 degrees.
my problem is (solx,soly) gives me two solutions, although I want to calculate only in angle=0 degrees direction. For example, I do not want the solution for angle 0 and 360 at the same time. Do you know how I can just sort out the point lying in angle 0 direction for instance?
  댓글 수: 2
Matt J
Matt J 2017년 2월 18일
I do not want the solution for angle 0 and 360 at the same time
You should be letting the angle run from only 0 to 180. Angles theta and 180+theta will always correspond to the same line.
Even then, though, you will have 2 intersection points.
KalMandy
KalMandy 2017년 2월 18일
Thank you!

댓글을 달려면 로그인하십시오.

채택된 답변

Matt J
Matt J 2017년 2월 18일
A better way to obtain the points might be parametrically
theta=0:359;
x=xc+d*cosd(theta);
y=yc+d*sind(theta);

추가 답변 (1개)

Matt J
Matt J 2017년 2월 18일
편집: Matt J 2017년 2월 18일
You should be restricting the angle to (-90, 90). tan() has redundant or undefined values outside that interval. In particular, you must avoid angles +/-90 deg. where yc-m*xc will be infinite.
This restriction will still give you two solutions, but you can throw away the solution for which x < xc.
  댓글 수: 2
KalMandy
KalMandy 2017년 2월 18일
편집: KalMandy 2017년 2월 18일
but I need to find the points lying d distance away from (xc,yc) in all 360 angles (However the solution will not be a circle, due to some other conditions). what can i do in this case?
Matt J
Matt J 2017년 2월 18일
편집: Matt J 2017년 2월 18일
Then keep both solutions returned by solve(). One corresponds to angle theta, the other to theta+180. As I said, though theta=+/-90 has no solution. You will have to compromise on that case.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Calculus에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by