質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

0回答

290閲覧

3dの扇を描画したい

odadadada

総合スコア4

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2022/06/25 00:12

編集2022/06/26 04:27

実現したいこと

3次元空間に扇形を底面とする柱体を描画したい。
1000個以上の柱体を描画するつもりなのでできるだけ軽いものが良い。

教えていただきたいこと

2次元でのWedgeに対応する3次元の関数があれば教えていただきたい。
もっと軽い処理で行えるものがあれば教えていただきたい。

2次元扇を描画するソースコード

Python

1import numpy as np 2import matplotlib.pyplot as plt 3import matplotlib.patches as pat 4import matplotlib.cm as cm 5 6 7fig= plt.figure(figsize=(8,8)) 8ax=fig.add_subplot(111) 9 10siita=[] 11siita2= [] 12siita3=[] 13siita4=[] 14r_list=[1,0.7,0.3,0.2] 15 16 17siita.append(0) 18for i in range(21): 19 siita.append((i+1)*16.3+3-np.random.rand()*6) 20 21siita.append(360) 22 23for i in range(22): 24 w=pat.Wedge(center=(0,0),r=r_list[0],width=0.3,theta1=siita[i],theta2=siita[i+1],color = cm.hsv(np.random.rand())) 25 ax.add_patch(w) 26 27 28siita2.append(0) 29for i in range(7): 30 siita2.append((i+1)*45+3-np.random.rand()*6) 31 32siita2.append(360) 33 34for i in range(8): 35 w=pat.Wedge(center=(0,0),r=r_list[1],width=0.4,theta1=siita2[i],theta2=siita2[i+1],color = cm.hsv(np.random.rand())) 36 ax.add_patch(w) 37 38 39siita3.append(0) 40for i in range(7): 41 siita3.append((i+1)*45+5-np.random.rand()*10) 42 43siita3.append(360) 44 45for i in range(8): 46 w=pat.Wedge(center=(0,0),r=r_list[2],width=0.1,theta1=siita3[i],theta2=siita3[i+1],color = cm.hsv(np.random.rand())) 47 ax.add_patch(w) 48 49siita4.append(0) 50for i in range(13): 51 siita4.append((i+1)*25.7+5-np.random.rand()*5) 52 53siita4.append(360) 54 55for i in range(14): 56 w=pat.Wedge(center=(0,0),r=r_list[3],theta1=siita4[i],theta2=siita4[i+1],color = cm.hsv(np.random.rand())) 57 ax.add_patch(w) 58 59 60ax.set_xlim(-1,1) 61ax.set_ylim(-1,1) 62plt.show()

試したこと

2次元の扇はWedgeで描画できました。このような扇形の集団に"高さ"を持たせたいです。
イメージ説明

どのように描画したいか

扇型の柱を任意の座標に配置したいです。これを複数回繰り返して円柱を組み立てるイメージです。任意の柱だけ描画すれば断面が見えるようにしたいです。
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/06/25 22:01

https://qiita.com/ochimusha01/items/fd8e51940b5e0e1a28c5 3Dの円筒は描けるようですが、サンプルの画像を3Dにして塗りつぶすと内部の色は見えなくなってしまいます。どういうように表示させたいか、の説明があった方が詳しい人の回答がもらえやすそうです。 (私にはできません💦)
odadadada

2022/06/26 04:29

質問内容が分かりづらかったようなので修正しました。 ありがとうございます☺
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問