Question regarding impoly restraint to move about a specified path
3 views (last 30 days)
Show older comments
Saikat Banerjee
on 11 Jun 2020
Commented: Saikat Banerjee
on 14 Jun 2020
Lets say I have an implicit equation in x and y f(x,y)=x^2 + y^2 -5*x +12*y +24 which is an example. I construct an impoly with three or n number of vertices over the curve.My question is how can I restrict the movement of vertices of impoly to be restricted to follow the path of the curve.
2 Comments
Accepted Answer
darova
on 13 Jun 2020
Use setPositionConstraintFcn function
function main
clc,clear
x = 0:.05:10;
y = sin(x);
plot(x,y,'.-r')
h = impoly(gca,[0:2; sin(0:2)]'); % create impoly on the curve
setPositionConstraintFcn(h,@fcn) % assign constraint
function newPos = fcn(currPos)
d = pdist2([x(:) y(:)],currPos);
[~,ix] = min(d); % find closest points
newPos = [x(ix); y(ix)]'; % constrained position
end
end
0 Comments
More Answers (1)
Ameer Hamza
on 12 Jun 2020
You can use fimplicit() to get the points on the equation and then pass those points to impoly()
f = @(x, y) x.^2 + y.^2 - 5*x + 12*y + 24;
fi = fimplicit(f, [-3 8 -15 0]);
x = fi.XData;
y = fi.YData;
See Also
Categories
Find more on Data Import and Analysis in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!