Hello!
I'm having trouble creating a gif for this script! Could anyone help me? Thanks
close all
clear all
clc
pt=randi([100,200],10,3);
plot3(pt(:,1),pt(:,2),pt(:,3),'o','markerfacecolor','r','markeredgecolor','r')
grid on
box
daspect([1 1 1])
x_lim=get(gca,'xlim')
y_lim=get(gca,'ylim')
z_lim=get(gca,'zlim')
set(gca,'xtick',[x_lim(1):25:x_lim(2)])
set(gca,'ytick',[y_lim(1):25:y_lim(2)])
set(gca,'ztick',[z_lim(1):25:z_lim(2)])
set(gca,'CameraViewAngle',[15])
for i=1:5:380
view(i,33)
pause(0.15)
end

 Respuesta aceptada

Ameer Hamza
Ameer Hamza el 14 de Nov. de 2020
Editada: Ameer Hamza el 14 de Nov. de 2020

1 voto

You can use imwrite(). See the example titled "Write Animated GIF" here: https://www.mathworks.com/help/matlab/ref/imwrite.html#btv452g-1
For example
close all
clear all
clc
pt=randi([100,200],10,3);
plot3(pt(:,1),pt(:,2),pt(:,3),'o','markerfacecolor','r','markeredgecolor','r')
grid on
box
daspect([1 1 1])
x_lim=get(gca,'xlim');
y_lim=get(gca,'ylim');
z_lim=get(gca,'zlim');
set(gca,'xtick',[x_lim(1):25:x_lim(2)])
set(gca,'ytick',[y_lim(1):25:y_lim(2)])
set(gca,'ztick',[z_lim(1):25:z_lim(2)])
set(gca,'CameraViewAngle',[15])
for i=1:5:380
view(i,33)
pause(0.15)
frame = getframe(gcf);
[im, map] = rgb2ind(frame2im(frame),256);
if i == 1
imwrite(im, map, 'myAnimation.gif', 'gif', 'LoopCount', 1, 'DelayTime', 0.1);
else
imwrite(im, map, 'myAnimation.gif', 'gif', 'WriteMode', 'append', 'DelayTime', 0.1);
end
end

7 comentarios

Alberto Acri
Alberto Acri el 14 de Nov. de 2020
thank you so much !!
Alberto Acri
Alberto Acri el 14 de Nov. de 2020
And... is it possible to hide the axes?
Ameer Hamza
Ameer Hamza el 14 de Nov. de 2020
Which part of axes you want to hide? Do you want to hide the complete thing? Add this line before the for-loop
set(gca, 'Visible', 'off');
Alberto Acri
Alberto Acri el 14 de Nov. de 2020
yes, perfect. Thank you so much !!
Alberto Acri
Alberto Acri el 14 de Nov. de 2020
And another thing. Can I have a white background in the gif?
Ameer Hamza
Ameer Hamza el 14 de Nov. de 2020
Put these two lines before for-loop
set(gcf, 'Color', [1 1 1])
set(gca, 'Visible', 'off');
Alberto Acri
Alberto Acri el 14 de Nov. de 2020
ok, thanks

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Versión

R2020a

Etiquetas

Preguntada:

el 14 de Nov. de 2020

Comentada:

el 14 de Nov. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by