アニメーションに画像を貼り付ける
10 ビュー (過去 30 日間)
古いコメントを表示
matlabとOpenGLを使用して作成された、赤 色[ 1.0 0.0 0.0 1 ]の直方体が近づいてくるアニメーションがあります。コードはお出しすることができないのですが申し訳ありません。
私はこの直方体に画像を貼り付けることで、その画像が近づいてくるようなアニメーションを作成したいと考えているのですが、このようなことはできますでしょうか?
1 件のコメント
Atsushi Ueno
2021 年 6 月 23 日
「MATLABとOpenGLを使用して」というのが引っ掛かります。
C/C++環境でOpenGLプログラミングをされているのでしょうか?そうであればテクスチャマッピングを行うOpenGLの関数はglTexImage2D() 関数等を用います。MATLABの話ではないので詳細は割愛致します。
MATLAB環境であれば、MATLABからOpenGLの関数を直接呼び出す事は無いはずです。(するとしたらC/C++のOpenGL関数をMATLABから呼び出して実行?) 通常のMATLABグラフィックス関数を用いて直方体を描画し、その表面の設定をテクスチャマッピング使用にすれば目的の事が出来るはずです。
採用された回答
Atsushi Ueno
2021 年 6 月 23 日
MATLABのグラフィックス関数を用いた描画の表面にテクスチャマッピングを行う設定があります。動画の例ではfindobjやset関数を使っていますが、surf関数の引数設定で同じ事が出来ます。詳細は下記ドキュメント(名前と値のペアの引数:'FaceColor', 'texturemap')を参照ください。
6 件のコメント
Atsushi Ueno
2021 年 6 月 24 日
当初の懸念が顕在化しました。
OpenGL APIはC言語関数群の形で提供されます。glTranslatef()やglutSolidCube()はC/C++のAPIで呼び出します。MATLABで実行しているとすれば、glTranslatef()やglutSolidCube()を呼び出すC/C++コードをMATLABから呼び出して動かしているのでしょう。
現状のプログラムに対し、MATLABのグラフィック機能でテクスチャマッピングを付け足す事は不可能です。OpenGLの関数を使ってテクスチャマッピングを行う事が出来ます。
以上の事が判ったので回答内容を変更します。
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で ライティング、透明度、およびシェーディング についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!