HelloPhysicsWorld->vecmath-ruby->chapter2
で、実装中^^
Point2クラスの実装中に、distance系のメソッドが複数有ることに気づく。
通常のPoint2#distance*1以外に、
Point2#distance_L1*2とPoint2#distance_Linf*3の2種類あるようです。
で、なんだこりゃって事で、調べてみましょ。
class Point2 include Tuple2 alias_method :px, :x alias_method :py, :y def distance_squared point (@x-point.px)**2 + (@y-point.py)**2 end def distance point sqrt(distance_squared(point)) end def distance_L1 point (@x-point.px).abs + (@y-point.py).abs end def distance_Linf point [(@x-point.px).abs, (@y-point.py).abs].max end end
wikiってみるとマンハッタン距離 - Wikipediaって記事が。
Point2#distance_L1はn次元における座標軸にそった距離との事*4。
もう一寸調べてみるとLp space - Wikipediaも発見
で、Point2#distance_Linfとはなんだろうか?
使いどころが見えない。