home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 July / VPR0007A.BIN / OLS / P3D / p3d.lzh / aboutP3D.txt next >
Text File  |  2000-04-05  |  10KB  |  239 lines

  1. *******************************************
  2. ***** P3D (plot3d graphics application)****
  3. *******************************************
  4.  
  5. 内容: 媒介変数(u,v)を1つまたは2つ用い、 
  6.     x,y,zを表わす3次元のグラフを描き、
  7.     これをいろいろな方向から見ることができる。
  8.     2つまでのグラフを同時に表示できる。
  9.     もちろん、z=f(x,y)型の関数も表示できます。
  10. 作者: Ichikawa Hiromitsu
  11.     (京大工学部3年 '00 3月現在)
  12. 分類: シェアウェア
  13.    登録前に、、、
  14.     未登録時の制限事項は、「登録してください」という
  15.     ダイアログが出ることとです。
  16.     それ以外の機能が正常に動くか確認した後、登録ください。
  17.     登録後の、登録事項の変更、取り消し等はできませんので、
  18.     ご注意ください。試用期間の目安は1ヶ月です。
  19.    登録方法:
  20.     1. vector さんのシェアレジを利用する
  21.     (www.vector.co.jpから「シェアレジ」へ)
  22.     2. 現金書留・下記の住所へ
  23.         ・登録するもの(P3D)
  24.         ・自分のメールアドレス
  25.         ・登録料として2000円   をおくる。
  26.     登録者のメールアドレスへ解除キーをお送りします。
  27.     住所: 666-0137 川西市湯山台1-28-7 市川 洋光
  28. 利用条件: 以下の事項に同意される場合のみ、ご利用できます。
  29.     ご自分の責任でお使いください。万一、直接的、間接的を問わず、
  30.     損害・不具合等が生じたとしても、作者は一切責任を負わないもの
  31.     とします。
  32. 動作環境: OpenGL が動作する Win32 環境 (Win95/98/NT)
  33. 連絡先: email: h-i@bigfoot.com
  34. version: 1.35
  35. 履歴: 初期バージョン '98/2
  36.  
  37. ---------------------------------------------------------
  38. 考え方:
  39. このソフトは、一つまたは二つの媒介変数によって表わさせる
  40. 三次元グラフを表示するソフトです。
  41. この時に問題となる事項は、「グラフ作成」と「実際の描画」です。
  42.  
  43. 「グラフ作成」は、媒介変数で式として表わされたものを、(x,y,z) の
  44. 具体的な数値データに置き換える作業までです。
  45. 利用者は、媒介変数で表わした式と、色、媒介変数の範囲等を指定します。
  46. 「グラフ設定」相当です。
  47.  
  48. 「実際の描画」は、三次元の座標の数値データを、どのように二次元
  49. (つまりディスプレーでの表示)に置き換えるかの作業です。
  50. 利用者は、注目する範囲や見る方向や倍率などを指定します。
  51. 「描画設定」相当です。
  52. 見る方向や倍率などは、画像を見ながら動かすことが出来ます。
  53. この部分を「カメラの移動」ということにします。
  54.  
  55. このソフトでは、二つまでのグラフを一度に描画できます。
  56. Graph1 と Graph2 で表わされ、Graph1 は常時表示を行ない、Graph2 に
  57. 関しては、表示/非表示の設定を行なうことが出来ます。
  58.  
  59. 実際の操作:
  60.  
  61. 「グラフの作成」に関しては、メインのメニューの Set-> Setting[Graph1]
  62. (Graph1:常時表示を行なうグラフ の「グラフ作成」を行なう)を選択して
  63. ください。
  64. すると、タイトルが「グラフ設定 (Graph1)」のウィンドウが現われます。
  65. X,Y,Z の欄は、媒介変数 u,v で表わされる式 (定数を含む)を記入します。
  66. 式にエラーがある場合 (空欄の場合も含む)にもエラー表示は行なわず、
  67. グラフは表示されません。
  68. 例えば、 「u+v」や「SIN(u*3.14)」などです。式の書き方に関しては、
  69. このドキュメントの最後の方に説明があります。
  70. u,v の欄は、媒介変数 u,v の範囲と、分割数を指定します。
  71. 分割数は、u,vを代入して座標に置き換える点の数で、描画を行なうときに
  72. 点を線で結ぶので多ければ多いほどきれいな曲線が描けますが、あまり多いと
  73. メモリを食いすぎ、描画に時間がかかる結果になります。
  74. 10 から 30 程度で試してみて、ギザギザ感があれば増やしてください。
  75. 色の設定の欄は、u,v に対して、それを表わす点での色の RGB成分
  76. [R(Red),G(Green),B(Blue)] を指定します。それぞれ 0から1 までで
  77. 0未満は 0に、1以上は 1 とみなします。特に指定する必要がない場合には
  78. 下の「色の自動設定」をチェックするとよいでしょう。
  79.  
  80. 二つ目のグラフ Graph2 も同様に メインのメニューの Set->Setting[Graph2]
  81. で指定できます。なお、Graph2 に関しては、表示するかどうかを設定する
  82. 必要があり、メインのメニューの Set->Setting[Graph2 の表示/非表示] で
  83. 行なってください。
  84.  
  85. 「実際の描画」に関しては、メインのメニューの 
  86. Set-> Setting[Project(描画)] を選択してください。
  87. すると、タイトルが「グラフ設定 (Graph1)」のウィンドウが現われます。
  88. この設定は Graph1 と Graph2 で共通になります。
  89. 縮小率と表示範囲の設定では、X,Y,Z のどの領域を表示するのかを設定します。
  90. 例えば、X:[-1,1], Y:[3,5], Z:[2,4] の一辺が2の直方体の領域を表示したい
  91. ならば、それぞれの方向にそれぞれ端になる値を入れます。
  92. 例えば、 X方向は -1 から 1 というように。
  93. 実際の処理では、座標の水平移動 (回転を伴わない移動)と縮小・拡大を
  94. 行なって X:[-0.5,0.5], Y:[-0.5,0.5], Z:[-0.5,0.5] の範囲に変換します。
  95. 従って、各方向ごとの対象長さ(範囲の上限と下限の差)に差があると、
  96. 立方体が直方体のように表示されたり、球が楕円球のように表示されたり
  97. することになります。
  98. その下の「ワイヤフレーム表示」では、面を塗りつぶさずに、線画のみで
  99. 表示します。重なっている「向うの面」を見るときに便利です。
  100. その下の「視点」「倍率」は、それぞれ「どこから見た画像」で
  101. 「どのぐらいに拡大して表示するか」であり、これは数字で指定するより
  102. 画像を見ながら「カメラの移動」で指定する方が便利です。
  103.  
  104. 「カメラの移動」に関しては、メインメニューで Camera から選ぶか、
  105. メインの画面でただ単にキーボードのキーを押すだけで操作できます。
  106. Cameraのメニューでは、視点の変化などを設定する。これは、メニューの
  107. コマンドの横に()で表示してあるキーをそのまま押せば、同じ機能をする。
  108. それぞれのコマンドを説明する。
  109. up ... (キーはU) z軸の上の方向へカメラを動かす。ただし同一球面上を動く。
  110. down... (D) z軸の下の方へ。
  111. left... (L) 今見ている方の左の方へカメラを動かす。ただし同一球面上。
  112. right.. (R) 右の方へ。
  113. 以上の四つは、方向キーでも操作できる。
  114. far ... (F) 視点を3Dから遠くへ持っていく。遠近感の問題。
  115. near... (N) 視点を近くへ。
  116. big ... (B) カメラのレンズの倍率を大きくする。拡大表示。
  117. small.. (S) レンズの倍率を下げる。
  118. Reset ..(space キー) 元の状態へ戻す。
  119.  
  120. また、自動的に動かすには、メインメニューの File-> Play で
  121. right を押し続けたように回転し続けます。
  122.  
  123. そのほか:
  124.  
  125. 媒介変数を一つにする場合
  126. 媒介変数を1つにするには、uを用い、vの設定で、分割数を0 に設定します。
  127. 普通このままでは、なにも表示されないので、「ワイヤーフレーム」
  128. 設定をON にしてください。また「ワイヤーフレーム」設定にしても
  129. 色の設定は有効ですので、(線の色になる)RGBを設定してください。
  130. 「ワイヤーフレーム」設定は、もう少しあとで説明します。
  131.  
  132. サンプルとして、 p3dsample.p3d, p3dsample2.p3d, p3dsample3.p3d
  133. を付けておくので、これを Open...で読み込ませ、表示させたり、
  134. 設定値を見てみたりしてください。
  135.  
  136. Windows上から、ドキュメントのアイコンをダブルクリックしても、
  137. ドキュメントが開かない場合には、File->Open...で開いてください。
  138.  
  139. File->Copy to Clipboard では、今表示されている画面を、
  140. クリップボードにコピーできます。これをワープロソフト、画像ソフト
  141. などに貼り付けたりして画像を利用できます。
  142. または、 Alt-PrintScreen でもコピーできます。
  143.  
  144. ワイヤーフレーム表示について。
  145. グラフ設定2で「ワイヤフレーム表示にする」がありますが、
  146. それをチェックすると、物体がワイヤーフレームで表示されます。
  147. 媒介変数を1つしか用いない場合は必ず指定してください。
  148. この場合でも、ワイヤーの色は、その地点でのRGBの色の設定値を
  149. 用いますので、きちんと設定する必要があります。特に色の希望が
  150. なければ、R=1, G=1, B=1 とすれば、白になります。
  151.  
  152. DXFファイル出力について。(v1.2 から機能追加)
  153. 登録されれば、dxf 3d 形式のファイルを生成することができます。
  154. (WinNTでは、きちんと動作しない可能性があります。)
  155. 画面に表示されている 3D のオブジェクトができます。
  156. サンプルとして、p3dsample2.p3d を変換した、p3d_dxf.dxf を
  157. 付けておきました。3D Rendering soft で私が試したところによると、
  158. 2つ3Dグラフを生成して、レンダリングさせたところ、普通の Realistic
  159. のモードでは、どちらが手前にあるのかの判断を誤って表示されることが
  160. ありました。Ray tracing 方でやるとうまく行きました。
  161. 3D DXF は 3D のオブジェクトを表わす標準的なデータ形式です。
  162. 3D Modeling/Rendering ソフトに読み込ませてお使いください。
  163.  
  164. AVIファイルの出力について。(v1.3 から機能追加)
  165. この機能は登録されなくてもご利用になれます。
  166. 従ってこの機能は、登録前に動作確認することができます。
  167. これは、「カメラの自動移動」の再生マークを押した時の
  168. 画像を動画として、360度分 *.AVI ファイルに記録します。
  169. 動画であるため、サイズがかなり大きくなることを注意してお使い
  170. ください。また、動画のサイズはその時のウィンドウのサイズを
  171. 利用しますので、最小限の大きさにしておく方がよいです。
  172. これは画面に表示されている画像を取り出し、保存していくので、
  173. 画面の解像度をあげ(16bitカラー以上だと色化けしない)動作中は、
  174. マウス、キーボードの操作をせず、また、他のウィンドウが、
  175. p3dの録画中のウィンドウの上に来ないようにする必要があります。
  176. 上に何かウィンドウがあると、重なった部分はそのウィンドウの
  177. 内容が録画されてしまいます。
  178. この操作には、大量のディスク容量と、時間がかかることがあります。
  179. こま数は今のところ、3度毎に360度ですから、120こまです。
  180. また、画面を16ビットカラー以上にしないと色が正しく出ない
  181. 可能性があります。
  182.  
  183. 最後にx,y,z の式の設定方法ですが、
  184. 式は、数値、変数(u,v)、演算子、関数から構成されます。
  185. (ここで使っているt は実際には使えない)
  186. <演算子> (*括弧内は説明)
  187.     +,-,*,/
  188.     ^(べき乗、t^2 とは tの2乗を示す)
  189.     &(and),|(or),<,>,=,>=,<=
  190.     (これらをつかい、例えば、 x+1>2*y & x*x>y であれば、
  191.     x+1>2*y かつ x*x>y の領域が真になり、それ以外は偽と
  192.     なる。領域の組み合わせに使えます。)
  193.     (これらの記号は、C言語のように、以下のように
  194.     条件分岐に使える。(t < 10) は値を持ち、括弧の中の
  195.     条件が真なら1になり、偽なら0になる。したがって
  196.     t*(t<10) の様にしてやれば、t<10のみtとなり、その他
  197.     は、0となる。これを組み合わせれば、t の範囲により
  198.     場合分けされるもののグラフも描ける。例えば、t<1で
  199.     tでt>=1でt*tとするには、 (t<1)*t+(t>=1)*(t*t)
  200.     のようにする。)
  201. <数字> 10,0.354 など。
  202. <関数>
  203.     ABS...絶対値    SQR...平方根    LN...自然対数
  204.     LOG,LOG10...常用対数    EXP...eの指数乗
  205.     POW...べき乗(POW(a,b)は aのb乗)
  206.     SIN,COS,TAN,ASIN,ACOS,ATAN,SINH,COSH,TANH
  207.     ARCSIN,ARCCOS,ARCTAN
  208.     SGN...正なら1負なら-1、0なら0を返す
  209.     IFP...もし正ならそのまま、負なら0
  210.     IFN...もし負ならそのまま、正なら0
  211.     NOT...条件文を否定
  212.     FLR,FLOOR,INT...切り捨て
  213.     CIL,CEIL...切り上げ
  214.     MDF...Module Fraction,小数部分
  215.     RND...引数(中の数)により、乱数
  216.     SLER...2つの(引数の)うち大きくないほう
  217.     LGER...小さくない方
  218.     関数の使い方。次のような形をとる。
  219.     ABS(t*2)、中のt*2 を引数という。
  220.     引数の数は、関数により決まっている。
  221.     ここでは、SLER,LGER,POW が2つで、
  222.     後のものは1つ、引数をとる。
  223.     POW(t,LN(t)) のように引数同士はコンマで区切る。
  224.  
  225. このようにして、式を入力する。以下に少し例を挙げる。
  226. (実際にはt は使えないが説明ために使っている)
  227. COS(3*t)
  228. 3*t^2+10*t+2
  229. COS(LN(t^3+10)+t)+10
  230. 大文字小文字の区別はしっかりしてください。
  231. ここでの注意点。必ずお読みください。
  232. いくらtのminが-1,stepが0.1だとしても、tはぴったり0を
  233. 通るとは限りません。なぜなら、計算機の内部表現の都合で
  234. 0にはかなり近くなりますが、10の-10乗程度のずれが起こる
  235. ことがあります。<,>などの記号を使うときにはこの点を十分
  236. ご注意の上お使いください。
  237.  
  238. 以上。
  239.