2008年12月28日
2008年09月18日
Inkscape ふたたび (2)
というわけで、目標は Inkscape での編集をやりやすくする、です。Word のオートシェイプを使う場合には、線分の太さを変えたり属性を変えたりグループ化したりするのがメインとなると思いますので(自分が使うのは大体これくらい)、同様の操作を Inkscape ですぐにできるようにできれば、と考えました。
そんなときにふと pstoedit で変換された SVG ファイルの中身を見てみると polygon points という定義を発見。これは、と思ってフォーマットに関して検索してみると次のページを見つけました。
- 優先度1(基本の図形を描くことができる)-SVG学習辞典
http://dhr.at.infoseek.co.jp/svgone.htm
すばらしい、line なんて属性があるじゃないですか、というわけでダミー的に polygon points の部分を分割して line に編集してみるとしっかりラインになります。また、<g transform ...>...</g> で囲まれている部分を分割してみるとそれぞれがオブジェクトに分割されます(注:これ、いらなかったかも・・・)。ふむ、大体人間が考えることって変わらないですね。ここまでわかってしまえば polygon points から line へのパーサを作って終わりです。
というわけで Metasequoia で形状の確認をしてもらうことができるようになりました。あとはそれぞれモデリングをして、陰線に関しては編集をしてもらうということにして、簡単な図形に関してはこの方式で作るかオートシェイプで作るか、の選択が可能になります。
次はパターンの問題です。例としていいのは 4 色問題です。白黒印刷にする場合に見やすくしたいようで、この辺はいろんな数学/数学関連本を参考にするのがいいですかね。・・・それと、Inkscape での実現方法/操作方法を調べなければ。。
2008年09月17日
Inkscape ふたたび
だ~いぶサボっていた Inkscape 絡みの更新です。サボっていた理由は、世間一般でよくある「時間に追われないと何もやらない」という至って普通な状況なのですが・・・、やはり時間に余裕がありすぎるのは問題ですね。何らかのアプローチがあるか待っていたんですが、このままだとデッドロック状態にもなりそうで。
さて、問題だったのは何かというと「自由度がありすぎる」点です。友人の要望を考えると、意外と Word のオートシェイプでできてしまうものはそれを使った方が簡単で修正もやりやすいと思われます。オートシェイプで無理そうなものに関して EPS を使って図版の挿入を行えばよさそうと思ったのですが、そのためにはどれだけこっちの工程が煩雑なのかを示す必要があります。その説明のための検証、が今回の進捗になります。
現状考えている plot data は自前で組んだ内部で頂点の定義をした OpenGL アプリをベースに出力しますが、これを Metasequoia でモデリングしたものにも対応しようとしてその検証を行いました。mqo 自体のロードは以前組んでいたこのアプリから持ってきて、そこから plt データに変換。そこからの流れは GNUPLOT を使うことでかわりはありません。そこから pstoedit で SVG に変換します。
ここで問題となったのが出力される SVG ファイルです。ファイル内部をみるとわかるのですが、3 次元データは polygon points として出力されます(EPS 出力された時点で 3 次元ではないですが、便宜上)。陰線などを破線に変えたい場合、この polygon points で定義されたオブジェクトをパスに変換してさらに分割してあげなければ個々の線分の属性を変えることができません(分割しなければポリゴンで定義された全ての線分の属性が変わってしまうから)。
このステップを如何に楽にするかを考えていてなかなか先に進もうとしなかった、といった感じでした。
(つづく?)
2008年01月28日
やっぱり EPS
pstoedit の EPS → WMF 変換ですが使っていているうちにいろんな問題が発生し、やはり EPS で行こうと思っています。WORD を使う分には GSview でプレビューを埋め込むことで対応。図版に関してはすべて Inkscape で処理を行い(含フォント)、WORD はサイズの調整と貼り付けのみ、ということになります。
しかしこの辺を調べだすときりが無いですね。EPS 編集のテスト用に Illustrator の体験版をインストールしてみたんですが、思っていた以上に自分の用途には向いていなさそうです。というのは、pstoedit の EPS → WMF 変換で懲りていたこれを Illustrator で代用できないかとちょっと期待していたんですが、そうでもなさそう。となるとポストプロセスは Inkscape でできるし EPS 出力はいまのところ問題が無い、となると最終的には印刷時に受け付けられるフォーマットかどうかだけが問題で、そこは pdf 化でいけるんじゃないかなぁ、というのが目論見です。
はぁ、やっぱり面倒だから WORD じゃ無くて TeX を使って、って頼みたいんですが、、、この辺難しいですね。あと 2 つ 3 つ山がありそうな気がします。
2008年01月19日
Inkscape
- Inkscape 自由に描く。
http://www.inkscape.org/
EPS ファイルを編集するソフトを探していて行き着いたのが Inkscape です。Photoshop に対する GIMP のように、Illustrator に対しては Inkscape が位置しているようです。
ちょっと使ってみた感じ、自分が使いたい用途に対してはほぼ問題がなさそうです。Tgif を使おうとして Cygwin 環境を作ろうとしたり VMware を入れたりと大変でしたが、最終的にはいいソフトを見つけることができました。
ちょっと面倒なのは、このソフトは EPS ファイルの書き出しは可能なのですが入力ができないようなので SVG という形式に変換する必要があります。SVG に関してはこちら。
- Scalable Vector Graphics - Wikipedia
http://ja.wikipedia.org/wiki/Scalable_Vector_Graphics
この変換にはpstoedit を使っています。作業フローとしては plot data → gnuplot → EPS → pstoedit → SVG → Inkscape → EPS → pstoedit → WMF ですね。BAT ファイル経由でこの辺は怠惰に対応です。
eps2wmf.bat
"C:\Program Files\pstoedit\pstoedit.exe" -f emf %1 %1.wmf
eps2svg.bat
"C:\Program Files\pstoedit\pstoedit.exe" -f plot-svg %1 %1.svg
後はちゃんとプロットデータを作る部分。ポストエフェクトが可能になったので前工程が非常に楽になる気がします。
2008年01月15日
2007年12月05日
MathGL3d
ちょっとまだよくわかりませんが、MathGL3d という Mathmatica のグラフを OpenGL でレンダリングすることができるパッケージがあるようです。Version 3 までが free で Version 4 からが product のようですね。
- MathGL3d
http://phong.informatik.uni-leipzig.de/~kuska/mathgl3dv3/index_m.htm - MathGL3d: Interactive 3D-Graphics Add-On for Mathematica
http://www.wolfram.com/products/applications/mathgl3d/ - MathGL3D
http://www.nikonet.or.jp/spring/sanae/MathGL3D/MathGL3D.htm
図版 (2)
いいサイトを発見しました。Mathematica + MathType + Illustrator で図版の作成・編集を行っている方のようです。
- 数学と数式用フォント
http://www012.upp.so-net.ne.jp/t-yasuda/index.html - ファンシーページ : 数学用の図の描き方 イラストレータ初歩講座
http://www012.upp.so-net.ne.jp/t-yasuda/Illustrator08.html - ファンシーページ : Mathematica初歩講座
http://www012.upp.so-net.ne.jp/t-yasuda/sub10.html
ステップは次のようになります.
(1) 数学的な曲線をMathematicaで描く
(2) 数式を貼り付ける場合は複雑なものはMathTypeで作る
(3) 以上をIllustratorで開き直線や文字を加え仕上げる
ふむふむ、参考になります。しかしやはり Illustrator を使うんですねぇ。 Tgif で代用できないかな?
しかし Image サーチには結構いい情報が含まれていますね。