はじめに
matplotlib mplot3dで円錐台を作成する。
コード
解説
モジュールのインポート
3Dグラフの設定
データの生成
円錐は媒介変数でデータを生成する。x,yは、
$$x=rcos\theta\\y=rsin\theta$$で、円錐は直交座標で
$$z^2=x^2+y^2$$とあらわせるので、z=rとなる。ふつうにZ = R
とすると下に凸になるので、マイナスをかけて反転させて、+5することで底を0に持ってきている。
円錐台にする設定
[matplotlib 3D] 35. 円柱(円筒座標)
matplotlib mplot3dで円柱を表示する方法を解説する。ここでは円筒座標系でデータを生成する。
円柱のとき(↑)では、フタと底にCircleを使ったが、今回はmplot3d surfaceグラフでフタと底を描写する。
フタと底の作成には、np.full()を使う。
フタは2.5の位置にくるので、すべて、2.5で構成された(100,100)の配列をつくる。
底は0の位置なので、同様に、0の(100,100)の配列をつくる。
Z[Z >= 2.5] = np.nan
とすることで、Zの2.5以上のデータがすべてnanになり、グラフに表示されなくなる。
軸範囲、軸ラベルの設定
3Dグラフの表示
最初のプロットで円錐のz=2.5までが表示される。
次のプロットでフタが表示される。z=2.5の位置は半径を1〜0で変化させる必要があるので、X,Yをそれぞれ半分にしている。
最後のプロットで、底を表示する。
コメント
[…] [matplotlib 3D] 41. 円錐台(Truncated cone)matplotlib mplot3dによる円錐台sabopy.com2018.12.07 […]