예제 #1
0
 /* *****************************************************
  *	Skala upp (ned) en punkt. Vektorn från p0 till p1
  * förlängs enligt en faktor (kan vara <1) och en ny
  * punkt beräknas.
  ***************************************************** */
 protected Punkt Skala(Punkt p0, Punkt p1, double faktor) {
   double r, phi;
   double x0, y0, x1, y1, x2, y2;
   double dx, dy;
   x0 = p0.GetX();
   y0 = p0.GetY();
   x1 = p1.GetX();
   y1 = p1.GetY();
   dx = x1 - x0;
   dy = y1 - y0;
   r = Math.sqrt(dx * dx + dy * dy);
   phi = Math.atan2(dx, dy);
   x2 = x0 + faktor * r * Math.sin(phi);
   y2 = y0 + faktor * r * Math.cos(phi);
   return new Punkt(x2, y2);
 }
예제 #2
0
 /* *****************************************************
  *	Förflytta punkten p med kvantiteten x resp y
  ***************************************************** */
 protected Punkt Translatera(Punkt p, int x, int y) {
   return new Punkt(p.GetX() + x, p.GetY() + y);
 }