Informatika gyűjtemény

Egy szinttel feljebb ep_cella.java

2004050607080910

NézetNyomtat

ep_cella.java (Vissza)
Az alábbi letöltési lehetőségek közül választhatsz: (segítség)
Karakterkódolás:
Sortörés:
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: us-ascii
Méret: 1 KB
package cella;

class Point{
    double x;
    double y;

    Point(double xx, double yy){
        x = xx;
        y = yy;
    }

    double mp1p2(Point p){
        double dx = x-p.x;
        double dy = y-p.y;
        return dy / dx;
    }

    double mp(){
        return -4*x/y;
    }

    double mOut(double B){

        double m = this.mp();
        return (2*m-B+m*m*B)/(1+2*m*B-m*m);
    }

    Point next(double B){
        double m = mOut(B);

    
        double a =(m*m*x-4*x-2*m*y);
        double b = m*m+4;
        double nx = a/b;
        double ny = m*(nx-x)+y;

        return new Point(nx,ny);
    }

    String tos(){
        return "("+x+"; "+y+")";
    }



}

public class Main {

    public static void main(String[] args) {
       
        Point A = new Point(0,10.1);
        Point T = new Point(1.4,-9.6);


      
        long step = 0;
        do{
            step++;
            
            Point B = T.next(A.mp1p2(T));

            System.out.println(step);
            System.out.println(B.tos());

            A = T; T = B;

        } while (!(T.>= -0.01 && T.<= 0.01 && T.y>0));


    }

}
(Vissza)