[matplotlib 3D] 49.トーラス結び目(torus knot)

matplotlib 3D
スポンサーリンク
スポンサーリンク

はじめに

matplotlib mplot3dによる3Dグラフ上にトーラス結び目を表示する。

スポンサーリンク

コード

スポンサーリンク

解説

元データについて

数学デッサン教室 ― 描いて楽しむ数学のかたち | 瑞慶山 香佳 |本 | 通販 | Amazon
Amazonで瑞慶山 香佳の数学デッサン教室 ― 描いて楽しむ数学のかたち。アマゾンならポイント還元本が多数。瑞慶山 香佳作品ほか、お急ぎ便対象商品は当日お届けも可能。また数学デッサン教室 ― 描いて楽しむ数学のかたちもアマゾン配送商品なら通常配送無料。

上記の本に記載の数式により、トーラス結び目を作成した。

トーラス結び目の式は以下のように表される。

$$x = (b+asin(pu))cos(qu)\\ y = (b+asin(pu))sin(qu)\\ z = asin(pu)$$

トーラス結び目は媒介変数でデータを生成するので、uをnp.linspace(0,2*np.pi,100)として0から2πとする。ここでbはトーラス自体の大きい半径、aはトーラスの太さの半径となる。

この式では、曲面ではなく、トーラス曲面に沿った曲線が表示される。

p,qは、小円方向にp回、大円方向にq回まわったことを意味する定数。

モジュールのインポート

figの作成

トーラス結び目の生成,表示

表示には、plot(X,Y,Z)で散布図を用いた。’g.-‘で緑の点と線でトーラス結び目が表示される。

軸範囲、軸ラベル、アスペクト比の設定

スポンサーリンク

参考

数学デッサン教室 ― 描いて楽しむ数学のかたち | 瑞慶山 香佳 |本 | 通販 | Amazon
Amazonで瑞慶山 香佳の数学デッサン教室 ― 描いて楽しむ数学のかたち。アマゾンならポイント還元本が多数。瑞慶山 香佳作品ほか、お急ぎ便対象商品は当日お届けも可能。また数学デッサン教室 ― 描いて楽しむ数学のかたちもアマゾン配送商品なら通常配送無料。
スポンサーリンク
matplotlib 3Dpython
スポンサーリンク
この記事をシェアする
sabopy.comをフォローする
スポンサーリンク
サボテンパイソン

コメント