針がどの目盛りをさしているのか? もりの 2004/02/10 23:00:20 └暇だったので作りました。 shino 2004/02/11 09:28:38 ├後半部分です。 shino 2004/02/11 09:32:06 │└書き忘れていましたが、 shino 2004/02/11 09:42:38 │ └申し出ありがとう もりの 2004/02/11 11:27:37 └想像以上にいいですね^^ もりの 2004/02/11 11:45:04
針がどの目盛りをさしているのか? もりの 2004/02/10 23:00:20 ツリーへ
針がどの目盛りをさしているのか? |
返事を書く |
もりの 2004/02/10 23:00:20 | |
針がもっと長くないと はりがもっときちんと 指定した目盛りをさす 針目盛りが 0、10、50、100、500、1000 10きざみ 100きざみ をきちんと さし それがよみとれること どなたか「ひろさんの作ってくれた はかりの プログラムを 改良できる方いられますか?」 めもりと数字がはっきりしていて 読み取れること それが条件なんです このままでは、つかいえないな?という 状況です。 どなたか さらに改良してくれますか? |
└暇だったので作りました。 shino 2004/02/11 09:28:38 ツリーへ
Re: 針がどの目盛りをさしているのか? |
返事を書く |
shino 2004/02/11 09:28:38 | |
暇だったので作りました。 とりあえず一キログラムの秤です。 色や秤の種類はなどの設定はあとで変えられるようにします。 前の部分です。 PUBLIC NUMERIC gs(2),m1,m2,m3,m4,ws,bi,ci,di,rate,rc(4),gc(4),bc(4) SET COLOR mode "NATIVE" OPTION ANGLE DEGREES SET TEXT JUSTIFY "center","half" DECLARE EXTERNAL picture body,memori,hari DECLARE EXTERNAL SUB mover,bg LET ws=600 !画面のサイズ SET bitmap SIZE ws,ws SET WINDOW -0.5*ws,0.5*ws,-0.5*ws,0.5*ws REM 初期化 LET gs(1)=1000 !秤の型(グラム) IF gs(1)>2000 THEN LET gs(2)=gs(1)/10 LET rate=10 ELSE LET gs(2)=gs(1) LET rate=1 END IF LET m1=1 LET m2=1 LET m3=1 LET m4=1 LET bi=ws/4 LET ci=ws/3 REM 本体 SET DRAW mode hidden LET di=90 CALL bg SET DRAW mode explicit DO SET DRAW mode hidden mouse poll x,y,l,r IF l=1 AND ABS(x)<bi AND ABS(y)<bi THEN CALL mover SET DRAW mode explicit WAIT DELAY 0.01 loop END EXTERNAL PICTURE memori(ta,lw) SET LINE width lw PLOT LINES:0,1;0,1-ta END picture EXTERNAL PICTURE hari PLOT LINES:0,0;1.35,0 END PICTURE |
├後半部分です。 shino 2004/02/11 09:32:06 ツリーへ
Re: 暇だったので作りました。 |
返事を書く |
shino 2004/02/11 09:32:06 | |
後半部分です。 EXTERNAL PICTURE body OPTION ANGLE DEGREES IF di>90 THEN LET di=di-360 LET dy=0.1*(270+di) LET i=0 DO SET AREA COLOR colorindex(0.10*(i+0.1*dy),0.05*(i+0.1*dy),0.02*(i+0.1*dy)) !重りの色 PLOT AREA:-0.5*ci+2*i+dy,1.25*ci-36+dy;-0.5*ci+2*i+dy,1.25*ci+36-dy-2*i;0.5*ci-2*i-dy,1.25*ci+36-dy-2*i;0.5*ci-2*i-dy,1.25*ci-36+dy SET AREA COLOR colorindex(0.15*i+0.25,0.15*i+0.25,0.15*i+0.25) !支柱の色 PLOT AREA:-0.25*ci+i-10,bi;-0.25*ci-10+i,ci-36+dy;-0.25*ci+10-i,ci-36+dy;-0.25*ci+10-i,bi PLOT AREA:0.25*ci+i-10,bi;0.25*ci-10+i,ci-36+dy;0.25*ci+10-i,ci-36+dy;0.25*ci+10-i,bi SET AREA COLOR colorindex(0.16*i+0.2,0.03*i+0.2,0.01*i+0.2) !皿の色 PLOT AREA:-ci+i,-bi-2*i;-1.25*ci+4*i,-1.25*ci;1.25*ci-4*i,-1.25*ci;ci-i,-bi-2*i SET AREA COLOR colorindex(0.16*i+0.2,0.03*i+0.2,0.01*i+0.2) !本体の色 PLOT AREA:-bi+2*i,-bi+2*i;bi-2*i,-bi+2*i;bi-2*i,bi-2*i;-bi+2*i,bi-2*i SET AREA COLOR colorindex(0.16*i+0.2,0.03*i+0.2,0.01*i+0.2) !土台の色 PLOT AREA:-ci+3*i,1.25*ci-36+dy;-bi+i,ci-36+dy+3*i;bi-i,ci-36+dy+3*i;ci-3*i,1.25*ci-36+dy LET i=i+INT(ci/200) LOOP WHILE i<=5 LET i=0 DO SET AREA COLOR colorindex(i,i,i) !表示板 DRAW disk WITH SCALE(bi-10-2*SIN(90*i))*SHIFT(0,2.5-5*SIN(90*i)) LET i=i+0.2 LOOP WHILE i<=1 SET LINE COLOR colorindex(0,0,0) PLOT LINES:-1.25*ci,-1.25*ci;1.25*ci,-1.25*ci PLOT LINES:-ci,1.25*ci-36+dy;ci,1.25*ci-36+dy DRAW hari WITH SCALE(0.5*ci)*ROTATE(di) LET theta=0 LET dtheta=3600/gs(2) LET num=0 DO IF m1=1 AND MOD(theta,10*dtheta)=0 THEN !100の目盛り(1000の目盛り) DRAW memori(ci/2000,2) WITH SCALE(bi-10)*ROTATE(theta) PLOT TEXT,AT (0.5*ci)*COS(90-theta),(0.5*ci)*SIN(90-theta):STR$(num) LET num=num+100*rate ELSEIF m2=1 AND MOD(theta,5*dtheta)=0 THEN !50の目盛り(500の目盛り) DRAW memori(ci/2500,1) WITH SCALE(bi-10)*ROTATE(theta) SET AREA COLOR colorindex(SIN(theta),SIN(theta),SIN(theta)) DRAW disk WITH SCALE(0.05*ci-ci/10000*theta) ELSEIF m3=1 AND MOD(theta,dtheta)=0 THEN !10の目盛り(100の目盛り) DRAW memori(ci/5000,1) WITH SCALE(bi-10)*ROTATE(theta) END IF IF m4=1 THEN DRAW memori(ci/10000,1) WITH SCALE(bi-10)*ROTATE(theta+0.5*dtheta) !5の目盛り(50の目盛り) LET theta=theta+dtheta LOOP WHILE theta<360 END PICTURE EXTERNAL SUB mover OPTION ANGLE DEGREES DO SET DRAW mode hidden mouse poll x,y,l,r LET di=ANGLE(x,y) IF l=0 THEN EXIT DO CALL bg SET DRAW mode explicit WAIT DELAY 0.03 LOOP IF m4=0 THEN LET dtheta=3600/gs(2) ELSE LET dtheta=1800/gs(2) END IF LET di=90-dtheta*INT((90-di+0.5*dtheta)/dtheta) CALL bg END SUB EXTERNAL SUB bg OPTION ANGLE DEGREES CLEAR SET AREA COLOR colorindex(1,1,1) PLOT AREA:-ws,ws;ws,ws;ws,-ws;-ws,-ws DRAW body END sub |
│└書き忘れていましたが、 shino 2004/02/11 09:42:38 ツリーへ
Re: 後半部分です。 |
返事を書く |
shino 2004/02/11 09:42:38 | |
書き忘れていましたが、 指針の位置(おもりの重さ)を変えるには、 文字盤上でドラッグして下さい。 5グラム毎に変えられます。(初期設定) 他に気になることがあったら教えて下さい。 |
│ └申し出ありがとう もりの 2004/02/11 11:27:37 ツリーへ
Re: 書き忘れていましたが、 |
返事を書く |
もりの 2004/02/11 11:27:37 | |
申し出ありがとう ございました 使ってみて 気になるところが あったら またお願いします とりあえず ありがとう |
└想像以上にいいですね^^ もりの 2004/02/11 11:45:04 ツリーへ
Re: 暇だったので作りました。 |
返事を書く |
もりの 2004/02/11 11:45:04 | |
想像以上にいいですね^^ ありがとう 教室やコンピュータ室の電子ボードで 見せることが前提なので はりについてはこだわってくれますか 先端がとがったあかい矢印・・とがった 三角形でもいいかも はりのねもとから先端の赤い部分までは ネイビーblue とにかく指示棒みたいに したいわけです 説明しやすく こどもにもわかりやすくということです また改良 おまちしています 1kg以外もサポートできれば 理想的ですね 10kgまでとかね よろしくお願いします またあとで掲示板みてみます 今週金曜日に授業で 使います^^ |