2点を通る直線から離れた位置にある点までの距離を求める - 偏った言語信者の垂れ流し | a b c u v L | a := 2@2. b := 6@4. c := 4@5. u := b - a. v := c - a. L := (u crossProduct: v) / v r. L "=> 2.218800784900917 " つらつら Point クラスを眺めていたら #nearestPointOnLineFrom:to: 、#dist: なんて便利メソッドも見つかった。 余談ですが、#dotProduct: はあるくせになぜか #crossProduct: がない VisualWorks もこの #nearestPointOnLineFrom:to: や #dist: は使える。ので、先のコードは VisualWorks では動かないけれど、こちらのコードなら試せます。 |