<< 前 ホーム 次 >>

bakaid: 20061122

いや、アルゴリズムをVBで書かれても困るんだよな。
``_''って演算子なの? 単項マイナス? それともNOT?

あ、これって、ひょっとして、Cでいう``\''なの?
『改行エスケープ』ってヤツ?

いや、いくらなんでも今のVBはそこまでバカじゃないよね?

--

ああ、java.awt.geom.Line2Dには線分の交差判定があるのか。

MathもRubyより充実してるよなあ。

--

へー、GNU ClasspathってGPLだったのか。

--

でも、y = ax + bのまんまオブジェクトとして実装してる
のってあんま見ないよな。まぁ、あれだよな。やっぱ
数学好きなヤツはOOP嫌いなんだよな (笑)。

もう今となっては捨てちゃうけど:

(さっきまでLine2Dと名づけていたのは秘密だ (笑))

class Line1D {
    private double a;
    private double b;

    public Line1D(double a, double b) {
        this.a = a;
        this.b = b;
    }

    public Line1D(double x1, double y1, double x2, double y2) {
        a = (y2 - y1) / (x2 - x1);
        b = y1 - x1 * a;
    }

    public double y(double x) {
        return a * x + b;
    }

    public double x(double y) {
        return (y - b) / a;
    }

    public double[] intersection(Line1D line) {
        double x = (b - line.b) / (line.a - a);
        double y = y(x);
        double[] result = new double[2];
        result[0] = x;
        result[1] = y;
        return result;
    }

    public String toString() {
        return "y = " + a + " * x + " + b;
    }

    public static void main(String[] args) {
        Line1D lineA = new Line1D(2, 3);
        Line1D lineB = new Line1D(-1, 6);
        double[] result = lineA.intersection(lineB);
        System.out.println("[" + result[0] + "," + result[1] + "]");
    }
}

本家Permlink

<< 前 ホーム 次 >>


Copyright © 1905 tko at jitu.org

バカが征く on Rails