2016-09-17 3 views
0

Ich habe zwei Punkte, von denen ich die Koordinaten kenne. Ich weiß, wie man die Länge zwischen diesen zwei Punkten findet. In meinem Programm muss ich diese Punkte mit neuer "länglicher" Länge und nicht mit tatsächlich verbinden Distanz zwischen zwei Punkten und plotten Sie das Diagramm.eg.Suppose Length ist 10 zwischen zwei Punkten, aber ich möchte sie mit 18 Einheiten verbinden.Verbindung zweier Punkte in Matlab

+0

Ich gab eine Antwort, die eine Linie "Pixel für Pixel" zeichnet: [http://stackoverflow.com/questions/38912084/finding-the-coordinates-on-the-image-knowing-the-center -Punkt-und-Neigung-von-einem-lin/38914305 # 38914305] (http://Stackoverflow.com/questions/38912084/finding-the-coordinates-on-the-image-knowing-the-center-point- und-slope-of-a-lin/38914305 # 38914305). Sie können eine mathematische Lösung verwenden, falls Sie keine vorhandene Funktion finden, die Ihr Problem löst. – Rotem

Antwort

0

Wenn ich Ihre Frage verstehe. Sie möchten ein Segment zeichnen, das kollinear zu einem Segment ist, das durch zwei Punkte, jedoch von unterschiedlicher Länge definiert ist. Ist das genau?

Ich nehme an, dass Sie wollen, dass sie den gleichen Mittelpunkt haben.

L = 18; 

x0 = 10*(rand(1,2) - 0.5); 
y0 = 10*(rand(1,2) - 0.5); 

xm = mean(x0); 
ym = mean(y0); 

m = diff(y0)/diff(x0); 
theta = atan(m); 

x1 = (L/2) * [cos(theta); -cos(theta)] + xm; 
y1 = (L/2) * [sin(theta); -sin(theta)] + ym; 

plot(x0, y0, 'r*', x1, y1, '-') 
Verwandte Themen