新しく発言する EXIT インデックスへ
図形作成ソフトをつくれますか?

  図形作成ソフトをつくれますか? ゆめの 2004/08/20 23:01:06 
  もりのさんなら出来るでしょう 小塚 2004/08/20 23:32:49 
  つくれるでしょうか?というのは良くないと... 滝沢 2004/08/21 03:25:10 
  │└じつは私がもりのですよ ゆめの 2004/08/22 11:33:51 
  │ └過去ログで、もりのさんは人に物をたのんで... 滝沢 2004/08/23 01:50:10 
  タートルグラフィックスの場合 山中和義 2004/08/22 09:49:25 
  図形ソフトにお任せでは、、、 山中和義 2004/08/22 10:02:27 
   ├!N角形を描く 山中和義 2004/08/22 10:03:15 
   └三角形のソフトありがとうございます。 ゆめの 2004/08/22 11:58:34 
    └>図形の線をもう少し太くできないかな 青木太一 2004/08/23 19:38:22 
     └青木さん ゆめの 2004/08/23 20:52:41 

  図形作成ソフトをつくれますか? ゆめの 2004/08/20 23:01:06  ツリーへ

図形作成ソフトをつくれますか? 返事を書く
ゆめの 2004/08/20 23:01:06
三角形

四角形

五角形

六角形

マウスメニュー方式でつくれるでしょうか?
ワンタッチで作成でき
辺をマウスで伸びちじみさせ
説明用につかえるもの

メニューには 印刷 も
あるといいですね



  もりのさんなら出来るでしょう 小塚 2004/08/20 23:32:49  ツリーへ

Re: 図形作成ソフトをつくれますか? 返事を書く
小塚 2004/08/20 23:32:49
もりのさんなら出来るでしょう
同じような事を書いてた方ですが・・・
全部人に作らせるのは、感心しませんねぇ

  つくれるでしょうか?というのは良くないと... 滝沢 2004/08/21 03:25:10  ツリーへ

Re: 図形作成ソフトをつくれますか? 返事を書く
滝沢 2004/08/21 03:25:10
つくれるでしょうか?というのは良くないと思います。失礼な言い方かも知れませんが、この掲示板を餌場にしているように解釈されてしまいます。もしこう感じたのが僕だけだったらごめんなさい。
でもあえて言わせていただければ、こういう書き方を続けると、もりのさんみたいに誰にも相手にされなくなってしまうと思います。ですから、ここまでプログラムを作ったのですが、上手に動きませんとか、具体的に書いた方がいいと思います。生意気なことを言ってすみませんでした。m(__)m

  │└じつは私がもりのですよ ゆめの 2004/08/22 11:33:51  ツリーへ

Re: つくれるでしょうか?というのは良くないと... 返事を書く
ゆめの 2004/08/22 11:33:51
じつは私がもりのですよ
ハンドルを入力まちがいしてしまった
だけです。ごめんなさい。
滝沢さんも誤解していられる面があるのでコメントして
おきますね
僕は、短時間にどれだけ高品質なソフトウエアや作品ができるのか?
エージェントとのやりとりのなかで
どんなことがどこまでできるのか?を研究しています。
でも実際に、つくっていただいたものは活用し、
メタ認知的な観点から感想も申し上げています。
これからの時代は、エージェントとのやりとりの中でつくっていく
そういう時代になると思い。
論文にもまとめてきたのです。
自分でつくるのがいやということではないのです。
たくさんの本を読み、プログラムもつくり、caiにも取り組み
その中からコラボレーションの考え方にいきつき
電子コミュニケーションの考え方を普及していくのです。
この掲示板でも何人かの方にとても協力していただいて感謝しています。
人工知能やエージェントの分野の研究は今いきずまっています。
僕のエージェントやコラボレーションの考えかたは、
徐々にひろがってきています。
コレからの日本には創造的な学力やコミュニケーション力が
必要なのです。
ですから、これからの日本に必要な事で、市販のものでも
なく、楽しみながらつくってくれませんか?


この掲示板のようなやりとりができるbbsはいまのところ
ほかにはないのでここをたよりにしてきた点もあろうかと
思います。
いま、この掲示板でのやりとりのようなことは
これからの日本にとってとても役に立つことです。
いろいろ不満もあろうかと思いますが、コラボレーションに
よってこんなに実用的で、創造的なものがつくれる
ということをしめしていきませんか?
僕もプログラムはつくってきましたが・・・
頭でおもったことがすぐプログラムにできる方は
うらやましい。。です。
9月は図形も教えますので
自由にへんけいできたり
おりたたんだりできるものが
あるといいですね。
今後とも協力していただけると
大変ありがたいです。





  │ └過去ログで、もりのさんは人に物をたのんで... 滝沢 2004/08/23 01:50:10  ツリーへ

Re: じつは私がもりのですよ 返事を書く
滝沢 2004/08/23 01:50:10
過去ログで、もりのさんは人に物をたのんでおいて著作権は認めないような発言をしていたので、そういう人なのかと思っていました。実際そのへんはどうなのですか?
私は最近入ってきたひよっこなので、偉そうな事を言うのはおこがましいとは思いますが、もりのさんの論文には引用したプログラムの作者名は記入していますか?十進の事もちゃんと紹介していますか?
この掲示板は白石大先生やその側近の十進を創っている方々及び、プログラムを創っている方々、勉強中の方々など様々な人によって成り立っていると僕は思っています。ですからその事を尊重していただきたいのです。みんなで仲良くやりたいのです。生意気な事を言ってごめんなさい。

  タートルグラフィックスの場合 山中和義 2004/08/22 09:49:25  ツリーへ

Re: 図形作成ソフトをつくれますか? 返事を書く
山中和義 2004/08/22 09:49:25
タートルグラフィックスの場合
Kame.basを移植してみました。
ロゴとBASICの混在した文法になりますが、図形の性質をおさえながら
描くことができます。

!タートルグラフィックス for 十進BASIC < Kame.bas >
sub FD(R) !Forward 前へ進む
LET KX1=KX+R*cos(KTH)
LET KY1=KY+R*sin(KTH)
if KPEN=-1 then
set line color KCOLOR
plot lines:KX,480-KY; KX1,480-KY1
end if
LET KX=KX1
LET KY=KY1
end sub
sub BK(R) !Back 後へ進む
LET KX1=KX-R*cos(KTH)
LET KY1=KY-R*sin(KTH)
if KPEN=-1 then
set line color KCOLOR
plot lines:KX,480-KY; KX1,480-KY1
end if
LET KX=KX1
LET KY=KY1
end sub
sub RT(KAKUDO) !Right 右へ回転
LET KTH=KTH+PI/180*KAKUDO*KPHASE
end sub
sub LT(KAKUDO) !Left 左へ回転
LET KTH=KTH-PI/180*KAKUDO*KPHASE
end sub
sub SETPOS(X,Y) !亀の位置を変更
LET KX=X
LET KY=Y
end sub
sub PENUP !ペンを上げる(線を残さない)
LET KPEN=0
end sub
sub PENDOWN !ペンを下げる(線を残す)
LET KPEN=-1
end sub
sub PENCOLOR(C) !ペンの色を設定(0〜15)
if C<0 or C>15 then exit sub
LET KCOLOR=C
end sub
sub REVERSE !回転の左右を反転する(RTが左回転)
LET KPHASE=-KPHASE
end sub
sub RESET !初期化する
LET KX=320 !初期設定(カメを画面中央におく)
LET KY=200
LET KTH=PI*3/2 !初期設定(カメを上向き(北)にする)
LET KPEN=-1 !ペンを下げる
LET KCOLOR=1 !黒色
LET KPHASE=1 !正の値が「時計回り」
end sub

set bitmap size 640,480
set window 0,640,0,480 !画面 640×480
call RESET !初期化する

!----- サブルーチン定義終了 -----


!----- これ以降にメインを記述してください -----

!N角形を描く

LET n = 5 !角数を設定する
FOR i=1 TO n
call RT (360/n) !頂点位置において、(180度-内角)の値で回転させる
call FD (150) !辺を描く
NEXT i


END

  図形ソフトにお任せでは、、、 山中和義 2004/08/22 10:02:27  ツリーへ

Re: 図形作成ソフトをつくれますか? 返事を書く
山中和義 2004/08/22 10:02:27
図形ソフトにお任せでは、、、
DRAW系、CAD系のソフトで基本図形は描けますのでそれを使う手も有りかと?
BASICで多角形の描き方は、ヘルプの「外部絵定義」の章に載っています。

実際、上記のソフトを作る場合は以下のような感じで記述していけるかと
思います。 サンプルとしてください。

[使い方]
頂点をドラッグして移動できます。
上下のカーソルキーで角数の増分ができます。
ESCキーで終了です。

   ├!N角形を描く 山中和義 2004/08/22 10:03:15  ツリーへ

Re: 図形ソフトにお任せでは、、、 返事を書く
山中和義 2004/08/22 10:03:15
!N角形を描く

SET BITMAP SIZE 640,480

SET WINDOW 0,640,0,480 !左下が原点。横がX、縦Y
SET COLOR mode "NATIVE" !RGB指定
SET TEXT font "",12 !文字サイズ

LET N = 3 !角数
LET CX = 200 !中心(x,y)
LET CY = 300
LET R = 100 !半径
LET C = colorindex(1,0,1) !色

OPTION BASE 0
DIM PX(50),PY(50)

CALL CalcPoint(N,CX,CY,R,C,PX,PY) !N角形を描く

LET drag_left = 0

DO
mouse poll x,y,left,right !マウスの状態を得る

IF left=1 THEN !左ボタンが押された、押されていたら
IF drag_left = 1 THEN !ドラッグ中なら
LET PX(pp) = x !マウスの位置に追従させる
LET PY(pp) = y
if pp=n then
LET PX(0) = x
LET PY(0) = y
end if
DRAW DRAW_POLYGON(N,C,PX,PY) !N角形を描く
ELSE
LET pp = CheckNear(N,x,y,PX,PY) !クリックした位置が
IF pp>0 THEN !頂点なら
LET drag_left = 1 !ドラッグ中とする
END IF
END IF
ELSE
LET drag_left = 0
END IF

if getkeystate(38)<0 then !上矢印キーなら
LET N = N + 1 !角数を増やす
CALL CalcPoint(N,CX,CY,R,C,PX,PY)
END IF
if getkeystate(40)<0 then !下矢印キーなら
LET N = N - 1
if N<3 then LET n = 3
CALL CalcPoint(N,CX,CY,R,C,PX,PY)
END IF
if getkeystate(27)<0 then !ESCキーなら
STOP
END IF

WAIT DELAY 0.1 !ちょっとだけ待つ
LOOP

END

!各頂点の位置を算出し、N角形を描く
EXTERNAL SUB CalcPoint(N,CX,CY,R,C,PX(),PY())
LET alp = PI/2 !1点目の位置を補正する
if N=4 then LET alp = PI/N

FOR i=0 TO N !各頂点の位置を算出する
LET PX(i) = -R*cos(2*PI*i/N + alp) + CX
LET PY(i) = R*sin(2*PI*i/N + alp) + CY
NEXT i

DRAW DRAW_POLYGON(n,C,PX,PY) !N角形を描く
END SUB

!当り判定 ※2点間の距離を算出
EXTERNAL FUNCTION CheckNear(N,x,y,PX(),PY())
LET CheckNear = -1
FOR i=1 TO N !各頂点との
LET xx = PX(i) - x !距離を計算する
LET yy = PY(i) - y
IF xx*xx+yy*yy<81 THEN !近くなら
LET CheckNear = i !その頂点番号を返す
EXIT FUNCTION
END IF
NEXT i
END FUNCTION

!画面をクリア後、N角形を描く
EXTERNAL PICTURE DRAW_POLYGON(N,C,PX(),PY())
SET DRAW MODE HIDDEN !ちらつきを抑える
SET AREA COLOR colorindex(1,1,1) !画面をクリアする
PLOT AREA:0,0; 640,0; 640,480; 0,480
DRAW polygon2(N,C,PX,PY) !N角形を描く
SET DRAW MODE EXPLICIT
END PICTURE

!N角形を描く
EXTERNAL PICTURE polygon2(N,C,PX(),PY()) !角数、中心点、半径、色
SET LINE COLOR C
FOR i=0 TO N
PLOT LINES:PX(i),PY(i); !辺を描く
PLOT POINTS:PX(i),PY(i) !頂点を描く
NEXT i
END PICTURE

   └三角形のソフトありがとうございます。 ゆめの 2004/08/22 11:58:34  ツリーへ

Re: 図形ソフトにお任せでは、、、 返事を書く
ゆめの 2004/08/22 11:58:34
三角形のソフトありがとうございます。

実際に今使ってみましたが
操作性がいいですね。
気にいりました。
三角形から多角形・・・円までの
説明に十分使えそうです。
私が求めているものはこのような
創造的で操作性がよいソフトウエアです。
先日学会で電子教科書のソフトの
見本が提示されましたが
教科書の図をそのまま表示
するというものでした。
それではあまりいみがないなとおもっていた
ところです。
今気がついたことは
図形の線をもう少し太くできないかな
三角形の場合辺によって色をすぐに変えられると
説明にいいな
とおもいました?
改良することはできるでしょうか?
山中さんのプログミング力は
数学を専門とする大学教授からも
評価されています。
電卓のプログラムを見て
そうおもいました。

    └>図形の線をもう少し太くできないかな 青木太一 2004/08/23 19:38:22  ツリーへ

Re: 三角形のソフトありがとうございます。 返事を書く
青木太一 2004/08/23 19:38:22
>図形の線をもう少し太くできないかな
独自拡張のset line widthをお使いになってはいかがでしょう?

使い方は
ヘルプ−目次−グラフィックス−線を描く
の最後に載っています

     └青木さん ゆめの 2004/08/23 20:52:41  ツリーへ

Re: >図形の線をもう少し太くできないかな 返事を書く
ゆめの 2004/08/23 20:52:41
青木さん
ありがとう


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