12 public double a,
b,
c;
14 public Line(
double a,
double b,
double c) {
23 c = -(
a * p1.x +
b * p1.y);
24 double k = 1 / Math.sqrt(
a *
a +
b *
b);
30 public double y(
double x)
32 return (( -
c -
a * x) /
b);
42 return Math.abs(
a * x +
b * y +
c) / Math.sqrt(
a *
a +
b *
b);
48 double x1, y1, x2, y2;
53 x2 = gcs.realX(gcs.getWidth());
60 y2 = gcs.realY(gcs.getHeight());
62 Color prevcolor = gcs.getCanvas().getColor();
63 view().chooseColor(Color.BLACK, Color.YELLOW, Color.GREEN, gcs);
64 gcs.getCanvas().drawLine(gcs.
canvasX(x1), gcs.canvasY(y1),
65 gcs.
canvasX(x2), gcs.canvasY(y2));
66 gcs.getCanvas().setColor(prevcolor);
Класс для работы с вещественными числами
double distance(double x, double y)
double realX(int canvasX)
Точка. Определяется двумя числами - координами в декартовой системе координат.
static boolean eq(double a, double b)
Проверка вещественных чисел на равенство
void draw(GCoordSystem gcs)
Главный класс отображения. У пользователя нет необходимости его использовать напрямую.
int canvasX(double realX)
Абстрактный суперкласс для всех графических объектов
Прямая. Определяется двумя точками
Line(double a, double b, double c)
boolean in(int canvasX, int canvasY, GCoordSystem gcs)