package examples.linear.polygonal.application; import java.awt.Color; import br.com.etyllica.core.context.Application; import br.com.etyllica.core.event.PointerEvent; import br.com.etyllica.core.graphics.Graphics; import br.com.etyllica.core.linear.Point2D; public class PolygonalArea extends Application { private Point2D p; private Point2D q; public PolygonalArea(int w, int h) { super(w,h); } public void load() { p = new Point2D(100, 200); q = new Point2D(200, 300); loading = 99; } public void draw(Graphics g) { g.setColor(Color.BLACK); g.drawLine(p, q); drawPoint(g, p); drawPoint(g, q); Point2D p1 = p.distantPoint(q, 50); p1.rotate(p, -90); Point2D p2 = p.distantPoint(q, 50); p2.rotate(p, +90); Point2D q1 = p.distantPoint(q, p.distance(q)+50); q1.rotate(q, -90); Point2D q2 = p.distantPoint(q, p.distance(q)+50); q2.rotate(q, +90); g.drawLine(p, p1); g.drawLine(p, p2); g.drawLine(q, q1); g.drawLine(q, q2); g.drawLine(p1, q1); g.drawLine(p2, q2); drawPoint(g, p1); drawPoint(g, p2); drawPoint(g, q1); drawPoint(g, q2); } private void drawPoint(Graphics g, Point2D point) { g.fillCircle(point, 5); } @Override public void updateMouse(PointerEvent event) { //dynamic position q.setLocation(event.getX(), event.getY()); } }