描画
draw [viewer] &rest thing [関数]
-
-
viewerにthingを描く。
thingは、座標系、立体、面、エッジ、ベクトル、2つのベクトルのリストのどれでも可能である。
(progn (view) (draw (make-cube 10 20 30)))
は、xwindowに立方体を描く。
draw-axis [viewer] [size] &rest thing [関数]
-
-
viewerの中にthingの座標系の軸をsizeの長さで描く。
thingは、座標系から得られるどのオブジェクトでも可能である。
draw-arrow p1 p2 [関数]
-
-
*viewer*にp1からp2に向かう矢印を描く。
hid [viewer] &rest thing [関数]
-
- viewerに陰線処理された画像を描く。
thingは、faceまたはbodyが可能である。
hidd [viewer] &rest thing [関数]
-
-
陰線を点線で描くことを除いて、hidと同じである。
hid2 body-list viewing [関数]
-
-
edge-imageオブジェクトで表現される陰線処理画像を生成する。
その結果は*hid*に置かれる。
-
- bodiesとfacesにレイトレーシングを行い、陰面消去した画像を生成する。
viewing, viewportおよびviewsurfaceは、viewerから得られる。
lightsは、light-source(光源)オブジェクトのリストである。
colormapは、Xwindowのcolormapオブジェクトである。
それぞれのbodiesとfacesは、割り当てられるカラー属性を
持たなければならない。
colormapに定義されているカラーLUTの名前を:colorメッセージで
送ることによりカラー属性を設定できる。
一般にこの関数は、Xlib環境下でのみ働く。
demo/renderdemo.lのサンプルプログラムを見ること。
make-light-source pos &optional (intensity 1.0) [関数]
-
-
posの位置に光源オブジェクトを作る。
intensityは、デフォルトの光の強さを増す拡大比である。
もっと正確に強さを決定するためには、光源の:intensityメソッドを
使用する。
tektro file &rest forms [マクロ]
-
-
*tektro-port*ストリームのためにfileをオープンし、
formsを評価する。
これは、tektro描画の出力を直接fileに書き込むために使用される。
kdraw file &rest forms [マクロ]
-
-
kdrawは、kdrawまたはidrawで読み込めるポストスクリプトファイルを
生成するためのマクロ命令である。
kdrawは、:outputモードでfileをオープンし、
*viewer*を置き換えるためのkdraw-viewsurfaceとviewportを
作り、formsを評価する。
それぞれのformsは、drawやhidのような描画関数の
どれかを呼び出す。
これらのformsからの描画メッセージは、kdraw-viewsurfaceに
直接出力される。この出力はidrawやkdrawで認識できる
ポストスクリプト表現にメッセージを変換する。
そして、fileに蓄積する。
idrawまたはkdrawが呼び出されfileがオープンされたとき、
EusViewer windowに書いたものと同一の図形を見ることができる。
その図形は、idrawの機能で変更することができる。
そして、最終描画はepsfile環境を用いることによりLATEXドキュメント
に組み込むことができる。
この機能は、"llib/kdraw.l"のファイルに記述されている。
pictdraw file &rest forms [マクロ]
-
-
pictdrawは、MacintoshのPICTフォーマットで画像ファイルを
生成するためのマクロである。
pictdrawは、fileを:outputモードでオープンし、
pictdraw-viewsurfaceを作り、*viewer*のviewportに置き換え、
formsを評価する。
formsは、それぞれdrawあるいはhidのような描画関数のどれかを
呼び出すものである。
これらの書式からの描画メッセージは、kdraw-viewsurfaceに
直接出力された後、PICTフォーマットへのメッセージに変換され,
fileへ蓄積される。
このPICTフォーマットは、Macintoshのmacdrawやteachtextで
認識することができる。
hls2rgb hue lightness saturation &optional (range 255) [関数]
-
-
HLS(Hue, Lightness, Saturation)で表現される色を、RGB表現に変換する。
HLSは、しばしばHSLとして参照される。
hueは、rainbow circle(0から360)の色で表現される。
0が赤で45が黄で120が緑で240が青で270が紫そして360が再び赤となる。
lightnessは、0.0から0.1の値を持ち、黒から白までの明るさを表現する。
lightnessが0のときは、hueやsaturationにかかわらず
黒となる。そして、lightnessが1のときは、白となる。
saturationは、0.0から1.0までの値を持ち、色の強さを表現する。
saturationの値が大きいと鮮明な色調を生成し、小さい値は弱く濁った色調
を生成する。
rangeは、RGB値の限界を示す。
もし、それぞれの色に8ビットの値が割り当てられているカラーディスプレイ
を使っているならば、rangeは255とすべきである。
もし、RGBに16ビットの整数が仮想的に割り当てられているXwindowを使って
いるならば、rangeは65536とすべきである。
HSVとHLSとの違いに注意すること。
HLSでは、鮮明な(rainbow)色はlightness=0.5で定義されている。
rgb2hls red green blue &optional (range 255) [関数]
-
-
RGBの色表現を、HLS表現に変換する。
2016-04-05