新しく発言する EXIT インデックスへ
MOUSEのエラー

  MOUSEのエラー 島村1243 2007/07/04 03:49:15 
  Linuxではマウス関係の動作は良好ではありま... 白石 和夫 2007/07/04 07:26:44 
   └6.3.9に替えてみます。 島村1243 2007/07/04 10:29:47 
    └6.3.9での動作報告 島村1243 2007/07/05 21:25:07 

  MOUSEのエラー 島村1243 2007/07/04 03:49:15  ツリーへ

MOUSEのエラー 返事を書く ノートメニュー
島村1243 <bjllmpcujp> 2007/07/04 03:49:15
下記「Full BASICによる3Dグラフィックス」サイト
http://hp.vector.co.jp/authors/VA008683/3D.htm
に出ていた下記プログラムをRUNすると480行で「MOUSEはここに書けません」と言うエラーが出てしまいます。
どのようにすれば良いでしょうか?
------------------------------------------
 主プログラムを次のように変更すると,マウスを画面上で縦方向にドラッグしたときx軸のまわりに図形を回転させ,横方向にドラッグするとy軸のまわりに図形を回転させる。
 ただし,480行で用いているMOUSE POLL文は(仮称)十進BASIC独自の拡張で,JIS Full BASICとの互換性はない。(JIS付属書の範囲まで許せば,単文字入力文CHARACTER INPUT NOWAITで文字キーあるいは数字キーを使うことで代用できる)

100 ! 正四面体
110 DECLARE EXTERNAL PICTURE tetra
120 OPTION ANGLE DEGREES
130 LET z0=20 ! 視点
140 DIM p(4,4) ! 点 0,0,z0を中心とする射影
150 MAT p=IDN
160 LET p(3,4)=-1/z0
170 LET theta0=45 ! z軸のまわりの回転角
180 LET t=-60 ! x軸のまわりの回転角初期値
190 LET s=0 ! y軸のまわりの回転角初期値
200 REM z軸のまわりにtheta0回転し,
210 REM x軸のまわりにt°回転,
220 REM y軸のまわりにs°回転したtetraを
230 REM 点(0, 0, z0) から見たように描く。
240 REM 画面上でマウスを横方向にドラッグすると図形をy軸のまわりに回転させ,
250 REM マウスを縦方向にドラッグすると,図形をx軸のまわりに回転させる。
260 DIM m(4,4)
270 MAT m=ROTATE(theta0)
280 SET WINDOW -2, 2, -2, 2
290 DO
300 DIM rotx(4,4) ! x軸のまわりの回転
310 MAT rotx=IDN
320 LET rotx(2,2)=COS(t)
330 LET rotx(2,3)=SIN(t)
340 LET rotx(3,2)=-SIN(t)
350 LET rotx(3,3)=COS(t)
360 DIM roty(4,4) ! y軸のまわりの回転
370 MAT roty=IDN
380 LET roty(1,1)=COS(s)
390 LET roty(1,3)=-SIN(s)
400 LET roty(3,1)=SIN(s)
410 LET roty(3,3)=COS(s)
420 MAT m=m * rotx * roty
430 SET DRAW mode hidden
440 CLEAR
450 DRAW tetra WITH m * p
460 PLOT TEXT, AT -2,-2: "マウスでドラッグすると回転。右クリックで終了"
470 SET DRAW mode explicit
480 MOUSE POLL x,y,l,r
490 IF r<>0 THEN EXIT DO
500 LET t=0
510 LET s=0
520 IF l<>0 THEN
530 LET t=-20*(y-y0)
540 LET s= 20*(x-x0)
550 END IF
560 LET x0=x
570 LET y0=y
580 LOOP
590 END

  Linuxではマウス関係の動作は良好ではありま... 白石 和夫 2007/07/04 07:26:44  ツリーへ

Re: MOUSEのエラー 返事を書く ノートメニュー
白石 和夫 <fbdfvqwhki> 2007/07/04 07:26:44
Linuxではマウス関係の動作は良好ではありません。
MOUSE POLL文は,マウス移動ごとにマウスをクリックしないと点が取得できない状況でした。そのため,JISにない文であることから非サポートにしていました。
しかし,最新のVine4.1では反応が鈍いものの,動かないことはないという程度の動作はすることがわかったので,Ver. 6.3.9で翻訳しない設定になっていたのを解除しました。
どの範囲のLinuxで良好に動作するのか,あるいは,CPUの性能に依存するものかは,今のところ未解明です。

   └6.3.9に替えてみます。 島村1243 2007/07/04 10:29:47  ツリーへ

Re: Linuxではマウス関係の動作は良好ではありま... 返事を書く ノートメニュー
島村1243 <bjllmpcujp> 2007/07/04 10:29:47
6.3.9に替えてみます。
白石先生、ご回答有難うございます。
現在使用のLinuxバージョンは6.3.8でしたので、明日6.3.9に取り換えて再実行してみます。
Vine4.0,Debian3.1,FedoraCore5で実行した結果をこのスレッドでご報告致します。

    └6.3.9での動作報告 島村1243 2007/07/05 21:25:07  ツリーへ

Re: 6.3.9に替えてみます。 返事を書く ノートメニュー
島村1243 <bjllmpcujp> 2007/07/05 21:25:07
6.3.9での動作報告
Debian3.1,Vine4.0及びFedoraCore5のLinuxで、前述のマウスによる図形回転プログラムを動作させてみました。
マウス機能は使えるようになりましたが、私の使用しているPCの能力ではマウスドラッグでの図形回転は
極めて遅く(マウスポインターがフリッカーしているのがはっきり見える程)、残念ですが実用的ではありませんでした。
使用したPCの性能は下記のとおりです(Vine4.0は若干良いかなと言う程度)。

<Debian3.1のPC>
CPU:AthlonXP1700+(1.4GHz)
RAM:512MB

<Vine4.0のPC>
CPU:Pentium 1.8GHz
RAM:768MB

<FedoraCore5のPC>
CPU:Pentium 1.8GHz
RAM:768MB


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