% 4개의 컨트롤 포인트
p1=[0.5 1.5]; p2=[0.2 2.5]; p3=[3 2]; p4=[1.3 0.5];
% 베지어 곡선 계산
r = [];
for t=0:0.001:1
r = [r; (1-t)^3*p1 + 3*t*(1-t)^2*p2 + 3*t^2*(1-t)*p3 + t^3*p4];
end
% 곡선 출력
plot(r(:,1),r(:,2)), hold on, axis equal,
axis([0 3.5 0 3]);
plot(p1(1), p1(2), 'Marker', '+','MarkerEdgeColor','r','MarkerSize',5);
plot(p2(1), p2(2), 'Marker', '+','MarkerEdgeColor','r','MarkerSize',5);
plot(p3(1), p3(2), 'Marker', '+','MarkerEdgeColor','r','MarkerSize',5);
plot(p4(1), p4(2), 'Marker', '+','MarkerEdgeColor','r','MarkerSize',5);
text(p1(1)+0.1, p1(2), 'p1');
text(p2(1)+0.1, p2(2), 'p2');
text(p3(1)+0.1, p3(2), 'p3');
text(p4(1)+0.1, p4(2), 'p4');
p1=[0.5 1.5]; p2=[0.2 2.5]; p3=[3 2]; p4=[1.3 0.5];
% 베지어 곡선 계산
r = [];
for t=0:0.001:1
r = [r; (1-t)^3*p1 + 3*t*(1-t)^2*p2 + 3*t^2*(1-t)*p3 + t^3*p4];
end
% 곡선 출력
plot(r(:,1),r(:,2)), hold on, axis equal,
axis([0 3.5 0 3]);
plot(p1(1), p1(2), 'Marker', '+','MarkerEdgeColor','r','MarkerSize',5);
plot(p2(1), p2(2), 'Marker', '+','MarkerEdgeColor','r','MarkerSize',5);
plot(p3(1), p3(2), 'Marker', '+','MarkerEdgeColor','r','MarkerSize',5);
plot(p4(1), p4(2), 'Marker', '+','MarkerEdgeColor','r','MarkerSize',5);
text(p1(1)+0.1, p1(2), 'p1');
text(p2(1)+0.1, p2(2), 'p2');
text(p3(1)+0.1, p3(2), 'p3');
text(p4(1)+0.1, p4(2), 'p4');
<References>
http://baboc.tistory.com/130
bezier_curve.pdf
comments
comments rss (+댓글 쓰러가기)