セミナーのスライドを作っていて、こういうファインマンダイアグラムを描きたくなったのですが、対応する座標の値を見積もって TikZ で微調整しながら描くのは面倒です。せっかくなので、手描きの雑ダイアグラムを ChatGPT 4o に放り込んで描いてみましょう。(こういう場合に GUI のアプリケーションがあると便利ですね。数年前までこういう図を書くときには jaxodraw を用いていましたが、最近の mac OS だと挙動が怪しい気がするので使わなくなりました。jar ファイルの中身を覗くというライフハックでしばらく使えていたんですが……)
あまり複雑な内容から始めると埒が明かなくなるのは目に見えているので、ファインマンダイアグラムからいったん離れて上のような樹形図から始めようとしましたが上手くいかず、もう一手戻って
樹形図の頂点情報だけを抜き出した上の画像から始めることにします。適当なプロンプトで座標の情報を教えてもらいます。
なんとなく上手くいっていそうなので、TikZ で描いてもらってチェックします。
出力されるソースコードも完璧ですが、いくつか不満があるので改善してもらいます。
最初のポイントは、ゲームを作ったことがある人なら誰しもがハマる罠、「原点が左上で y 軸は下向き」を修正するためのものですね。
とても良さそうです。ここまでで必要な座標の情報は抜き出せているので、あとはそれを使って TikZ コードを組めば良いところですが、せっかくなので続きの作業も ChatGPT に頼ってみます。というより、TikZ の知識がないので頼る必要がありました。とりあえず、座標と図の点の対応関係がわかりにくいので、図にラベルを貼ってもらうことにします。
これでどこに線を引いてもらうべきかは明らかです。
おっといけない、忘れていました。本当に欲しいのは樹形図ではなくてファインマンダイアグラムです。……という小芝居は置いておいて、このように後出しで少しずつ情報を与えると ChatGPT は比較的良く答えてくれる、気がします。
かなりいい感じになりますが、こうなるともう頂点の黒丸とラベルは邪魔なので消してもらいます。
最後に、フェルミオンの矢印が一部逆を向いていることに気づいたので修正します。
ということで完成です、おつかれさまでした!