Пример #1
0
 public static bool IsCanBePlaced(Prism p, Box b)
 {
     if (TriangleCircleR(p) <= RectangleCircleR_AB(b) && p.H <= b.C ||
         TriangleCircleR(p) <= RectangleCircleR_AC(b) && p.H <= b.B ||
         TriangleCircleR(p) <= RectangleCircleR_BC(b) && p.H <= b.A)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Пример #2
0
 public double IsSimilar(ref Prism x, out double k)
 {
     if (a / x.a == b / x.b &&
         b / x.b == c / x.c &&
         c / x.c == h / x.h)
     {
         Console.WriteLine("Данные призмы пропорциоальны");
         k = a / x.a;
         Console.Write("Коэффициент подобия = ");
     }
     else
     {
         Console.WriteLine("Данные призмы не пропорциональны");
         k = 0;
     }
     return(k);
 }
Пример #3
0
        static void Main(string[] args)
        {
            double k;       //Коэффициент подобия призм
            Prism  pr1 = new Prism();
            Prism  pr2 = new Prism(3, 3, 3, 3);

            Console.WriteLine(pr1.GetHashCode());
            Console.WriteLine(pr2.IsSimilar(ref pr1, out k));
            Prism.Info();
            if (pr1.Equals(pr2))
            {
                Console.WriteLine("Призмы идентичны!!!");
            }
            else
            {
                Console.WriteLine("Не, соре, не идентичны)))");
            }
            Prism pr3 = new Prism(3, 4, 5, 6);

            Console.WriteLine
                ("Площадь поверхности призмы = " +
                MathObject.SurfaceSquare(pr3));
            Console.WriteLine
                ("Площадь основания = " +
                MathObject.SquareOfBase(pr3));
            Console.WriteLine
                ("Объём призмы = " +
                MathObject.Amount(pr3)
                );
            Box b = new Box(3, 4, 6);

            // Console.WriteLine(MathObject.TriangleCircleR(pr3) + "  " + MathObject.RectangleCircleR_AB(b));
            if (MathObject.IsCanBePlaced(pr3, b))
            {
                Console.WriteLine("Может быть помещена");
            }
            else
            {
                Console.WriteLine("Не может");
            }
            var pr4 = new { a = 5, b = 5, c = 5, h = 6 };

            Console.WriteLine(pr4.a + " " + pr4.b + " " + pr4.c + " " + pr4.h + " ");
            Prism check = new Prism(1, 2, 3, 4);
        }
Пример #4
0
        // override object.Equals
        public override bool Equals(object obj)
        {
            Prism p = obj as Prism;

            if (obj == null || GetType() != obj.GetType())
            {
                return(false);
            }
            else
            if (a == p.a &&
                b == p.b &&
                c == p.c &&
                h == p.h &&
                hash == p.hash)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #5
0
 public static double TriangleCircleR(Prism p)
 {
     return((p.A * p.B * p.C) / (4 * SquareOfBase(p)));
 }
Пример #6
0
 private static double HeightOnC(Prism p)
 {
     return(2 * SquareOfBase(p) / p.C);
 }
Пример #7
0
        public static double SquareOfBase(Prism p)
        {
            double hop = HalfOfPerim(p);

            return(Math.Sqrt(hop * (hop - p.A) * (hop - p.B) * (hop - p.C)));
        }
Пример #8
0
 public static double SurfaceSquare(Prism p)
 {
     return(2 * SquareOfBase(p) + AVerge(p) + BVerge(p) + CVerge(p));
 }
Пример #9
0
 public static double CVerge(Prism p)
 {
     return(p.C * p.H);
 }
Пример #10
0
 public static double BVerge(Prism p)
 {
     return(p.B * p.H);
 }
Пример #11
0
 public static double AVerge(Prism p)
 {
     return(p.A * p.H);
 }
Пример #12
0
 public static double Amount(Prism p)
 {
     return(SquareOfBase(p) * p.H);
 }
Пример #13
0
 private static double HalfOfPerim(Prism p)
 {
     return((p.A + p.B + p.C) / 2);
 }