Connecting 3-points by arc
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
How can I plot an arc that can connect three-point in the x,y plane, the points are 2*1 matrix. Actually, I look to create a function so I can use it many times.
0 Kommentare
Antworten (1)
Walter Roberson
am 13 Mär. 2021
Note that this code considers the points to be unordered, and connects them in x order.
Also, this code is not designed to be able to handle vertical (or near vertical) connections. For example connect3([1;1], [1;3], [2,2]) will give it problems.
connect3(randn(2,1), randn(2,1), randn(2,1));
connect3(rand(2,1)*2, rand(2,1)*2, rand(2,1)*2);
function connect3(A, B, C)
x = [A(1); B(1); C(1)];
y = [A(2); B(2); C(2)];
[x, idx] = sort(x);
y = y(idx);
p = polyfit(x, y, 2);
xp = linspace(x(1),x(3),20);
yp = polyval(p, xp);
line(xp, yp);
end
5 Kommentare
Siehe auch
Kategorien
Mehr zu Fit Postprocessing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
