Advertisement
Guest User

Отрезок на плоскости

a guest
Nov 23rd, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. package Tochka;
  2. public class Tochka {
  3. public float x;
  4. public float y;
  5. Tochka(float x,float y){
  6. if ((Math.abs(x)<100)&&(Math.abs(y)<100)) {
  7. this.x=x;
  8. this.y=y;
  9. } else System.out.println("Координаты точки должны быть меньше 100 по абсолютному значению");
  10. }
  11.  
  12. public void Info() {
  13. System.out.println("("+x+";"+y+")");
  14. }
  15. }
  16.  
  17.  
  18.  
  19.  
  20. package Tochka;
  21. public class Otrezok {
  22. public Tochka a;
  23. public Tochka b;
  24.  
  25. Otrezok(Tochka a,Tochka b){
  26. this.a=a;
  27. this.b=b;
  28. }
  29.  
  30. public float Length() {
  31. float l=(float) Math.sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
  32. return l;
  33. }
  34.  
  35. public double UgolAbs() {
  36. double ug= Math.atan(Math.abs(a.y-b.y)/Math.abs(a.x-b.x));
  37. ug=Math.toDegrees(ug);
  38. return ug;
  39. }
  40.  
  41. public double UgolOr() {
  42. double ug= Math.atan(Math.abs(a.x-b.x)/Math.abs(a.y-b.y));
  43. ug=Math.toDegrees(ug);
  44. return ug;
  45. }
  46. public void Peresechenie(Otrezok o) {
  47. float x1=((o.a.x*o.b.y-o.b.x*o.a.y)*(b.x-a.x)-(a.x*b.y-b.x*a.y)*(o.b.x-o.a.x))/((a.y-b.y)*(o.b.x-o.a.x)-(o.a.y-o.b.y)*(b.x-a.x));
  48. float y1=-1*(((a.x*b.y-b.x*a.y)+(a.y-b.y)*x1)/(b.x-a.x));
  49. System.out.println("Точка пересечения отрезков: ("+x1+";"+y1+")");
  50. }
  51.  
  52. public void Middle() {
  53. float x1=Math.abs(a.x-b.x)/2;
  54. float y1=Math.abs(a.y-b.y)/2;
  55. if (a.x<b.x) x1+=a.x; else x1+=b.x;
  56. if (a.y<b.y) y1+=a.y; else y1+=b.y;
  57. System.out.println("Середина отрезка: ("+x1+";"+y1+")");
  58. }
  59.  
  60. }
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67. package Tochka;
  68. public class Main {
  69. public static void main(String[] args) {
  70. Tochka a=new Tochka(3,4);
  71. Tochka b=new Tochka(9,8);
  72. Tochka c=new Tochka(3,10);
  73. Tochka d=new Tochka(9,2);
  74. Otrezok o1=new Otrezok(a,b);
  75. Otrezok o2=new Otrezok(c,d);
  76. a.Info();
  77. b.Info();
  78. System.out.println("Длина отрезка: "+o1.Length());
  79. o1.Middle();
  80. o1.Peresechenie(o2);
  81. System.out.println("Угол между прямой и осью абсцисс: "+o1.UgolAbs());
  82. System.out.println("Угол между прямой и осью ординат: "+o1.UgolOr());
  83. }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement