points lying on a line from a particular distance
    3 views (last 30 days)
  
       Show older comments
    
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 Comments
  Matt J
      
      
 on 18 Feb 2017
				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.
Accepted Answer
  Matt J
      
      
 on 18 Feb 2017
        A better way to obtain the points might be parametrically
theta=0:359;
x=xc+d*cosd(theta);
y=yc+d*sind(theta);
0 Comments
More Answers (1)
  Matt J
      
      
 on 18 Feb 2017
        
      Edited: Matt J
      
      
 on 18 Feb 2017
  
      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 Comments
See Also
Categories
				Find more on Linear Algebra 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!
