「貧弱貧弱ゥゥゥゥ!!!!!」僕にとってLinuxにおけるPOV-Rayのモデリング環境はこうとしか言えないようなものでした。 「WindowsやMacなら結構良いモデラーがあるのに。。。」これがきっかけでした。

Pygmalion version 0.3.1 + version 0.4pre2 in english page(2000/10/22)

ということで、とりあえず、適当に作ったモデルを見てください。
POV-Rayでレンダリングした画像も載っけました

俺をイヌ呼ばわりするなっ! えっ?何者かって??? そうだな、ポリゴン、、、ポリ犬だ! ヌメェーっ
俺を手と呼ぶなっ! えっ?何者かって??? 、、、くそっ、ネタがない! ヌメェーっ、、、俺もあんたも暇だな・・・ ちなみに俺のWin98の壁紙はShinyaさん謹製:The Milky Way

「分割分割ゥゥゥ!」そうです。Pygmalionでは、分割によって自分が作ったものより もっと滑らかなものを作ります。 詳しいことは下のREADME.jpファイルの抜粋を読んでください。

ダウンロード(2000/3/29)

Windows用 Windows用自己解凍形式-version-0.3.1(2000/3/29)
Linux用静的リンク Linux(libc5,lib6なんでもこい、だと思う) 兼 FreeBSD(Linux emulator)用-version-0.3.1(2000/3/29)
ソースファイル GNU系のツールがあればconfigureでMake可能-version-0.3.1(2000/3/29)
開発版結構安定していると思いますが、ドキュメントが古すぎ。version-0.4pre2(2000/10/22)

もし、Windows95をお使いの方で「opengl32.dll,glu32.dllがない!」みたいな エラーが出る場合はこれを実行してDLLをwindows/systemフォルダに入れ てください。

"Linux用静的リンク"は必要なライブラリを全て追加させたものです。(2000/3/29) だからファイルサイズがちょい大きいけど、大抵のLinuxで動くと思ってるんだけど、俺は。
それと、Satohさんから頂いた情報によると、Linux用静的リンクならばFreeBSD3.3Rで実行できるそうです。(1999/11/25)
(1)Linux Emulatorを導入して、
(2)%brandelf -t Linux pygmalion
みたいなことをすると動くそうです。うれしいぜ。

フリーソフトやし、ソースファイルも公開ィィィ!!! また、Version-0.3.1からGPL!!!
GPLとは僕の理解により簡単に説明すると、
「ソフトが変な挙動をしても責任とらへんで。その代わりソースファイルも公 開するし、誰がこのソースファイルの一部、もしくは全体を使って別のソフトに 組み込んでもええで。ただし、そのソフトもGPLにせい。」
というものです。GPLの日本語訳 勘違いしてたら教えて。

著作権の放棄とも思えてしまうが、Unixでは主流だと思います。 僕も野望のためにPygmalionをGPLとしました。 あくまで野望のためなので、 僕は善人でもボランティアな人でも暇人でもありません。 勘違いの無いように。

ただし、Pygmalionの開発に使わせて頂いているツールの開発者の方々には頭が 上がりません。もちろん、POV-Rayの開発者の方々にも。

それと、この世のWEBで公開されているソースファイルが「どれも素晴らしい出来だ!」 ということはなくて、僕もプログラムの出来がまずくても公開しています。 ですから、プログラミングの参考にしたりするのは構いませんが、 色々なものを参考にした方が安全だと思います。

Pygmalionの新しい 掲示板 を設置しました。 (2001/2/22)
BUG情報や開発状況などはこの掲示板に一番早く投稿されると思われます。
あと、なんかレスがあるとやっぱ人間ですな、うれしいです。

ということで?、WindowsでのBUGがどんなものかをお見せします。(2000/3/31)
Linuxでの正常な画面:Mesa
Windows98でのBugBugな画面:ATI-All In Wonder128
かなりいけてません。腹立ちます。Linuxでは問題ありません。FLTK-version1.0.9
上の画面のようにたくさんの画面を開こうとする とBugと遭遇する可能性が高いようです。モデルの点を選択して、TransModeで移 動しても全部の画面に反映されなかったりしたら、あなた、もーみっけもんです^^; もし、これの原因がわかったら教えてください、まじで。m(_ _)m

以下README.jpからの抜粋です。内容が少々古いのですが、 マニュアルやチュートリアルをなるべく言葉少なにHTMLで書こうと思ってるんで、 のんきに待ってください。現在可能な機能のほとんどをGUIでできるようにした つもりです。だから、ボタンを適当に押すとかしてみてください。

こんなダメな僕のかわりに解説を書いてくださった方がいらっしゃいます。
銃児さんのHP 封印太極図 の'我流点睛'の'pygmalionを使おう。'です。ううっ、感謝。(2000/11/17)

BACK


これは Pygmalion-0.3.1 の README ファイルです。

長年の念願が遂に現実のものとなりました!
POV-Ray対応モデラーPygmalionの登場です。

Pygmalionはポリゴンモデラーのように柔軟で、
スプラインモデラーの樣に滑らかな曲面を間単に生成できます。
おおまかなポリゴンを分割することで滑かな曲面を作るのです!


### 情報源
http://web.kyoto-inet.or.jp/people/tantaka/pygmalion/pygmalion.html
で新たな情報が!
バグを見付けたら
tantaka@mbox.kyoto-inet.or.jp
までその内容のメール(できれば細かく)を送ってもらうか、
掲示板等で教えてください。


### 必要な環境

Linux:
 ライブラリを静的にリンクしたバージョンを用意しました。
 ですから、それをGETすれば後は何もいらないはずです。
 (もちろん、X Windowは導入されている必要あり) 
 
 用いているlibfltkやlibMesaを静的リンクしてます。
 よって、僕の方で使っているfltk,MesaのライブラリがPygmalionにくっつけて
 そのまま使われます。
 もし、「俺んちのOpenGLを使いたいぜ!」とかいう要望がありましたら、
 ソースファイルからコンパイルして下さい。

Unix:
 以下のツールを使えばコンパイルできるかもしれません。
 gcc-2.95以降(STL対応のc++コンパイラでも良いかも)
     http://www.gnu.org/software/gcc
 OpenGL(Mesa)
     http://www.opengl.org
     http://mesa3d.sourceforge.net
 FLTK と fluid(FLTKに含まれるプログラム)
     http://www.fltk.org


Windows:
 (1)OpenGLの実行ライブラリがインストールされている必要があります。
    Windows98では問題ありません。
    しかし、Windows95の初期のバージョンでは、
    インストールされていないかもしれません。
    実行してもopengl32.dll,glu32.dllが無い、ってエラーが出る場合は
    ftp://ftp.microsoft.com/softlib/mslfiles/opengl95.exe
    をゲットして実行、windows/systemフォルダの中に
    opengl32.dll,glu32.dllをコピーしてください。

なお、2000年3月29日現在の当方の開発環境は 
Debian Linux potato (2.2)
VGA : ATI All In Wonder 128 AGP(16MB)
X : XFree86-3.3.6
WindowManager : qvwm-1.1.4
gcc-2.95.2
Mesa-3.1
fltk-1.0.7 + Fl_Gl_Window.cxx,v 1.12.2.7 2000/03/05 06:51:05

と
Windows98
VGA : ATI All In Wonder 128 AGP(16MB)
gcc-2.95.2(mingw)
OpenGL
fltk-1.0.7 + Fl_Gl_Window.cxx,v 1.12.2.7 2000/03/05 06:51:05
です。


### 使いかた
!やや、古い情報かもしれません。なぜなら機能追加に対応していないし、
!機能もころころ変わるかもしれないからです。
!かんべんしてください。

(いろはの'い')
Pygmalionを実行すると、メニューとウインドウが一つ開きます。
まず、c キーを押してConnectモードにします。
ウインドウ内の適当なところでマウスの左ボタンを押して放してください。
(以降、これを左クリックと呼びます。)
赤い点が一つできるはずです。続けて別のところでもう一度左クリック
してください。もう一つ点が出来て、先程の点と結ぶエッジができます。
そうです、赤い点は新たな点と繋がれるという印です。
更にもう一度別のところで左クリックしてください。
現在、3つの点と1本のエッジがあるはずです。
次に、既に存在する点を左クリックすると、三角形ができます。
Pygmalionはエッジを3つ、もしくは4つ繋げたループ、
すなわち三角形や四角形で面を作るのです。

(いろはの'ろ')
視点の変更はマウスの右ボタンです。
右ボタンを押したまま、マウスを動かしてください。
(以降、右ドラッグと呼びます。)
視点を変更して三角形や四角形を繋ぎあわせることで立体的な形を作れます。
でも、思うような所に点が打てなかったとき、t キーを押してTransモードにします。
Ctrl キーを押しながら点を左クリックし、点を選択します。
次にCtrl キーを放し、左ドラッグすると現在の選択点を移動できます。
既に選択している点を Ctrl + 左クリックすると、その点を非撰択状態にできます。
また、複数の点を選択状態にすることも可能です。
Shift + s キーで全ての点を選択状態にします。

簡単な立体的な形を作ってください。
例えばさいころのような形がグッドです。
次に、shift + a キーを押します。すると立体的な形を一段階分割します。
もう一度shift + a キーを押します。さらに分割します。
おお、丸っぽくなっていく!
出来ましたか?あまり分割し過ぎると重くなるのでせいぜい三段階ぐらいが
ベストでしょうか?
a キーを押すと分割を戻していきます。

(いろはの'は')
もちろん、分割したままで形を作っていくことも可能です。
ただし、分割して新たにできた点に別の点を繋げたりはできません。
「ええっ? 駄目じゃん。それじゃあ、思うような形が出来無いじゃん。」
などと言われたら困ります。そのような場合は Ctrl + a キーを押します。
すると、一段階分割します。ただし、shift + aのように後戻りはできません。
あなたがいままで一生懸命打った点やエッジ、面は消え、
分割して新たに生まれた点やエッジや面がこれからの編集の対象となります。

大体わかったけど、いちいち三角形や四角形を作るのってめんどくない?
、、、それもそうです。Extrudeを紹介します。
複数の点を選択し、Ctrl + x キーを押します。すると、先程の選択点を
コピーした新たな点が生成され、エッジや面も自動的に生成されます。
新たな点が選択状態になっているので、t キーを押して、移動させます。

気に入った形ができたら、セーブしましょう。
dog.pygの様に、拡張子にはpygを付けてください。
更に、POV-Rayでレンダリングするために
メニューのExport->POV-Rayを選択し、
分割レベルを指定します。
するとdog.povの様な名前のファイルができます。
それをPOV-Rayでレンダリングする、、、と、、、、、
Pygmalionのカメラの視点と大体同じ視点でレンダリングされます。
イエイ!


サンプルとしてdog.pyg hand.pygを用意しました。
その他、詳しいことは操作リファレンスを読んでください。
「なんか機能的に物足りないな」、と思った方は、、、
今後に期待してください。


### 操作リファレンス

キーボード
a         : 一時的分割解除
Shift + a : 一時的分割
Ctrl + a  : 分割
c	  : Connectモード(点やエッジや面を生成するためのモード)
d	  : 選択点や選択エッジの削除
Shift + d : スクリーン中のXYZ軸の表示、非表示の選択
Shift + e : エッジの表示、非表示の選択
Ctrl + e  : 選択対象をエッジに (Ctrl+左クリックでエッジを選択)
Shift + f : 面の表示、非表示の選択
Ctrl + f  : 選択対象を面に (Ctrl+左クリックで面を選択)
r	  : Rotateモード(選択点群を左ドラッグで回転)
s	  : Scaleモード(選択点群を左ドラッグで拡大縮小)
Shift + s : 全ての点を選択
t	  : Transモード(選択点群を左ドラッグで移動)
Shift + v : 点の表示、非表示の選択
Ctrl + v  : 選択対象を点に (Ctrl+左クリックで点を選択) 
w	  : 選択点、選択エッジの重み減少
Shift + w : 選択点、選択エッジの重み増大
(重みは11レベルでデフォルトは6レベル、現在は試験的運用、バグあり)
x         : Trans,Scaleにおけるx座標の変化の抑制
Ctrl + x  : 選択点群をExtrude
y	  : Trans,Scaleにおけるy座標の変化の抑制
z	  : Trans,Scaleにおけるz座標の変化の抑制
Space	  : 現在の選択対象(点かエッジか面)を全て非選択状態に
Escape	  : 終了ダイアログ

マウス
左クリック         : 点を生成し、選択点と結ぶ (Connectモード時)
Shift + 左クリック : 選択、非選択
左ドラッグ         : 選択点群を移動(Transモード時)
左ドラッグ         : 選択点群の重心を中心とする拡大縮小(Scaleモード時)
左ドラッグ         : 選択点群の重心を中心とする回転(Rotateモード時)

中ドラッグ	   : 注視点とカメラ位置の平行移動(Pan)
右ドラッグ	   : 注視点を中心とするカメラ位置の旋回(Pivot)
(中+右)ドラッグ	   : 注視点とカメラ位置の間の距離の調整:三つボタンマウス向け(Approach)
Shift + 右ドラッグ : (中+右)ドラッグと同じ:二つボタンマウス向け(Approach)
Alt + 右ドラッグ : 

メニュー
File-->
  New	    : 新規モデル
  Open	    : モデルを開く
  Save	    : モデルを記録する
  Save As   : モデルを名前をつけて記録する
  Export-->
    POV-Ray : POV-Ray形式でのファイル出力
  Quit	    : 終了



### このヴァージョンで確認済みバグ と 一時的な対応策
個人的にバグにランクづけをしてみました。!印が多い程深刻です。
Pygmalionを使い始める前に一度チェックしておくと良いかもしれません。

!Linuxで、メニューを選択しても反応がない。
-->メニューを含むウインドウを一度移動させてからメニューを選択する。
#どうもウインドウマネージャーに依存するみたい。

!ファイルダイアログの様子が変なときがある。
-->気にしない。
-->ファイル自体に問題があった。

!!点、エッジ、面の選択がうまくいかないことがある。
-->カメラ位置を調整して選択したいものの付近を拡大描画し頑張ってみる。

!w,Shift+wによる重み変化が分割した点やエッジに正しく反映しない
-->aキーを押して分割を止め、Shift+aキーにより、分割しなおす。

!複数の選択点を縮小しすぎると一点に集まってしまい再起不能
-->気を付ける。

!!分割レベル5,6ぐらいで出力すると、
三つのエッジと繋がる点が尖っている事が判明する。
-->気にしない。そんなにたくさん分割しない。
#分割アルゴリズムがへぼいせいです。今後に期待。
#ということで、分割アルゴリズムの変更があれば、
#今までのPYGファイルが違う形に描画、出力されることに
#なってしまうかもしれません。御容赦ください。
#めちゃくちゃ形が変わることは無いでしょうけど。
#でも、互換性を保つようにはできると思います。

!!四頂点からなる面の三つの頂点を他の四頂点からなる面と共有させて
面を重ねると、重なった部分の面がsmooth_triangleで出力されない。
-->重なった部分にエッジを作って三頂点の面にする。

!!分割した後でモデルが角張っているのに、smooth_triangleで出力したファイルが
丸みを帯びているようにレンダリングされる。
-->角張らせたいエッジの両端の点を選択しExtrudeして、なんとか尖らせる。
#出力されたファイルは確かに角張っているのですが、
#丸みを帯びているような色でレンダリングされてしまいます。
#正確には、三角形の法線の計算についてですが、現在のところ、
#隣接する三角形との角度やらを全く考慮せずになんでもかんでも補間しています。

!どうもプレビューの色が嘘臭いように思えるときがある。
-->平面とかけ離れている部分には四頂点面を使わない。
#四頂点面はどう二つの三角形に分割する、という決まりはないのですが、
#現実問題としては分割せざるを得ないので、適当な頂点を決めて二つに分割します。
#その際、三角形の面が二つできるのですが、高速化のため、
#色の決定には片方の三角形の情報しか使ってません。
#だから、嘘臭い場合があります。

!カメラウインドウの設定で、カメラの名前が一文字だとOKボタンを押せない。
-->仕様です。
#本当は仕様じゃなくてBUGっぽいのですが、、

!!画面の幅や高さを変更したときに、カメラの角度も変更されてしまう。
-->いちいち修正しましょう。それか、バージョンアップに期待。
#POVの角度と内部的に扱っている角度の違いからそうなってしまいます。

!Linuxのqvwmを使用した際、ウインドウ上でESCを押し、
キャンセルのつもりで更にESCを押すと、終了はしないが、そのウインドウが閉じる。
-->ずぼらしないで、マウスでCancelを押しましょう。バージョンアップに期待。

!!Ortho画面のレンダリングで、ほとんど真っ黒になる場合がある。
-->出力されたpovファイルに光源を追加するか、バージョンアップに期待する。
#現在のPygmalionでは光源をユーザが設定できないので、
#Pygmalion自体で光源を適切に配置すべきだが、
#いずれ光源の設定をユーザができるようにするつもりなので、放置。

!分割面を点表示したとき、分割した点の色が元の点と同じく赤になる。
-->少々見にくくなるが、我慢する。エッジ表示や面表示を選択する。
#Debian Linux Mesa3.1で確認。他のライブラリでは問題ないかも。
#プログラムのバグである可能性は高いが、ぱっと見では問題ない
#今後の課題

!Viewのプロパティのダイアログで、"test"というボタンを押せない。
-->まだ機能が実装されてません。今後に期待する。

!!!Windowsでグラフィックカードによっては画面の描画がおかしくなる。
-->Version-0.3.1からFLTKにパッチをあてました。直ってますか?


### 変更点

2000-3-29 Pygmalion-0.3.1の公開! 複数ウインドウの強化 & BUGFix
 主な新機能
 (1)Export時、正射影のカメラを出力したファイルが正しくレンダリングされる。
 (2)ファイルの新規作成時にカメラの種類を選ぶダイアログを作成。
 (3)任意のビューの作成、破棄が可能に。
 (4)複数のウインドウを並べる操作を追加した。(ややqvwmに決め打ち)
 (5)選択点の中心に注視点を移動する操作を追加

 改善点
 (1)Export時、カメラを選ばないと落ちるBUGを修正
 (2)透視投影カメラのPOV-Rayへの出力がウインドウの内容と一致するよう訂正
 (3)正射影カメラの種類を整理
 (4)カメラの画角の扱いを正しくした。
    (POV-Rayでは画面の幅に対して画角を指定するが、
     高さに対して指定していた。)
 (5)ConnectMode時に点が生成される位置のアルゴリズムの問題を修正。
 (6)結構多くのBUGFix

 以前のヴァージョンからの相違点
 (1)正射影カメラの整理にともない、ファイル形式が少々変わりました。
    もちろん、以前作ったファイルは読み込めますので、問題ありません。
    ただ、このバージョンで保存したファイルは以前のバージョンでは
    読み込めません。

 その他
 (1)用いているライブラリFLTKにOpenGL関連のパッチをあてた。
    これでWindows版の不具合が直ることを望む。
 (2)ソースファイルをコンパイル時、configureでMakefileを生成できるようにした。
 (3)PygmalionをGPLで配布することに決定。


2000-2-7 Pygmalion-0.3の公開!長かったー。
 主な新機能
 (1) 複数のカメラを作成できるようにし、
 (2) 複数のウインドウを表示できるようにもし、
 (3) 正射影カメラもサポートした。これでいわゆる四面図で作業可能に。
 (4) 視野角度を変更可能に。
 (5) マウスのボタンを任意に割り当て可能に
 (6) 既存のPygmalionファイルのインポート
 (7) OFFファイル(主にUnixのGeomviewで使用?)の出力の仮サポート(法線方向バラバラ)

 改善点
 (1) 正射影ウインドウ採用に合わせて点選択のプログラムを改良、のつもり
 (2) 選択した点が見えにくい場合があったので、選択した点の描画を
     立体的に行うように変更。(今までは二次元的な描画だった)
     だから、選択点が多いときはちょっと描画が遅くなったかも。     
 (3) 三角形の頂点が重なって、実際には点や線になっている三角形を
     smooth_triangle出力するとレンダリングできないバグを修正

 以前のヴァージョンからの相違点
 (1) Spaceキーは現在の選択対象のみを非選択状態に。
     (今までは点、エッジ、面全て)
 (2) カメラ位置から注視点へのApproach(Perspective viewのみ)や、
    Zoom(Ortho viewのみ)の際、ウインドウの中心から離れる方へドラッグすると、
    モデルが大きく表示されます。また、ウインドウの中心に近いところほど
    その効果が大きく、離れたところでは効果が小さくなってます。
 (3) 三ボタンマウスでの真中+右の同時押しを廃止
    (厳密に同時に押さないとどちらかのボタンの機能が働いて少々ずれるから)
 (4) 分割した点やエッジは表示しないようにした。 

 その他細かい BUGFIX & 変更


1999-11-14 Pygmalion-0.2.1の公開!
 改善点
 (1) smooth_triangleの出力の高速化
 (2) Scale モードの拡大縮小の激しさを軽減

 BUG FIX
 (1) Windows版で選択機能がほとんど働いてなかったのを修正


1999-11-9 Pygmalion-0.2の公開!
 主な新機能	 
 (1) 悪名高かった?点、エッジ、面の選択アルゴリズムを改善
    面に隠れた点、エッジ、面は選択しないように、、、努力した
    今回一番苦労した
 (2) smooth_triangleの出力、苦労した、、、遅い、、
 (3) GUIによる操作を行うためにGUI構築の足掛かり、、
 (4) マウスの真中ボタンにPan機能の割り当て
 (5) カメラ位置の保存

 以前のヴァージョンからの相違点
 (1) 新機能(4)にあわせて、カメラ接近を(真中+右)ドラッグに変更

 BUG FIX
 (1) 分割レベル0でPOV-RayにExportできなかったのを修正
 (2) Quitしてもウインドウが残る現象を修正
 (3) 中ドラッグによりカメラを接近し過ぎると何も見えなくなる現象を仮修正
 (4) etc...


1999-10-15 Pygmalion-0.1の公開!


### 今後の課題

マウス機能のキーボード割り当て
もっと正確な点、エッジ、面の選択
ユーザ設定、またそれの保存(ウインドウの整頓、キーやマウスの機能割り当て)
頂点のLayer対応
面のLayer対応-->面のテクスチャ割り当て
グリッド+メジャー?表示
ラバーバンドによる点、エッジ、面の選択
球や円筒など良く使いそうな形をメニューから追加
UNDO,,,でっきるかな、でっきるかな、さて、、、
選択点、エッジ、面のコピー&ペースト
面の分割機能
光源設定
テクスチャーマッピングのための画面出力
PygmalionからのPOV-Ray直接呼出
POV-Ray向け出力ファイルの分割(テクスチャ、形状等)
POV-Ray向けのmesh以外での出力
他の三次元ファイル形式でのExport
ドキュメントの整備
素敵なサンプル
バグフィックス
高速化
既存機能の洗練
アイコンの書き直し
などなど


### あとがき

Pygmalion は tantaka すなわち 安中英邦 が個人の趣味で開発したもので、
他のなんらかの団体とはなんの関係もありません。
また、そんな事はないと思うけど、もしこのプログラムのせいで
あなたのマシンやそのデータに悲惨な状況が起きてしまっても
悪いけど、責任は持てません。ごめん。

そんなつまらない事よりも、
Pygmalionを使って素敵な画像ができたら教えてください。
そのためにPygmalionを作ったのですから。