GeomVis  0.1
Набор классов Java для визуализации результатов работы геометрических алгоритмов
Segment.java
См. документацию.
1 package geom;
2 
3 import java.awt.Color;
4 
9 public class Segment extends GObject
10 {
11  public Point p1, p2;
12 
13  public Segment(Point p1, Point p2) {
14  this.p1 = p1;
15  this.p2 = p2;
16  }
17 
18  public Segment(int x1, int y1, int x2, int y2) {
19  this(new Point(x1, y1), new Point(x2, y2));
20  }
21 
22  @Override
23  public void draw(GCoordSystem gcs)
24  {
25 
26  Color prevcolor = gcs.getCanvas().getColor();
27  view().chooseColor(Color.BLACK, Color.YELLOW, Color.GREEN, gcs);
28  gcs.getCanvas().drawLine(gcs.canvasX(p1.x), gcs.canvasY(p1.y),
29  gcs.canvasX(p2.x), gcs.canvasY(p2.y));
30  gcs.getCanvas().setColor(prevcolor);
31 
32  }
33 
34  @Override
35  public boolean in(int canvasX, int canvasY, GCoordSystem gcs)
36  {
37  // TODO Auto-generated method stub
38  Point p = new Point(gcs.realX(canvasX), gcs.realY(canvasY));
39  return Math
40  .abs(Algorithms.distance(this.p1, p)
41  + Algorithms.distance(this.p2, p)
42  - Algorithms.distance(p1, p2))
43  / gcs.getScale() < gcs.gEps;
44  }
45 
46 }
double x
Definition: Point.java:13
boolean in(int canvasX, int canvasY, GCoordSystem gcs)
Definition: Segment.java:35
void draw(GCoordSystem gcs)
Definition: Segment.java:23
Point p2
Definition: Segment.java:11
Segment(int x1, int y1, int x2, int y2)
Definition: Segment.java:18
double realX(int canvasX)
Point p1
Definition: Segment.java:11
Точка. Определяется двумя числами - координами в декартовой системе координат.
Definition: Point.java:10
static double distance(double x1, double y1, double x2, double y2)
Вычисляет расстояние между двумя точками, заданных координатами
Definition: Algorithms.java:70
Главный класс отображения. У пользователя нет необходимости его использовать напрямую.
int canvasX(double realX)
Отрезок. Определяется двумя точками
Definition: Segment.java:9
Абстрактный суперкласс для всех графических объектов
Definition: GObject.java:14
Segment(Point p1, Point p2)
Definition: Segment.java:13
GView view()
Definition: GObject.java:19
Основной класс - функции геометрических алгоритмов Используются команадами.
Definition: Algorithms.java:10