How to fill wing movement in 3d?

2 vues (au cours des 30 derniers jours)
Ziv Kassner
Ziv Kassner le 16 Juin 2019
Commenté : Ziv Kassner le 17 Juin 2019
Hi,
I have a n-by-3 matrix of flapping wing tip path and a stationary base point (zeros(3,n)) - attached as 'wingtip.m'.
I want to use the 'fill3' function but I don't really understand how to use it in here.
I wish to fill the path in which the wing passes threw time.
The BAD way I did it so far is:
figure; hold on;
for i = 1:length(AA) % This is how the matrix in 'wingtip.m' is called
wing(1,1:3) = AA(i,1:3);
wing(2,1:3) = [0 0 0];
plot3(wing(:,1),wing(:,2),wing(:,3),'b','linewidth',10);
end
  6 commentaires
KSSV
KSSV le 17 Juin 2019
What coodinates correspond to wing?
Ziv Kassner
Ziv Kassner le 17 Juin 2019
AA(:,1:3) are wing tip trajectory, AA(:,4:6) is wing base that is stationary.

Connectez-vous pour commenter.

Réponse acceptée

Ziv Kassner
Ziv Kassner le 17 Juin 2019
Just made it happen:
for i = 1:length(AA)-1
fill3([AA(i,1);AA(i,4);AA(i+1,1)],...
[AA(i,2);AA(i,5);AA(i+1,2)],...
[AA(i,3);AA(i,6);AA(i+1,3)],'r','edgecolor','none')
hold on;
end
axis equal; grid on;
Thank you
  2 commentaires
darova
darova le 17 Juin 2019
Modifié(e) : darova le 17 Juin 2019
no need for loop
x = AA(:,1);
y = AA(:,2);
z = AA(:,3);
h = surf([x x*0]', [y y*0]', [z z*0]');
alpha(h,0.5)
set(h,'EdgeColor','none')
set(h,'FaceLighting','phong',...
'AmbientStrength',0.5)
light('Position',[1 0 0],'Style','infinite');
#EDITED
Ziv Kassner
Ziv Kassner le 17 Juin 2019
Even better,
Thanks,
Ziv

Connectez-vous pour commenter.

Plus de réponses (1)

KSSV
KSSV le 17 Juin 2019
This is what you are looking for?
load 'wingtip.mat'
t = AA(:,1:3) ;
wing = AA(:,4:6) ;
patch(t(:,1),t(:,2),t(:,3))

Catégories

En savoir plus sur Multibody Dynamics dans Help Center et File Exchange

Produits


Version

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by