[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bfree-prj 72] graphics on frtm



浪花です.

frtm に graphics 関係のワードを追加したのですが,frtm そのものの開
発を UNIX 環境で行っている関係で,B-Free と X11 の両方に対応できる
ように作ってしまいました.それにあわせて,アーカイブは UNIX+X11 用
のものを公開することにし,B-Free に組み込むときには一度 B-Free 用
の patch を当てていただくようにしました.これで一応は frtm のプロ
グラムのレベルで UNIX+X11 と B-Free のクロス開発ができます (^^;)

また,Web server を移しましたので,B-Free のページのリンクを
    http://www.scr.mech.yamaguchi-u.ac.jp/~naniwa/comp/bfree/
に張り替えていただければ幸いです.
# 古い URL も当分の間は有効です.

例題として koch 曲線を描くワードも作りました.

: pre 5 copy drop ;
: genx 3 ndup 6 ndup - * minus 100 / swap 4 ndup 7 ndup - * 100 / + 5 ndup +
  5 nrotr 4 ndrop ;
: geny swap 3 ndup 6 ndup - * 100 / swap 4 ndup 7 ndup - * 100 / + 4 ndup +
  5 nrotr 4 ndrop ;
: gen 6 copy genx 7 nrotr geny ;
: keep 7 nrotr 7 nrotr pre ;
: post 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;
: line moveto lineto ;
: koch dup 0= if drop line else 
    pre 0 0 gen keep 33 0 gen post koch
    pre 33 0 gen keep 50 -28 gen post koch
    pre 50 -28 gen keep 66 0 gen post koch
    pre 66 0 gen keep 100 0 gen post koch
    5 ndrop
  endif ;
: kochs 10 setcolor  89 440 551 440 4 koch
        11 setcolor 551 440 320  40 4 koch
        12 setcolor 320  40  89 440 4 koch ;

gm kochs
tm

上のコードを一々打ち込むのも面倒だろうということで,デモ用に 
graphics というワードを用意しまして,上記の koch 曲線用のワードが
ユーザー辞書に登録されるようにしています.
# 効率の悪いプログラムになっているのがちょっと難点ですが (^^;)

---
(putprop '浪花 智英
    'affiliation  '(山口大学大学院 理工学研究科 環境共生工学専攻)
    'e-mail	  '(naniwa@mechgw.mech.yamaguchi-u.ac.jp)
    'URL  '(http://www.scr.mech.yamaguchi-u.ac.jp/staff/naniwa.html))