points lying on a line from a particular distance
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
KalMandy
el 18 de Feb. de 2017
Respondida: Matt J
el 18 de Feb. de 2017
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 comentarios
Matt J
el 18 de Feb. de 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.
Respuesta aceptada
Matt J
el 18 de Feb. de 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 comentarios
Más respuestas (1)
Matt J
el 18 de Feb. de 2017
Editada: Matt J
el 18 de Feb. de 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 comentarios
Ver también
Categorías
Más información sobre Calculus 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!