2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

プログラミングのお題スレ Part17

253 :デフォルトの名無しさん:2020/04/20(月) 16:12:46 ID:EsvxpnHB.net
>>181 Perl5 (Javaじゃなくてスマソ、ActivePerlなどのTkxモジュールがインストールされている環境で実行ください)

use Tkx;

$top = Tkx::widget->new('.');
$c = $top->new_canvas(-width => 300, -height => 300);
$c->g_pack(-expand => 1);

($x0, $y0) = (150, 50);
$r = 200;
($v, $theta) = (0, 3.1415 * 40 / 180);
($x, $y);
$dt = 20;

sub show {
 ($x, $y) = ($x0 + $r * sin $theta, $y0 + $r * cos $theta);
 $c->coords($stick, $x0, $y0, $x, $y);
 $c->coords($ball, $x-7, $y-7, $x+7, $y+7);
 Tkx::after($dt, \&show);
 $a = -0.00098 * sin $theta;
 $a *= $a * $v > 0 ? 0.95 : 1/0.95; # dumping
 $dv = $a * $dt;
 $dtheta = ($v + $dv/2) * $dt / $r;
 $theta += $dtheta;
 $v += $dv;
}
show;

$stick = $c->create_line($x0, $y0, $x, $y, -width => 2.0);
$ball = $c->create_oval($x-7, $y-7, $x+7, $y+7, -fill => 'gray');

Tkx::MainLoop();

総レス数 1004
265 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★