今週のざっくばらん
グラフ描画アプリ
Youtube にアクセスしていると、「お勧めビデオ」の一蘭に面白そうなビデオが出ていて、ついそちらを見てしまう経験をした人は多いと思います。Google のアルゴリズムの優秀さの証明でもあります。
先日も、「京都大学 全学共通科目『振動・波動論』前川覚教授」というビデオがお勧めに出ており、ついクリックしたところ、あまりにも面白くて、1時間超のビデオなのに全部見てしまいました。大学でも一度勉強したテーマですが、前川教授の教え方がとても上手で、ついつい見入ってしまいました。
私は、電子工学科だったので、電気回路の話として振動の勉強をしましたが、いきなり複素数を使ったテクニックの話になってしまい、その背景にある数学をしっかりと説明してくれなかったので、納得出来なかったことを覚えています。
前川教授の教え方は、電気回路から振り子まで含めたさまざまな振動という物理現象に共通する微分方程式を立てた上で、それを解く時に、テクニックとして複素数を使うと簡単に解けることを丁寧に説明してくれており、学生時代に納得出来なかったことがようやく納得出来た次第です。
ちなみに、前川教授の講義は素晴らしいのですが、すべて黒板とチョークだけで行っています。複雑な減衰曲線のグラフまで、手で描いてしまうところはすごいとは思いますが、すくなくともグラフの描画ぐらいはテクロジーを使えばよいのにな、と思いました。
そこで早速、こんな授業で簡単に使えるグラフの描画ツールを試作してみることにしました。
研究者の間では、Python 上の numpy という計算用のライブラリと、matplotlib という描画ライブラリが幅広く使われていますが(どちらもオープンソース)、ユーザー体験は必ずしも良くないので、それを改善するために、MacOS 向けのアプリの形で試作してみることにしました。
幸いなことに、PythonKitという Swift から Python のプログラムを呼び出すことを可能にするライブラリもオープンソースとして公開されているので、それを利用して開発をスタートしました。
最初は環境設定などで少し苦労しましたが、いくつかの障害を乗り越えるとあとは簡単で、1日でそこそこ動くようになりました。下のグラフはそれを使って描いた、「その回路が持つ固有振動数に、それとは異なる振動数の電圧をかけた場合」の微分方程式を解いた答えをグラフにしたものです。
上のグラフを描くには、下のような Python のプログラムが必要ですが、実際に学校の先生が入力するのは、8行目の式だけなので、プログラミングに弱い先生でも十分に使えると思います。
試作したプログラムは、オープンソースとして公開しているので(GitHub - snakajima/macplot: Python-based graph generator for MacOS)、Mac + xCode をお持ちの方は是非ともお試しください。安定して動くようになったら、mmhmm のコンパニオン・アプリとして公開しても良いと考えています。
パーソナル・ジャーナリズムが新聞に勝てる理由
普段から、漠然とは意識していながら、はっきりと言葉にして説明することが出来なかったことが、誰かの言葉や文章をきっかけに、頭の中のバラバラのピースが繋がって、全体像がいきなりはっきりと見えることがあります(すごく重要な現象なので、こんな現象を表す言葉があっても良いと思いますが、思いつきません。英語で「偶然の発見」を示す ”serendipity” が近いと言えば近いと思います)。
今回、まさにそんな「現象」が起こったのですが、そのきっかけを作ってくれたのが、元朝日新聞の山田亜紀子さんの「新聞記者の配置転換は、ジャーナリズムの終わりなのか?」という文章です。
この文章の主題は、ジャーナリズムで稼ぐことが出来なくなった新聞各社が、これまで通常の記事を書いていた記者を配置転換して(より稼げる)「広告タイアップ記事」を書かせていることに関する是非の話題です。
それはそれで、とても面白い議論ですが、私にとって重要なのは以下の部分です。
この記事は約
NaN 分で読めます(
NaN 文字 / 画像
NaN
枚)