fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. Scanner in = new Scanner(System.in);
  13.  
  14. double ax, ay, bx, by, cx, cy, dx, dy;//Даны по условию или нужно найти.
  15. double A1, B1, C1, A2, B2, C2, ox, oy;//Используются для вычислений.
  16.  
  17. System.out.println("Введите координаты точек A, B, C.");
  18. ax = in.nextDouble();
  19. ay = in.nextDouble();
  20. bx = in.nextDouble();
  21. by = in.nextDouble();
  22. cx = in.nextDouble();
  23. cy = in.nextDouble();
  24.  
  25. A1=cy-by;//Постоянные из уравнения прямой BC.
  26. B1=bx-cx;
  27. C1=by*(cx-bx)-bx*(cy-by);
  28. A2=-B1;//Постоянные из уравнения прямой a.
  29. B2=A1;
  30. C2=B1*ax-A1*ay;
  31. ox=(B1*C2-B2*C1)/(A1*B2-A2*B1);//Координаты точки О.
  32. oy=(C1*A2-C2*A1)/(A1*B2-A2*B1);
  33. dx=2*ox-ax;//Координаты точки D.
  34. dy=2*oy-ay;
  35. System.out.println("D("+dx+";"+dy+")");
  36. }
  37. }
Success #stdin #stdout 0.18s 321344KB
stdin
2 2 0 0 1 0
stdout
Введите координаты точек A, B, C.
D(2.0;-2.0)