新しく発言する EXIT インデックスへ
扇型の描き方を教えてください

  扇型の描き方を教えてください mmhouse 2007/09/02 19:58:01 
  FullBASICでは絵定義を利用します。 白石 和夫 2007/09/02 21:01:21 
  サンプルプログラムの 白石 和夫 2007/09/02 21:04:37 
   └なんと!素早い回答ありがとうございます!... mmhouse 2007/09/02 21:48:48 
    └ちらつきが気になるときは, 白石 和夫 2007/09/03 18:37:06 

  扇型の描き方を教えてください mmhouse 2007/09/02 19:58:01  ツリーへ

扇型の描き方を教えてください 返事を書く ノートメニュー
mmhouse <ejdyghwgwu> 2007/09/02 19:58:01
はじめまして。
早速ですが、色々探したつもりですが、扇型の描き方が見つかりません。N88やQuickBasicはcircleコマンドの中で定義できたと思いますが・・・
誰も扇型や弧を描かないはずはないので常識なのでしょうが、わかりません(ToT)
お手数ですが、教えてください。

  FullBASICでは絵定義を利用します。 白石 和夫 2007/09/02 21:01:21  ツリーへ

Re: 扇型の描き方を教えてください 返事を書く ノートメニュー
白石 和夫 <fbdfvqwhki> 2007/09/02 21:01:21
Full BASICでは絵定義を利用します。
次のプログラムの200行以降が扇形を描く絵定義。
この絵定義を利用するプログラム単位には20行のような宣言文を追加しておきます(十進BASICでは省略可)
また,角の大きさの単位を度にするために
OPTION ANGLE DEGREES
を追加します。
中心x,y, 半径r, 開始角a, 終了角bの扇形は,
DRAW sector(b-a) WITH ROTATE(a) * SCALE(r) * SHIFT(x,y)
で描けます。

10 OPTION ANGLE DEGREES
20 DECLARE EXTERNAL PICTURE sector
30 SET WINDOW -4,4,-4,4
40 SET AREA COLOR 3
50 DRAW sector(45) WITH ROTATE(60) * SCALE(2) * SHIFT(2,1)
60 END
200 EXTERNAL PICTURE sector(a)
210 OPTION ANGLE DEGREES
220 DIM x(0 TO 360), y(0 TO 360)
230 FOR t=0 TO a
240 LET x(t)=COS(t)
250 LET y(t)=SIN(t)
260 NEXT t
270 LET x(a+1)=0
280 LET y(a+1)=0
290 MAT PLOT AREA, LIMIT a+2 :x,y
300 END PICTURE

  サンプルプログラムの 白石 和夫 2007/09/02 21:04:37  ツリーへ

Re: 扇型の描き方を教えてください 返事を書く ノートメニュー
白石 和夫 <fbdfvqwhki> 2007/09/02 21:04:37
サンプルプログラムの
SAMPLE\SECTOR.BAS
も扇形の描き方の例になっています。

   └なんと!素早い回答ありがとうございます!... mmhouse 2007/09/02 21:48:48  ツリーへ

Re: サンプルプログラムの 返事を書く ノートメニュー
mmhouse <ejdyghwgwu> 2007/09/02 21:48:48
なんと!素早い回答ありがとうございます!しかも2件も!!戻って覗いてみて良かった!!

今日はじめてやってみた私にはsector.basより示していただいたサンプルの方がわかり易いです。
MAT PLOT LINES に変更し、t=1からにしてx(0)とy(0)を0にしたら、塗りつぶしの無い扇形になりました!!
扇形が転がっているように見せたいのでなんとかなりそうです。ありがとうございました。
ただ、専用命令ではないので少し遅くなりそうですね。
clearで消しながら回してみると、チラついて・・・
工夫したいと思います。

これからもよろしくお願いします。

    └ちらつきが気になるときは, 白石 和夫 2007/09/03 18:37:06  ツリーへ

Re: なんと!素早い回答ありがとうございます!... 返事を書く ノートメニュー
白石 和夫 <fbdfvqwhki> 2007/09/03 18:37:06
ちらつきが気になるときは,
http://hp.vector.co.jp/authors/VA008683/QA6.htm
を参照してください。
要点は,書き換え開始から書き換え終了までの命令群を
SET DRAW MODE HIDDEN

SET DRAW MODE EXPLICIT
で挟むことです。


インデックスへ EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。