2008/07/23(水) [n年前の日記]
#1 [prog][cg_tools] GIMPのTiny-fu関連のメモ
Tiny-fu というか、TinyScheme? ちょっとメモ。
◎ πはあるのかないのか。 :
_software:sf:updating-scripts [Kevin's Corner Wiki]
を眺めてたら、πはないらしい。Deprecated functions (推奨しない関数?)に、
_Scheme Tutorial - Data types というページに、
ラジアンってどこで教わるのだっけ…? 中学? 高校?
*pi* - It is defined as (* 4 (atan 1.0)) in the SIOD compatability routinesとある。(* 4 (atan 1.0)) で代用しろ、ということなんだろうか。
_Scheme Tutorial - Data types というページに、
> (define pi (acos -1)) > pi 3.1415926535898という記述もあった。つまり、πについては、
(define pi (acos -1))
(define pi (* 4 (atan 1.0)))等で代用せよ、ということか…。
Scheme also provides some trigonometric functions. Note that the argument is in radians.とも書いてあった。三角関数の類で値を渡すときにはラジアン値を渡せ、ということなんだな。つーかプログラミング言語関係ではそれが常識のような気もしてきた。…まあ、「ラジアン渡すだろJK」などと悦に入ってしまった瞬間、それはハシゴを外した状態なのだろうと思うのだけど。
ラジアンってどこで教わるのだっけ…? 中学? 高校?
◎ ファイル操作関係がちょっとまともになったらしい。 :
_software:sf:writing [Kevin's Corner Wiki]
を眺めた感じでは、ファイル操作がまともになったようにも見える。
(dir-open-stream path) (dir-read-entry dirstream) (dir-rewind dirstream) (dir-close-stream dirstream)あたりを使えば、「指定ディレクトリ内のファイル一覧を得て、特定拡張子のファイル名を抽出して、順次開いて一括処理ができる」のだろうか? たぶん。…今までの Script-fu ではそんなことすらできなかったわけで。ディレクトリ内のファイル一覧を取得することすらできなかったから。
◎ 数値関係の関数。 :
_Tiny Scheme
というページを辿って
_Scheme Tutorial - Data types
を眺めた限りでは、
(abs x) ; returns the absolute value of x (acos x) ; returns the arccosine of x (asin x) ; returns the arcsine of x (atan x) ; returns the arctangent of x (atan x1 x2) ; computes (angle (make-rectangular x2 x1)) (ceiling x) ; rounds x upwards (cos x) ; returns the cosine of x (denominator x) ; returns the denominator of x (exp x) ; returns e^x (expt n k) ; returns n^k (floor x) ; rounds x downwards (gcd x1 x2 ...) ; computes the greatest common divisor (lcm x1 x2 ...) ; computes the least common multiple (log x) ; returns the natural logarithm of x (max x1 x2 ...) ; returns the largest of the arguments (min x1 x2 ...) ; returns the smallest of the arguments (modulo x1 x2) ; computes the modulo of the arguments (numerator x) ; returns the numerator of the argument (quotient x1 x2) ; returns the quotient of the arguments (rationalize x1 x2) ; returns the simplest rational number differing ; from x1 no more than x2 (remainder x1 x2) ; returns the remainder of the arguments (round x) ; rounds the argument (see the example below) (sin x) ; returns the sine of x (sqrt x) ; returns the square root of x (tan x) ; returns the tangent of x (truncate x) ; truncates xという関数?が使えるらしい。けど、本当にTinyScheme、いや、Tiny-fuで実装されてるのだろうか? 一応 sqrt とかは入ってるみたいだけど。
◎ ダイアログの入力欄に使えるあれこれ。 :
_Register block arguments
に、ダイアログの入力欄?として使える種類が列挙されてた。
SF-ADJUSTMENT SF_BRUSH SF-CHANNEL SF_COLOR SF_DIRNAME SF-DISPLAY SF-DRAWABLE SF_ENUM SF_FILENAME SF_FONT SF_GRADIENT SF-IMAGE SF-LAYER SF_OPTION SF_PALETTE SF_PATTERN SF-STRING SF-TEXT SF-TOGGLE SF-VALUE SF-VECTORSたしかいくつか仕様が変わってるんだよな…。SF_FILENAME は、存在するファイルを指定することしかできなくなったから、保存ファイル名の入力に使おうとするとにっちもさっちもいかなくなってしまう、とか。
◎ _Japan Lisp User Group: LISP関連オンラインドキュメント :
こんなにたくさん文書があるのか、と喜んだらほとんどリンク切れ。やっぱりLisp関係は解説文書が圧倒的に少ないなあ。まあ、英語圏の文書・原文を読めということなのかもしれないけど。
というか。Perl、Ruby、Python あたりが人気を博してるこの時代に、なんで和訳文書が圧倒的に少ない Lisp 系、それも TinyScheme なんぞ使わにゃいかんのだという気もするんだけど。せめて逆引きでまとめた文書みたいなものがないかしら。 _Perl表技集 のLispやScheme版、みたいな。
というか。Perl、Ruby、Python あたりが人気を博してるこの時代に、なんで和訳文書が圧倒的に少ない Lisp 系、それも TinyScheme なんぞ使わにゃいかんのだという気もするんだけど。せめて逆引きでまとめた文書みたいなものがないかしら。 _Perl表技集 のLispやScheme版、みたいな。
◎ Script-fuコンソールが使いづらいなあ。 :
複数行を入力できないせいで動作テストするのがしんどい。
[ ツッコむ ]
以上です。