Mercurial > repos > public > sbplib
view +draw/prompt_bezier.m @ 86:3c39dd714fb6
In Curve: Added numerical FD differentiation if derivative is not supplied. Added arc length computation based on the derivative. Added arc length parameterization (but this function is very slow.). In +util: Added fzero_vec.m and integral_vec.m, which call fzero and integral but take vector arguments.
author | Martin Almquist <martin.almquist@it.uu.se> |
---|---|
date | Sun, 29 Nov 2015 14:28:53 +0100 |
parents | 48b6fb693025 |
children | 875386d0b2ff |
line wrap: on
line source
function [C,h] = prompt_bezier(s,varargin) default_arg('s',[]) if ~isempty(s) fprintf(s,varargin{:}); end fprintf('# Draw bezier curve\n') a = draw.prompt_point('Enter starting point\n'); p = draw.point(a); p.Color = Color.green; p.MarkerSize = 24; b = draw.prompt_point('Enter stopping point\n'); p = draw.point(b); p.Color = Color.red; p.MarkerSize = 24; c1 = draw.prompt_point('Enter control point 1\n'); p = draw.point(c1); p.Color = Color.yellow; p.MarkerSize = 16; c2 = draw.prompt_point('Enter control point 2\n'); p = draw.point(c2); p.Color = Color.yellow; p.MarkerSize = 16; C = grid.Curve.bezier(a,c1,c2,b); fprintf('C = grid.Curve.bezier([%.3g; %.3g],[%.3g; %.3g],[%.3g; %.3g],[%.3g; %.3g]);\n',a,c1,c2,b) h = C.plot(); uistack(h,'bottom'); end