Phystam-S Studio

Simutransのことなど

Simutrans(の記事を書くのを)始めました

Simutrans-Extendedをしばらくやって、

  • C++を用いたパッチ開発
  • アドオン作成

の2つの技術をおよそ身につけられた気がする。

特に、研究以外で、純粋に遊びとしてゲームのソースコードを触ったのは初めてのことでしたが、本家Simutrans-Extendedに統合されたことで、かなり手応えはありました。

次回からそのパッチ開発について記事にしていきます。

 

TeXと数式とアルメニア文字

事の発端

 物理数学のレポートを書いている最中、次のようなことが起きた。

「アルファベットのzから積分変数としてζを導入。その積分の中でさらに変数変換しよう!」
さて、あなたならどう考えるであろうか。z→ζ→?

試行錯誤

 さて、私が使っているTeX環境では、アルメニア文字のフォントが入っていなかった。ググってみれば、ArmTeXというパッケージをインストールすればいいらしい。
というわけで、CTANさんからDLしてきたArmTeXを使ってみたが、うまくいかない。
 何が上手くいかないかって、まず文字が表示されない。これはどうやらdviファイルの中で用いるpkファイルを読み込むらしく、mfファイルからgfファイルを経由してpkファイルにしなければいけないらしいのだ。めんどくせ。
しかもいろいろ種類の違うフォント(artmr10.mf,artmi10.mf,artmb10.mf,etc)もあり、その中で解像度別にpkファイルを作らなければ表示してくれないのでとても面倒。何度エラーを吐いたことか。
それでdviファイルにようやく上手く表示できたと思ったら、普通のアルファベットがすべてアルメニア文字に変更されてしまった。どうやら内部で全て変換するようになっているみたいで。\aroffコマンドを使えば元に戻るようだが、これでは埒があかない。というわけで、自分用のスタイルファイル「Phystam.sty」を作りました。結構長いコードだけど地道に書いただけなので内容だけなら理解できるはず。
 ところが、これで全部上手くいったと思ってそこからdvipdfmxをしようと思ったら、エラーが吐かれてしまった。どうやら.vfファイル、あるいは.mapファイルが必要らしく、そこから合ったフォントを選び出してくるようなのだ。それも試行錯誤を繰り返して、ようやく出来た。美文書さんの.mapファイルを利用させていただいた。

方法

 ここにファイルっておけるのかな?置けないみたいなので
http://www1.axfc.net/u/3123911
に置いておきます。パスワードはHayastanです。

 付属のreadme.txtの通りにやればきちんと動くはずです。多分。
使うときは\usepackage{armmath}を忘れないでくださいね。

完全反対称テンソルとクロネッカーのデルタの関係

完全反対称テンソル\varepsilon_{ijk}についての公式

\begin{align*}
\sum_{i=1}^3\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{kl}\delta_{jm}
\end{align*}
を示す。左辺の和をばらして、次のように書き下す。

\begin{align*}
\displaystyle\sum_{i=1}^3\varepsilon_{ijk}\varepsilon_{ilm}&=\varepsilon_{1jk}\varepsilon_{1lm}+\varepsilon_{2jk}\varepsilon_{2lm} +\varepsilon_{3jk}\varepsilon_{3lm}
\end{align*}
例えば、j=2,k=3とした場合、第1項のみが残り、残りの2項は消えてしまう。他の場合も同様である。したがって、j,kl,mが2,3になる場合に成り立つことを示せば十分である。

\begin{align*}
\varepsilon_{123}\varepsilon_{123}&=1\\
\varepsilon_{123}\varepsilon_{132}&=-1\\
\varepsilon_{132}\varepsilon_{123}&=-1\\
\varepsilon_{132}\varepsilon_{132}&=1
\end{align*}
であるから、

\begin{align*}
\varepsilon_{1jk}\varepsilon_{1lm}&=\delta_{jl}\delta_{km}-\delta_{kl}\delta_{jm}&(j,k,l,m=2\ \mathrm{or}\ 3)
\end{align*}
が成り立つ。i=2,3の場合も同様にすればよい。したがって、

\begin{align*}
\sum_{i=1}^3\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{kl}\delta_{jm}
\end{align*}
が示された。

こんばんは

したろう( http://shitaro-happy-physics.hatenablog.com/ )に触発されて、私も書いてみようと思いました。何回かブログをかじったことはあるけど、結局三日坊主に終わったようですが。

TeXってどうやって打つんだろうと思ったらy=x([tex:y=x])みたいに書けばいいのですね。めんどくせ。

私が今学んでいる物理のこととか、好きなポケモンのこととか、サイコロ旅、塾で数学を教えていたときに躓きやすいところに関して適当に書いていく予定です。ではでは(^^