mieki256's diary



2008/07/23(水) [n年前の日記]

#1 [prog][cg_tools] GIMPのTiny-fu関連のメモ

Tiny-fu というか、TinyScheme? ちょっとメモ。

πはあるのかないのか。 :

_software:sf:updating-scripts [Kevin's Corner Wiki] を眺めてたら、πはないらしい。Deprecated functions (推奨しない関数?)に、
 *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版、みたいな。

Script-fuコンソールが使いづらいなあ。 :

複数行を入力できないせいで動作テストするのがしんどい。

以上です。

過去ログ表示

Prev - 2008/07 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project