三次元グラフのZ軸を中心に回転させたい
22 views (last 30 days)
Show older comments
三次元プロットをパワーポイント上で動かして説明を行いたいと考えております。
三次元プロットいずれかの軸を回転させたムービーを作成し、それを添付する形になるのだと思います。
軸を回転させ、パワーポイントに使用する流れが説明されているサイト、資料はございますでしょうか?
お忙しいところ恐縮ですがどうぞよろしくお願いいたします。
0 Comments
Accepted Answer
Naoya
on 17 Jun 2020
動画像ファイルの作成と 動画像をパワーポイントに張り付ける 2点については以下例となります。
〇 動画像ファイルの作成
例えば、figファイルから 方位角を 1 度~ 360度まで 3度刻みでフレームを保存する場合は、以下の様な形で保存します。
h = openfig('All vessel structure (cross point).fig');
% 動画ファイルの保存
v = VideoWriter('newfile.mp4','MPEG-4');
open(v);
for n = 1:3:360
view([n, 30]);
drawnow; % 描画更新(※)
frame = getframe(h);
writeVideo(v,frame);
end
close(v);
※ drawnow コマンドを追加しないと、各ループにおいて描画が更新されない可能性もありますので、確実に更新されるように挿入します。
〇 動画像ファイルをパワーポイントに張り付ける機能
パワーポイントに動画を挿入する直接的な機能はMATLABでは提供されていませんが、COM経由でパワーポイントのオブジェクトモデルを操作すれば可能です。COMのインターフェースは、actxserver にて使用出来ます。
MATLABではCOMのインターフェースを提供しているのみとなります。
あくまでも一例ですが、COMインタフェース経由で、上で作成した newfile.mp4 を新規パワーポイントに張り付ける例となります。
% COMでPowerpointハンドル取得
h=actxserver('powerpoint.application');
% 表示
h.Visible=1;
% プレゼンテーションの追加
Presentation = h.Presentation.Add;
% スライドの追加
blankSlide = Presentation.SlideMaster.CustomLayouts.Item(1);
Slide1 = Presentation.Slides.AddSlide(1,blankSlide);
% 動画ファイルの追加
file_path=which('newfile.mp4');
% パワーポイントへの埋め込み
Slide1.Shapes.AddMediaObject2(file_path);
% プレゼンテーションを保存して、終了
Presentation.SaveAs([pwd,'\test.pptx']);
h.Quit;
delete(h)
0 Comments
More Answers (0)
See Also
Categories
Find more on MATLAB Report Generator 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!