Java, апплеты, графика 2d [требует правки]

309
16 января 2017, 19:49

Задача: Определение взаимного расположение точек, т.е. точки относительно прямой. Алгоритм прост: вычисляется определитель, если > 0 левее прямой, <0 правее прямой, =0 на прямой. Проблема с апплетом, затрудняюсь описать, код для примера:

import java.awt.*;
import java.applet.*;
import java.util.Random;
public class Task_1 extends Applet {
    public void paint(Graphics g) {
        int x0, y0;
        int x1, y1;
        int x2, y2;
        int min = 100;
        int max = 600;
        double det;
        Random rnd = new Random(System.currentTimeMillis());
        x0 = min + rnd.nextInt(max - min + 1);
        x1 = min + rnd.nextInt(max - min + 1);
        x2 = min + rnd.nextInt(max - min + 1);
        y0 = min + rnd.nextInt(max - min + 1);
        y1 = min + rnd.nextInt(max - min + 1);
        y2 = min + rnd.nextInt(max - min + 1);
        System.out.println("x0 = " + x0 + "\tx1 = " + x1 + "\tx2 = " + x2);
        System.out.println("y0 = " + y0 + "\ty1 = " + y1 + "\ty2 = " + y2);
        det = determinant(x0, y0, x1, y1, x2, y2);
        if (det > 0) System.out.println("Located on the LEFT point of the line.");
        if (det < 0) System.out.println("Located on the RIGHT point of the line.");
        else System.out.println("Located ON the straight line point.");
        setSize(900, 700);
        g.drawLine(x1, y1, x2, y2);
        g.setColor(Color.RED);
        g.fillOval(x0, y0, 15, 15);
    }
    public double determinant(int x0, int y0, int x1, int y1, int x2, int y2) {
        double result;
        result = x0 * (y1 - y2) + x1 * (y2 - y0) + x2 * (y0 - y1);
        System.out.println("Determinant = " + result + ";");
        return result;
    }
}
READ ALSO
Как сохранять последние действия?

Как сохранять последние действия?

Всем привет и доброго дня!

322
java Сериализация

java Сериализация

Добрый деньИзучаем сериализацию

322
Как прочитать файл, [дубликат]

Как прочитать файл, [дубликат]

На данный вопрос уже ответили:

308