岡本 吉央
平面上の計算幾何学における基本的なアルゴリズムを実装し,アルゴリズム設計と評価の方法論,実装上の注意点,応用までを主体的に学ぶ.本年度は特に「曲線再構成問題」を 軸として,パズル「点つなぎ」のラベルなしバージョンに挑戦する.実装はRubyで行う予定であるが,Rubyに精通している必要はない.『アルゴリズム論第一』の内容を基礎として用いる.
キーワード:計算幾何学,曲線再構成問題,凸包,Delaunay三角形分割,Voronoi図
$pts.each { |pt| x = pt.x y = pt.y TkcOval.new($canvas, x-$pt_rad, y-$pt_rad, x+$pt_rad, y+$pt_rad, 'fill' => 'green') }となっているところを次のように
idx = 0 $pt_rad *= 5 $pts.each { |pt| x = pt.x y = pt.y TkcOval.new($canvas, x-$pt_rad, y-$pt_rad, x+$pt_rad, y+$pt_rad, 'fill' => 'green') TkcText.new($canvas, x, y, 'text' => idx.to_s) idx += 1 } $pt_rad /= 5とすると,頂点の番号も表示されて,デバッグが行いやすくなるかもしれません.