京アカオンライン輪読会では1月25日(土)20:00から柳田國男『明治大正史 世相篇』を読みます。本は各自で購入してください(どの版元でも可)。参加無料、予習不要、誰でも歓迎、お試し参加もOKです!
お問合せは kyotoacademeia@gmail.com まで。
京アカオンライン輪読会では1月25日(土)20:00から柳田國男『明治大正史 世相篇』を読みます。本は各自で購入してください(どの版元でも可)。参加無料、予習不要、誰でも歓迎、お試し参加もOKです!
お問合せは kyotoacademeia@gmail.com まで。
3辺の長さから3角形の面積を求める方法として、ヘロンの公式があります. 今回はこのヘロンの公式を2通りの方法で証明します. 証明1はピタゴラスの定理を用いており, 高校の授業で普通に習う内容です. 他方で, 証明 2 は三角形の内接円を用いており, 意外と知られていないので皆様に知ってもらいたいです.
PDFファイル.
作成: 藤原大樹
更新: 2025年1月18日
バルーンアートで数学の正多面体を作っています。作成方法は複数あるのですが、今回は静岡大学の藤間信久教授による技法を紹介します(以下藤間法と呼ぶ)。藤間法では、すべての節点をピンチツイストで表現し、それらによる複数のバブルを束ねて正多面体の頂点とします。藤間法の詳細は参考資料[1][2]を見て下さい。[1]は藤間教授にメールすれば貰えます。参考資料[3][4]ではピンチツイストを含む基礎技法が紹介されています。藤間教授には講座資料を頂くだけでなく、質疑応答、組立手順の助言を頂くなど大変お世話になりました。有難うございます。
現状では正多面体の内4種類、正4面体、正6面体、正8面体、正12面体を組立てることができました。残る正20面体は、私のスキルでは組立不可能でした。出来た事と出来なかった事を合わせて解説します。以下では正多面体の設計図と完成写真を示します。設計図の丸Pはピンチツイスト(Pinch Twist)によるバブルを表します。
正20面体Cは組立不可能でした。1本のバルーンに6個のピンチツイストこぶを作ると、1辺の長さが8センチぐらいになりました。これでは短すぎて組立てられません。
正20面体ABは組立不可能でした。バルーン同士が絡み合って丸い形になってくれません。何が悪いのかいまいち分かりませんでした。設計も組立手順も悪くないと思うのですが、、、。正20面体は今後の課題とします。
[1] 藤間信久, 2017, バルーンアートで学ぶ 正多面体の幾何学
これは公開講座の講義資料で、藤間教授にメールすると頂けます。
藤間教授の連絡先は、https://train1.eng.shizuoka.ac.jp/fujima/collaborator.htmlに記載。
[2] 鈴木伊織, 2017, バルーンアートで学ぶ『正多面体の幾何学』, トップガンジャーナル 第26号, https://topgun.ed.shizuoka.ac.jp/topgun-journal/
藤間教授が開催した公開講座の様子が報告されています。
[3] Masayoshi Matsumoto, 2023, バルーンアートのはじめ方 ~これだけで大体 OK!基礎技法集~ Ver1.24. , https://isopresso-shop.booth.pm/items/847287
無料のPDFファイルがダウンロードできます。
[4] Masayoshi Matsumoto, 2020, バルーンアートの基礎技法 10 選 / 10 Basic Skills to Make Balloon Animals, https://www.youtube.com/watch?v=xFI6UjOjR7o
上記の基礎技法集に対応した動画です。
[5] 藤原大樹, 2025, 設計図(藤間法)
[6] 藤原大樹, 2025, 組立手順書(藤間法)
作成: 藤原大樹
更新: 2025年1月15日
正多面体の折紙や紙工作についてまとめました. 正多面体は, 正4面体, 立方体, 正8面体, 正12面体, 及び正20面体の5種類のみです. 多面体の折紙作品は散見されますが、その作品を実際に自分で作ろうとすると、情報が全く整理されておらず困ります. そこで, 5種類の正多面体を折紙でどのように工作するかについて文献を調査し整理しました. 同じ多面体モデルに対して多数の工作方法があり, その中には工作初心者にとって難易度が高すぎる手法もありました. 本稿では, 難易度が比較的易しい工作方法のみを厳選して紹介します.
作成: 藤原大樹
更新: 2025年1月20日
井筒俊彦『イスラーム文化』オンライン輪読会は本日で終了しました。
沢山の方にご参加いただき、ありがとうございました。次に読む本は、あらためて京アカML・京アカブログ・SNSでご連絡いたします。
graphvizはグラフ理論のイラストを描画するためのツールです。
今回はPythonを用いてgraphvizを利用します。
使い方は以下のサンプルコードを見ながら理解していって下さい。
私の動作環境はCoCalcです。
# sample_01.py
# Hello-World
from graphviz import Graph
g = Graph() # 無向グラフを生成
g.format = 'jpeg' # ファイルフォーマットを設定
# 節点を追加
g.node('Hello')
g.node('World')
# 枝を追加
g.edge('Hello', 'World')
# グラフを出力
g.render('output')
# sample_02.py
# 特定の節点を塗りつぶす
from graphviz import Graph
g = Graph() # 無向グラフを生成
g.format = 'jpeg' # ファイルフォーマットを設定
# 節点を追加
g.node('Hello')
g.node('World', style='filled', fillcolor='pink')
# 枝を追加
g.edge('Hello', 'World')
# グラフを出力
g.render('output')
# sample_03.py
# すべての節点を円にする
from graphviz import Graph
g = Graph() # 無向グラフを生成
g.format = 'jpeg' # ファイルフォーマットを設定
# すべての節点を円にする
g.attr('node', shape='circle')
# 節点を追加
g.node('Hello')
g.node('World')
# 枝を追加
g.edge('Hello', 'World')
# グラフを出力
g.render('output')
# sample_04.py
# すべての枝を太くする
from graphviz import Graph
g = Graph() # 無向グラフを生成
g.format = 'jpeg' # ファイルフォーマットを設定
# すべての枝を太くする
g.attr('edge', penwidth='10')
# 節点を追加
g.node('A')
g.node('B')
g.node('C')
# 枝を追加
g.edge('A', 'B')
g.edge('B', 'C')
# グラフを出力
g.render('output')
# sample_05.py
# 特定の枝の色を変える
from graphviz import Graph
g = Graph() # 無向グラフを生成
g.format = 'jpeg' # ファイルフォーマットを設定
# 節点を追加
g.node('A')
g.node('B')
g.node('C')
# 枝を追加
g.edge('A', 'B', color='blue')
g.edge('B', 'C', color='red')
# グラフを出力
g.render('output')
# sample_06.py
# 特定の枝を2重3重にする
from graphviz import Graph
g = Graph() # 無向グラフを生成
g.format = 'jpeg' # ファイルフォーマットを設定
# 節点を追加
g.node('A')
g.node('B')
g.node('C')
# 枝を追加
# 枝を2重にする
g.edge('A', 'B')
g.edge('A', 'B')
# 枝を3重にする
g.edge('B', 'C')
g.edge('B', 'C')
g.edge('B', 'C')
# グラフを出力
g.render('output')
# sample_07.py
# すべての節点ラベルをBにする
from graphviz import Graph
g = Graph() # 無向グラフを生成
g.format = 'jpeg' # ファイルフォーマットを設定
# すべての節点ラベルをBにする
g.attr('node', label='B')
# 節点を追加
g.node('x')
g.node('y')
g.node('z')
# 枝を追加
g.edge('x', 'y')
g.edge('y', 'z')
# グラフを出力
g.render('output')
# sample_08.py
# カラースキームを用いて枝の色を変更する
from graphviz import Graph
g = Graph() # 無向グラフを生成
g.format = 'jpeg' # ファイルフォーマットを設定
# 枝にカラースキームを用いる
g.attr('edge', colorscheme='paired12')
# 節点を追加
g.node('x')
g.node('y')
g.node('z')
# 枝を追加
g.edge('x', 'y', color='2')
g.edge('y', 'z', color='4')
# グラフを出力
g.render('output')
# sample_09.py
# 最小枝長を設定する
from graphviz import Graph
g = Graph() # 無向グラフを生成
g.format = 'jpeg' # ファイルフォーマットを設定
# 節点を追加
g.node('x')
g.node('y')
g.node('z')
# 枝を追加
g.edge('x', 'y')
# 最小枝長を設定
g.edge('y', 'z', minlen='3')
# グラフを出力
g.render('output')
# sample_10.py
# 上下逆さまに表示する
from graphviz import Graph
g = Graph() # 無向グラフを生成
g.format = 'jpeg' # ファイルフォーマットを設定
# 上下逆さまに表示する
g.attr(rankdir='BT') # bottom to top
# 節点を追加
g.node('x')
g.node('y')
g.node('z')
# 枝を追加
g.edge('x', 'y')
g.edge('y', 'z')
# グラフを出力
g.render('output')
# sample_11.py
# 節点のフォントサイズを設定する
from graphviz import Graph
g = Graph() # 無向グラフを生成
g.format = 'jpeg' # ファイルフォーマットを設定
# 節点を追加
g.node('x', fontsize='16')
g.node('y', fontsize='32')
g.node('z', fontsize='64')
# 枝を追加
g.edge('x', 'y')
g.edge('y', 'z')
# グラフを出力
g.render('output')
# sample_12.py
# 節点を小さくする
from graphviz import Graph
g = Graph() # 無向グラフを生成
g.format = 'jpeg' # ファイルフォーマットを設定
# 節点の形を円にする
g.attr('node', shape='circle')
g.attr('node', fixedsize='true')
# 節点を追加
g.node('x', width='0.3', height='0.3')
g.node('y', width='0.5', height='0.5')
g.node('z', width='0.8', height='0.8')
# 枝を追加
g.edge('x', 'y')
g.edge('y', 'z')
# グラフを出力
g.render('output')
# tetra.py
# 正四面体
from graphviz import Graph
# [1] グラフ全体の設定
# [1.1] 全体の設定
g = Graph() # 無向グラフを生成
g.format = 'svg' # ファイルフォーマットを設定
g.engine = 'twopi'
# [1.2] 全節点の設定
# 節点にカラースキームを用いる
g.attr('node', colorscheme='paired12')
# 節点内部を塗りつぶす
g.attr('node', style='filled')
# 節点の形を円にする
g.attr('node', shape='circle')
# 節点のフォントサイズを設定
g.attr('node', fontsize='16')
# 節点を小さくする
g.attr('node', width='0.3', height='0.3')
g.attr('node', fixedsize='true')
# 節点のラベルをBにする
#g.attr('node', label='B')
# [1.3] 全枝の設定
# 枝を太くする
g.attr('edge', penwidth='10')
# 枝にカラースキームを用いる
g.attr('edge', colorscheme='paired12')
# [2] 各節点の設定
g.node('1', fillcolor='2')
g.node('2', fillcolor='6')
g.node('3', fillcolor='6')
g.node('4', fillcolor='2')
# [3] 各枝の設定
g.edge('1', '2', color='6')
g.edge('1', '3', color='2')
g.edge('1', '4', color='6')
g.edge('2', '3', color='2')
g.edge('2', '4', color='2')
g.edge('3', '4', color='6')
# グラフを出力
g.render('tetra')
# sample_13.py
# 枝ラベルの色を設定する
from graphviz import Graph
g = Graph() # 無向グラフを生成
g.format = 'jpeg' # ファイルフォーマットを設定
# 節点を追加
g.node('x')
g.node('y')
g.node('z')
# 枝を追加
g.edge('x', 'y', label='bridge', fontcolor='blue')
g.edge('y', 'z', label='over', fontcolor='green')
# グラフを出力
g.render('output')
作成: 藤原大樹
更新: 2025年1月3日
ただ集ってプラプラするだけの会をします。秋の土曜日にお暇な方はどうぞ。
普段オフラインで集まらない&あまり身体を動かさない京アカなので、それらの機会にしようという主旨ですが、非会員の方もどうぞ。
・日時:11月16日(土)12:30~夕方頃まで
・集合場所:京阪電車 清水五条駅 南東出口(半兵衛麩の大きな建物があるところ)
・途中参加・途中離脱自由。
・現在、希望のスポットとして、安井金毘羅宮・五条通近辺の清水焼関連スポットが挙がっています。
・昼食は各自で。
・歩く量は集まった人々の体力次第で。
参加ご希望の方、ご質問のある方は、
kyotoacademeia@gmail.com まで。ドタキャン可です。
京アカオンライン輪読会では、10月26日(土)20:00より、井筒俊彦『イスラーム文化』(岩波文庫)を読みます。お試し参加、ときどきの参加も歓迎です。どなたでも無料で参加できます。お問合せはkyotoacademeia@gmail.comまで!
ラミス『戦争するってどんなこと?』の輪読会はお陰様で終了しました。
ご参加下さった皆さん、どうもありがとうございました。
次の本については、改めてお知らせいたします。