>>133 スマソ、「正方形の4点の座標を示せ」と書かれていたので、出力処理を少し修正
use List::Util qw{min max pairkeys pairvalues};
@s=qw{136 577 110 927 472 199 157 808 388 598 94 31 388 157 325 409 787 897 850 598};
@X = pairkeys @s; @Y = pairvalues @s;
sub sp {$_[0]*$_[2] + $_[1]*$_[3]}
sub rt {
@e = (cos $th, -sin $th); @f = (sin $th, cos $th);
my @x = map{sp @e, $X[$_], $Y[$_]} 0..$#X;
my @y = map{sp @f, $X[$_], $Y[$_]} 0..$#Y;
@x = (min(@x), max(@x)); @y = (min(@y), max(@y));
$h = (max $x[1] - $x[0], $y[1] - $y[0]) / 2;
$cx = ($x[1] + $x[0]) / 2; $cy = ($y[1] + $y[0]) / 2;
@x = ($cx - $h, $cx + $h); @y = ($cy - $h, $cy + $h);
($e[1], $f[0]) = (-$e[1], -$f[0]);
@x = map{sp @e, $x[$_], $y[$_]} 0..1;
@y = map{sp @f, $x[$_], $y[$_]} 0..1;
@x = (min(@x), max(@x)); @y = (min(@y), max(@y));
(\@x, \@y, 2*$h) }
for $i (0..@X-2) { for $j ($i+1..$#X) {
($dx, $dy) = ($X[$j] - $X[$i], $Y[$j] - $Y[$i]);
($dx, $dy) = (-$dx, -$dy) if $dx < 0;
$l = sqrt($dx*$dx + $dy*$dy);
$th = $dx > abs($dy) ? -atan2($dy, $dx) : atan2($dx, $dy);
($X, $Y, $w) = &rt;
push @t, +{i,$i,j,$j,dx,$dx,dy,$dy,l,$l,th,$th,X,$X,Y,$Y,w,$w};
$th += 3.14159265358979/4; ($X, $Y, $w) = &rt;
push @t, +{i,$i,j,$j,dx,$dx,dy,$dy,l,$l,th,$th,X,$X,Y,$Y,w,$w};
} }
@t = sort{$a->{w}<=>$b->{w}} grep{0<=$_->{X}[0]and$_->{X}[1]<=999 and 0<=$_->{Y}[0]and$_->{Y}[1]<=999} @t;
do {@x = @{$t[$_]->{X}}; @y = @{$t[$_]->{Y}};
printf"%d: (%6.3f, %6.3f), (%7.3f, %6.3f), (%6.3f, %7.3f), (%7.3f, %7.3f): w=%3.3f\n",
$_+1,$x[0],$y[0],$x[1],$y[0],$x[0],$y[1],$x[1],$y[1],$t[$_]->{w}} for 0..5;
探検
プログラミングのお題スレ Part14
■ このスレッドは過去ログ倉庫に格納されています
135デフォルトの名無しさん
2019/05/26(日) 17:38:51.62ID:XOxN6P/y■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市内閣「支持」64%「不支持」19% NHK世論調査 ★2 [少考さん★]
- 高市首相「多様なコメの増産を進める」 方針転換への懸念払拭狙いか ★2 [どどん★]
- 【維新】奥下衆院議員 政治資金でキャバクラとラウンジに支出 費用は返金へ 「国民の皆さんからすれば『税金で』という思いが強い」 [ぐれ★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- 【東京】玉川高島屋「シャネル」で窃盗容疑 バッグ210万円相当、無職少年(18)逮捕 買い取り店で身分証提示できず売却失敗 [ぐれ★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- ホロライブ宝鐘マリン、最速でラーメンを投げ売りされてしまう [268244553]
- まったりおじゃる丸まったり待機スレ🏡
- 国民の半分が日中戦争を支持しているという現実…冷静に考えるとヤバイよ? [819729701]
- 【高市】自衛官の給与、いきなり20万円以上UPすることが閣議決定wwwwwwwwwwwwwwwwww [817260143]
- 生活保護を受けている私だけど、毎日が虚無なのょ。
- 【悲報】高市「同志国のヨーロッパ各国とレアアースをコスト度外視で安定供給するわよ😤」何言ってんだこいつ🤔 [359965264]
