3次元で円錐台を描く方法

15 次查看(过去 30 天)
N/A
N/A 2018-7-1
回答: Naoya 2018-7-4
下記に示すようなプログラムを書きました。矢印ではなく、「円錐台を反転させた立体図」で書くにはどのように修正をしたらいいですか?
p1 = [0 0 0]; % 始点
p2 = [0 0 1]; % 終点
quiver3(p1(1), p1(2), p1(3), p2(1)-p1(1), p2(2)-p1(2), p2(3)-p1(3), 0)
hold on
sita=deg2rad(45);
p1 = [0 0 0]; % 始点
p2 = [0 -sin(sita) cos(sita)]; % 終点
quiver3(p1(1), p1(2), p1(3), p2(1)-p1(1), p2(2)-p1(2), p2(3)-p1(3), 0)
p1 = [0 0 0]; % 始点
p2 = [sin(sita) 0 cos(sita)]; % 終点
quiver3(p1(1), p1(2), p1(3), p2(1)-p1(1), p2(2)-p1(2), p2(3)-p1(3), 0)
p1 = [0 0 0]; % 始点
p2 = [0 sin(sita) cos(sita)]; % 終点
quiver3(p1(1), p1(2), p1(3), p2(1)-p1(1), p2(2)-p1(2), p2(3)-p1(3), 0)
p1 = [0 0 0]; % 始点
p2 = [-sin(sita) 0 cos(sita)]; % 終点
quiver3(p1(1), p1(2), p1(3), p2(1)-p1(1), p2(2)-p1(2), p2(3)-p1(3), 0)

采纳的回答

Naoya
Naoya 2018-7-4
円柱座標を作成する関数として cylinder があります。
こちらは半径と円周を解像度を引数として指定します。 円錐の場合、半径の値を 0 から徐々に増加させるにすると円錐座標を求められます。 円錐台ということでz方向にバイアスを付けた円柱を重ね書きするとよいと思います。
% 円錐を作成
[X,Y,Z] = cylinder([0:0.1:1],50);
Z = Z/sqrt(2);
% 円柱を作成
[X2,Y2,Z2] = cylinder([1 1],50);
Z2 = (1-1/sqrt(2))*Z2+ 1/sqrt(2);
% グラフ描画
surf(X,Y,Z)
hold on
surf(X2,Y2,Z2)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 ベクトル場 的更多信息

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!