CANADA'S WINDVIEW

趣味の写真を投稿していきます。昆虫好きな長男と一緒に昆虫を追いかけています。最初の年はセミやカマキリ、次の年はカブトムシ、トンボ、そして今年は…

LibreOffice Calcで描く素数曼荼羅64ピン

カテゴリー[ 昆虫| 田園| | | 数学・幾何学| 寺院| | 祭り| 鉄道| | 風力発電]

f:id:windview_canada:20211114150207p:plain

LibreOffice Calcで描いた素数曼荼羅 20211114_01

f:id:windview_canada:20211114150313p:plain

LibreOffice Calcで描いた素数曼荼羅 20211114_02

f:id:windview_canada:20211114150520p:plain

素数曼荼羅描画のためのLibreOffice Calcデータ作成画面 20211114_01

セルの内容

n X_1 Y_1 N_1 X_2 Y_2 N_2 X_3 Y_3
0 =COS(2*PI()*A2*\$D\$2/64) =SIN(2*PI()*A2*\$D\$2/64) 31 =COS(2*PI()*A2*\$G\$2/64) =SIN(2*PI()*A2*\$G\$2/64) 29 =COS(2*PI()*A2*\$J\$2/64) =SIN(2*PI()*A2*\$J\$2/64)
A2+1 =COS(2*PI()*A3*\$D\$2/64) =SIN(2*PI()*A3*\$D\$2/64)   =COS(2*PI()*A3*\$G\$2/64) =SIN(2*PI()*A3*\$G\$2/64)   =COS(2*PI()*A3*\$J\$2/64) =SIN(2*PI()*A3*\$J\$2/64)
A3+1 =COS(2*PI()*A4*\$D\$2/64) =SIN(2*PI()*A4*\$D\$2/64)   =COS(2*PI()*A4*\$G\$2/64) =SIN(2*PI()*A4*\$G\$2/64)   =COS(2*PI()*A4*\$J\$2/64) =SIN(2*PI()*A4*\$J\$2/64)
A4+1 =COS(2*PI()*A5*\$D\$2/64) =SIN(2*PI()*A5*\$D\$2/64)   =COS(2*PI()*A5*\$G\$2/64) =SIN(2*PI()*A5*\$G\$2/64)   =COS(2*PI()*A5*\$J\$2/64) =SIN(2*PI()*A5*\$J\$2/64)
A5+1 =COS(2*PI()*A6*\$D\$2/64) =SIN(2*PI()*A6*\$D\$2/64)   =COS(2*PI()*A6*\$G\$2/64) =SIN(2*PI()*A6*\$G\$2/64)   =COS(2*PI()*A6*\$J\$2/64) =SIN(2*PI()*A6*\$J\$2/64)
   
A65+1 =COS(2*PI()*A66*\$D\$2/64) =SIN(2*PI()*A66*\$D\$2/64)   =COS(2*PI()*A66*\$G\$2/64) =SIN(2*PI()*A66*\$G\$2/64)   =COS(2*PI()*A66*\$J\$2/64) =SIN(2*PI()*A66*\$J\$2/64)

 

20211114日 晴れ 18⇔8 西北西2

LibreOffice Calcで描いた素数曼荼羅(64ピン)です。

以前素数曼荼羅Adobe Illustratorで描きましたが、最近書店で岡本健太郎氏の「アートで魅せる数学の世界」を見つけ、それにはなんとMS-Excelのグラフとして素数曼荼羅(ストリング・アート)が描画できることが載っていました。そこでオープンソースのOfficeソフトウェアであるLibreOfficeの中のCalcを使って描画してみました。calcでも「アートで魅せる数学の世界」に紹介されていた数式(関数)と同じもので行けました。

 

掛ける糸毎にデータを作るわけですが、それを作った後にそのうちの一つの糸のデータで散布図を選んでグラフを描画します。それからそのグラフに1糸ずつデータを追加([データ範囲]→[データ系列]→[追加])して行きます。色や糸の太さなどは後から変更できます。

データの追加は、1糸分ずつ、Xの値の範囲を「\$p128.\$B\$1:\$B\$66」、Yの値の範囲を「\$p128.\$C\$1:\$C\$66」のように選択します。

f:id:windview_canada:20211114232740p:plain

データ追加01

f:id:windview_canada:20211114232811p:plain

データ追加02

結果的にデータ範囲が「\$p128.\$W\$2:\$X\$66,\$p128.\$X\$1,\$p128.\$U\$1:\$U\$66,\$p128.\$R\$1:\$R\$66,\$p128.\$O\$1:\$O\$66,\$p128.\$L\$1:\$L\$66,\$p128.\$I\$1:\$I\$66,\$p128.\$F\$1:\$F\$66,\$p128.\$C\$1:\$C\$66」と選択されていればOKです。

 

グラフは、X,Yの値の範囲は -1.1 \sim 1.1としておくと良いです。縦のA4用紙に出力することを考える場合でしたら、グラフの領域のサイズを14cm×14cmで固定([保護])して置くと良いでしょう。ここでは糸(線)の太さは0.01cmとしました。

糸(線)の色は、外側から

__#E60012__ __#F39800__ __#FFF100__ __#83FF00__ __#009944__ __#0068B7__ __#1D2088__ __#920783__

とし、虹の配列と同じにしました。

 

数学的には、 x^2 + y^2 = 1 の単位円上に ( 1, 0 ) から始まる n個のピンを打ち、これに P_0 P_1 P_2,…, P_{n-1} P_{n} ( = P_0 ) と番号を振ると、これらのピン P_kの座標は、 \displaystyle \left( \cos {\frac{2 \pi k}{n}}, \sin {\frac{2 \pi k}{n}} \right) と表せます。

f:id:windview_canada:20211115161533p:plain

単位円とピンP_k



そして、ピン P_0から N本ごとに糸を掛けるという計算をしています。
今回は、64ピンに素数で糸掛けをするので、 n = 64 N = 31, 29, 23, 19, 17, 13, 11, 7 としています。
ちなみに、 n N は互いに素な(1以外の公約数を持たない)組み合わせであれば、1つの糸が全部のピンに掛かります。