Connecting 3-points by arc
이전 댓글 표시
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.
답변 (1개)
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
Abdulaziz Alnaghmoush
2021년 3월 13일
darova
2021년 3월 13일
This is parabola, not an arc
Walter Roberson
2021년 3월 13일
Oh? How is an arc defined? Is a parabola not a connected subset of a differentiateable function?
https://en.m.wikipedia.org/wiki/Curve#Differentiable_arc
darova
2021년 3월 13일
I thought arc is a part of circle
Walter Roberson
2021년 3월 13일
Nope, any curve that you can differentiate.
카테고리
도움말 센터 및 File Exchange에서 Line Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
