軸がz軸と平行ではない円錐面のplot方法

3 ビュー (過去 30 日間)
dai
dai 2020 年 9 月 16 日
コメント済み: dai 2020 年 9 月 17 日
3次元で頂点の座標,頂点と底面を結ぶ直線の傾き,底面の半径が分かっているときに円錐面をplotする方法はありますか?
頂点が原点,そして円錐の軸がz軸である場合はcylinder関数を用いて以下のように円錐が描けます.
ここから任意の点を頂点とし,軸を一定の角度に傾けて円錐を描くことは可能でしょうか?
%円錐の作成
[X,Y,Z] = cylinder([0:0.1:1],50);
Z = Z/sqrt(2);
%plot
surf(X,Y,Z)

採用された回答

Shunichi Kusano
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次元回転したものになっているはずです。
  1 件のコメント
dai
dai 2020 年 9 月 17 日
解決しました!回答の速さに感動です...
とても助かりました.ありがとうございます!

サインインしてコメントする。

その他の回答 (0 件)

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!