How to fill wing movement in 3d?

1 visualización (últimos 30 días)
Ziv Kassner
Ziv Kassner el 16 de Jun. de 2019
Comentada: Ziv Kassner el 17 de Jun. de 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 comentarios
KSSV
KSSV el 17 de Jun. de 2019
What coodinates correspond to wing?
Ziv Kassner
Ziv Kassner el 17 de Jun. de 2019
AA(:,1:3) are wing tip trajectory, AA(:,4:6) is wing base that is stationary.

Iniciar sesión para comentar.

Respuesta aceptada

Ziv Kassner
Ziv Kassner el 17 de Jun. de 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 comentarios
darova
darova el 17 de Jun. de 2019
Editada: darova el 17 de Jun. de 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 el 17 de Jun. de 2019
Even better,
Thanks,
Ziv

Iniciar sesión para comentar.

Más respuestas (1)

KSSV
KSSV el 17 de Jun. de 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))

Categorías

Más información sobre Programming en Help Center y File Exchange.

Productos


Versión

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by