Я использую анимированную линию для создания анимации распредвала, вращающего и перемещающего ведро, которое сидит на клапане.
Я создал два отдельных графика: полярные координаты профиля подъема клапана и горизонтальную линию, основанную на минимальном значении распределительного вала в направлении Y. Тем не менее, я составил эти два, и анимация работает хорошо, если не считать линии, которая соединяет последнюю точку кулачка с горизонтальной линией, и я пытаюсь избавиться от нее.
Ниже картина, объясняющая, что я имею в виду;
Пример изображения
Я прикрепил файл .mat к профилю подъема кулачка, и мой код приведен ниже. Я уверен, что упускаю что-то очевидное, но я мог бы быть слишком близко к лесу, чтобы увидеть деревья.
Файл Raw_Cam_Data прикреплен в выпадающем списке по ссылке ниже (думаю, это будет работать?)
Raw_Cam_Data.mat
clear
clc
load('Raw_Cam_Data')
theta = deg2rad(1:1:360)
phi = theta'
R = Lift' + 17.6
%==============================
h = animatedline;
axis([-30 30 -30 30])
rotation = (-pi:pi/180:pi - (pi/180))'
output = zeros(360,1)
for II = 1:1:length(phi)-1
x = R .* sin(theta + rotation(II))
y = R .* cos(theta + rotation(II))
[bucket, indice] = (min(y))
output(II) = indice
x_bucket = linspace(-25,25,359)
y_bucket = bucket * ones(359,1)
addpoints(h, x, y)
addpoints(h, x_bucket, y_bucket)
drawnow
clearpoints(h)
end
Спасибо