• 締切済み

MATLABに詳しい方,お願いします

私は現在,研究で環境モデリングについて研究しております. モデリングを行う上で,MATLABのwarpという関数を用いテクスチャマッピングをしています. そこで,3次元PLOTしたモデリング結果の視点を,原点に取りたいのですが,どうしても無限遠の視点を変えることができません. 色々調べたのですが,視点方向を変える関数はあるのですが,視点の座標を定義できる関数がありませんでした. MATLABでは視点を定義することはできないのでしょうか? 知識のある方がおられましたら,どうかご教授下さい.

みんなの回答

回答No.1

遠近投影でよければできますよ。 help camproj またはmathworksのHPにやり方は書いてます。 http://www.mathworks.com/access/helpdesk_ja_JP/help/techdoc/visualize/f4-22650.html

bte7138
質問者

お礼

こんなPLOT方法もあるのですね. ありがとうございました.参考になります.

関連するQ&A

  • MATLABによるアニメーション

    現在、数値流体解析を行っており、その結果を3次元のアニメーションをしたいと考えています。アニメーションさせる方法としてMATLABを考えいるのですがなかなか思うように行きません。そこで、以下の質問があります。 (1):アニメーションの為の3次元のデータファイルはどのような配列で   ファイルに格納しなければならないのか。 (2):データファイルには、ある時間ステップごとのデータがあるのですが   このデータをどのようにMATLABに読み込ませれば良いのか((1)にも関係が  あるかも) (3):アニメーションの為の必要な関数、定義は何か 以上の3つなのですが、もしMATLABによるアニメーションの良い例などがどこかのホームページなどにあれば教えていただけるとありがたいです。 分かりにくい文章で申し訳ありませんがよろしくお願いします。

  • OPEN GLのテクスチャ座標

    色々なサイトを読むとテクスチャ座標にはS,T,Q,Rがあると書いてあるのですが、具体的にS,T,Q,Rがどういう座標なのかよく分からないのですが、教えて頂けますでしょうか。 自分なりに調べて少し参考になったのは以下のサイトなのですが、ここではS,Tの定義については説明されています。 http://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20040917 ここをみるとS,TがテクスチャファイルのX,Y方向なのかなというのは想像できます。 しかし、別のサイトを見ると二次元のテクスチャを使っているのにS,T,Q,Rを全て定義、即ち四次元の座標を定義している理由が理解できないのです。 何故二次元のテクスチャを使うのに四次元のパラメータが必要なのか、Q,Rはどういう座標系なのか、ここのところがどうしても分からないでおります。 お手数ですが、よろしくお願い致します。

  • MATLABのプロットについて

    三次元空間における軌道がx座標,y座標,z座標で数百点で記録されているテキストファイル(例えば300×3)が数十個あります。 これらのファイルから、MATLABを使って軌道の平均を描きたいのですが、何か良い方法はないでしょうか? 問題点は記録点数やその値がまちまちなところでして、例えば一つ目のファイルではデータが280×3であるのに二つ目では330×3といった具合で、単純に平均を取るわけにはいかないと考えています。 丁度いい関数が見つからず、今のところは下記の案を考えているのですが、いまひとつしっくり来なくて。 ・各ファイルの近似曲線を求め、これらの平均をとる ・測定点数から重みを算出し、加重平均を求める よろしくお願いします。

  • MATLABでマハラノビスの距離から楕円を描く方法が分からず困ってます。

    MATLABでマハラノビスの距離から楕円を描く方法が分からず困ってます。 現在研究で移動物体の位置推定を行っています。 プログラムソフトはMATLABを使っています。 その位置推定が正確かどうかの指標として、マハラノビスの距離を求め、二次元平面上に楕円を描き、移動軌跡がその楕円内にあるかを確認することが今後必要になります。 そのため、楕円をプログラムでプロットする必要があるのですが、その方法が分からず困っています。 些細なことでも構いませんので、回答していただけるとありがたいです。

  • Matlabで自作関数をオーバーロード

    Matlabの組み込み関数の中には、引数の数や戻り値の数に応じて異なる作用をするものが沢山あると思います。 例えば組み込みのmax関数だと y=max(x) ならxの第一次元にについての最大値を返しますし、 [y,i]=max(x) なら、さらに i に最大値のindexを代入、 一方 x=max(x,y) ならx,yの各要素について大きい方を取った行列を、 x=max(x,[],d) ならxのd次元についての最大化をしてくれます。 質問ですが、そういう関数を自分で作ることは可能ですか? function [z,w]=f(x,y) という風に関数を定義してしまうと、たとえyを関数中で利用しない場合でも、引数yを指定しなければエラーになってしまいます。同じ関数名でも呼び方に応じて異なった操作をさせることはできないでしょうか?

  • 【Matlab】画像として保存するとplot3による点が消えてしまう

    【Matlab】画像として保存するとplot3による点が消えてしまう ----------------------------------------------------------------------------------- 最近Matlabを使用し始めた初心者です。よろしくお願いします。 surf出力とplot3による点が見える形で画像を出力したいと思っています。 画像はグラフを真下からのぞいたものとし、自動的に保存したいです。 自分の稚拙なプログラムではどうしてもプロットによる点が現れません。 対策をご教授いただきたいです。 プログラムの内容は、 二次元データをcsvから読み込み、surfで出力、 またデータ上のある座標での出力をplot3で点として表示するという流れを意図しています。 'Figure'ウィンドウ上(.fig)ではplot3で出力された点が表示されるのですが 画像(bmp,tiffで出力してみました)として出力した場合その点が消えてしまいます。 mファイルのプログラム、環境は以下のようになっています。 function test_show_graph(csvfilename) %------------------------------------ z = csvread(csvfilename); [height, width] = size(z); [x,y] = meshgrid(0:0.1:(height*0.1)); h_surf = surf(x,y,z); hold on zi = interp2(x,y,z,4,4, 'cubic'); plot3(4.0,4.0,zi+10,'.r','MarkerSize',30); plot3(4.0,4.0,zi-10,'.r','MarkerSize',30); hold off view([0, -90]); saveas(h_surf, 'test', 'tiff'); %Matlab&Simulink R2008a %WindowsVista SP1 %Dell StuioXPS(Intel Core i7) surfの表面に隠れて点か見えなくなっていると思い、 表面の上下に突き抜けるようにlineを出力してみたりしてみましたがダメでした。 駄文となり申し訳ありません。 皆様の知識をお借りできれば幸いです。

  • ベクトル解析の発散の定義について

    ベクトル解析の発散はその定義とは何でしょうか。ただし空間なので3次元までです。その場合、座標系に依存しない形式で表現できないでしょうか。(ξ1, ξ2, ξ3)を一般的な3次元の座標系と考えてその中での定義です。その定義が明確になると、3次元のデカルト座標系とか円筒座標系とか球座標系などのような特殊な事情の座標系に特化した表現に至る(ブレークダウンする)と思います。 例えば、ベクトルVがあったときにその発散とは、 「Vのξi方向に微分したベクトルとξi方向の単位接線ベクトルとの内積をとりiについて和をとる」 というものだと直交デカルト座標の表現(テキストでお馴染み)も出るのですが。 また、直交曲線座標(球、極、円筒の各座標を包括する)での表現も出てきそうです。 このような感じの定義はないでしょうか。

  • 距離とベクトル

    原点(0, 0, 0) から 無限遠に伸ばす方向を示すベクトル(0.2, -0.1, 0.7) ※横・縦・奥行き順 が有るのですが、 その途中の距離4.8 の座標xyzを求めるには どう計算すれば良いでしょうか?

  • 二点の座標から距離や角度を求めたいのですが、Matlab

    こんにちは、Matlabの初心者ですがよろしくお願いします。 ある座標、たとえば、A(x1, y1) B(x2, y2)があったとして、 この二点間の距離は、 sqrt((x2-x1)^2 + (y2-y1)^2) だと思いますが、もっと簡潔に求めることができる関数とかが導入されていたりしないかと思いました。AやBを定義しておいて、AとBだけを使うことができないかと思いました。 また、この二点を通る直線とX軸とがなす角度は、 atan(sqrt((y2-y1)^2)/sqrt((y2-y1)^2)) で求められるかと思いますが、これも同様にもっと簡潔な方法がないかと思いました。 いかがでしょうか。よろしくお願いします。

  • 図面の座標系

    お世話になります 各種図面の座標系に関して、用途毎の基準点を教えていただけないでしょうか もしくは、一覧のサイト等ございましたら教えてください。 例 建築(プラント系) 左上原点で、X:右方向 Y:下方向 Z:上方向 モデリング 左下原点 X:右方向 Y:上方向 Z:上方向 地図 北上 土地・・・? 建築(住宅系)・・・?

専門家に質問してみよう