How to connect a line between two moving points?
5 views (last 30 days)
Show older comments
Pablo González de la Parra
on 15 Oct 2020
Commented: Pablo González de la Parra
on 22 Oct 2020
Hello! I am trying to model a sliding-crank mechanism using fanimator's and simple fplot's. I´ve managed to model the movement of the "crank" or the circle, and also the movement of the "slide" or the horizontal movement. But I am asked to unite these moving points with a line (that can move obviously with them and without changing its lenght) in order to represent the "connecting rod" to finish the mechanism. So, how can I make this line so when the "animation" runs the mechanism looks complete?
r=5;
l=20;
f = @(t) plot(r*cos(t), r*sin(t), "ro", "MarkerFaceColor", "r", "MarkerSize", 16);
fanimator(f,"AnimationRange", [0 6*pi]);
hold on
g = @(t) plot(r*cos(t)+sqrt(l^2-r^2*sin(t)*.2),0, "ro", "MarkerFaceColor", "r", "MarkerSize", 16);
fanimator(g,"AnimationRange", [0 25]);
hold off
syms t
x = r*cos(t);
y = r*sin(t);
x1 = t;
y1 = t-t;
hold on
fplot(x, y, [0,2*pi])
title("Circulo")
hold off
hold on
fplot(x1, y1, [15, 25])
title("Linea Recta")
hold off
0 Comments
Accepted Answer
Swatantra Mahato
on 19 Oct 2020
Hi Pablo,
Assuming you want to join the points representing the "crank" and the "slide", you can do this in a similar way how you generated the points. You can include the following lines in your script:
rod=@(t)plot([r*cos(t),r*cos(t)+sqrt(l^2-r^2*sin(t)*.2)],[r*sin(t),0]);
fanimator(rod,"AnimationRange",[0 6*pi]);
Here rod is a line connecting the points representing the "crank" and the "slide" and fanimator enables the rod to move along with the points for the same time as "crank" (6*pi).
Hope this helps
More Answers (0)
See Also
Categories
Find more on Partial Differential Equation Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!