軸がz軸と平行ではない円錐面のplot方法
3 ビュー (過去 30 日間)
古いコメントを表示
3次元で頂点の座標,頂点と底面を結ぶ直線の傾き,底面の半径が分かっているときに円錐面をplotする方法はありますか?
頂点が原点,そして円錐の軸がz軸である場合はcylinder関数を用いて以下のように円錐が描けます.
ここから任意の点を頂点とし,軸を一定の角度に傾けて円錐を描くことは可能でしょうか?
%円錐の作成
[X,Y,Z] = cylinder([0:0.1:1],50);
Z = Z/sqrt(2);
%plot
surf(X,Y,Z)
0 件のコメント
採用された回答
Shunichi Kusano
2020 年 9 月 16 日
こんにちは
3次元の回転を使って頂点の座標を変換して、それを描画することができました。添付のスクリプトの使い方を下に示します。
%円錐の作成
[X,Y,Z] = cylinder([0:0.1:1],50);
Z = Z/sqrt(2);
%plot
f = surf(X,Y,Z);
axis equal
surf_rot_3d(f, 45, 30, [10 20 30]);
2番目の45はx->y軸方向の回転角(方位角)
3番目の30はz->x方向の俯角
4番目の[10 20 30]は頂点座標のxyz
です。角度はそれぞれdegreeで入れてください。実行すると元のプロットが上書きされて3次元回転したものになっているはずです。
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で 表面プロットとメッシュ プロット についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!