Inheritance: FiguraGeometrica
示例#1
0
        private void AnimarCirculo(Circulo circulo, Vista vista)
        {
            vista.colorLapiz = Color.DarkRed;
            vista.mostrarCirc(circulo);
            bool sentido = true;
            while (true)
            {
                while (chkAnimacion.Checked)
                {

                    vista.colorLapiz = Color.Purple;
                    vista.mostrarCirc(circulo);
                    if (sentido)
                    {
                        if (circulo.centro.X <= panel1.Width - 2 * circulo.radio)
                            circulo.centro = new Point(circulo.centro.X + circulo.radio, circulo.centro.Y);
                        else
                            sentido = false;
                    }
                    else
                    {
                        if (circulo.centro.X > circulo.radio)
                            circulo.centro = new Point(circulo.centro.X - circulo.radio, circulo.centro.Y);
                        else
                            sentido = true;
                    }
                    vista.colorLapiz = Color.Purple;
                    vista.mostrarCirc(circulo);
                }
            }
        }
示例#2
0
        private void chkAnimacion_CheckedChanged(object sender, EventArgs e)
        {
            if (chkAnimacion.Checked)
            {
                Rectangulo rec = new Rectangulo(new Point(50, 60), new Point(350, 200));
                Color colorPluma = Color.Purple;
                Vista vista = new Vista(panel1, colorPluma);
                vista.mostrarRec(rec);

                Circulo circulo1 = new Circulo(20, new Point(340, 50));
                vista.colorLapiz = Color.Purple;
                vista.mostrarCirc(circulo1);

            }
        }
示例#3
0
 private void btnCrearCirculo_Click(object sender, EventArgs e)
 {
     if (chkAnimacion.Checked)
     {
         Random aleatorio = new Random();
         int r = aleatorio.Next(15, 50);
         int x, y;
         x = aleatorio.Next(0, panel1.Width - r);
         y = aleatorio.Next(0, panel1.Height - r);
         Point punto = new Point(x, y);
         Circulo circulo = new Circulo(r, punto);
         Task tarea = new Task( () => AnimarCirculo(circulo, new Vista(panel1)));
         tarea.Start();
     }
 }
        static void Main(string[] args)
        {
            Console.WriteLine("¿Qué figura deseas calcular?");
            Console.WriteLine("1.- Rectángulo.{0}2.- Circulo {0}", Environment.NewLine);
            var seleccion = Console.ReadLine();
            if (seleccion == "1")
            {
                Console.WriteLine("{0}{0}Has elegido el rectángulo." +
                                  "{0}{0}Indica su ancho:", Environment.NewLine);
                var ancho = double.Parse(Console.ReadLine());

                Console.WriteLine("{0}Indica su alto:", Environment.NewLine);

                var alto = double.Parse(Console.ReadLine());

                var rect = new Rectangulo()
                {
                    Ancho = ancho,
                    Alto = alto
                };

                Console.WriteLine(rect.FuncionArea());
                Console.WriteLine(rect.FuncionPerimetro());

            } else if (seleccion == "2")
            {

                Console.WriteLine("{0}{0}Has elegido el círculo." +
                                  "{0}{0}Indica su radio:", Environment.NewLine);
                var radio = double.Parse(Console.ReadLine());

                var circ = new Circulo()
                {
                    Radio = radio
                };

                Console.WriteLine(circ.FuncionArea());
                Console.WriteLine(circ.FuncionPerimetro());
            }

                Console.WriteLine("{0}{0}¡Hasta pronto! " +
                                  "{0}(Pulsa cualquier tecla para salir)",
                                  Environment.NewLine);
                Console.ReadLine();
        }
    //recibe un circulo y devuelve la velocidad modificada de acuerdo al limite del piso.
    internal Vector3 LimiteCirculoVsPiso(ref Circulo circulo, Vector3 velocidad_)
    {
        if ((circulo.posicion.y + velocidad_.y) - (circulo.radio * circulo.deformacion) < NivelDelPiso)
        {
            AplicarDeformacion(ref circulo, velocidad_);

            //solo rebotamos si la deformacion actual es igual a 1 (no hay deformacion)
            if (circulo.deformacion == 1)
            {
                velocidad_.y = velocidad_.y * MultiplicadorDeReboteDePiso * -1;

                if (velocidad_.y < VelocidadMinimaDeRebote)
                {
                    velocidad_.y = 0; //si no superamos la velocidad minima, la velocidad es 0.
                }
                else
                {
                    //si la velocidad es suficiente para mover la pelota, significa que hemos rebotado.
                    Rebote();
                }
            }
        }
        return(velocidad_);
    }
示例#6
0
        static void Main(string[] args)
        {
            Console.Title = "Practica 07 - Polimorfismo";

            #region Instances

            List <Figura> listFigures = new List <Figura>();
            Circulo       circle      = new Circulo(15);
            Cuadrado      square      = new Cuadrado(6);
            Rectangulo    rectangle   = new Rectangulo(6, 4);

            #endregion

            #region AddInList

            listFigures.Add(circle);
            listFigures.Add(square);
            listFigures.Add(rectangle);

            #endregion

            foreach (Figura figure in listFigures)
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine($"   ========= Figura {listFigures.IndexOf(figure) + 1} ==========");
                Console.ForegroundColor = ConsoleColor.Blue;
                Console.WriteLine($"    {figure.GetType()}");
                Console.WriteLine($"    {figure.Dibujar()} ");
                Console.WriteLine($"    Área: {Math.Round(figure.CalcularSuperficie(), 2)}");
                Console.WriteLine($"    Perímetro: {Math.Round(figure.CalcularPerimetro(), 2)}");
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("   =============================");
            }

            Console.ReadKey();
        }
示例#7
0
 public void getType(Circulo index, Types t)
 {
 }
 public void CreateCircle()
 {
     if (dropdownPointsCircle.GetComponent<Dropdown>().value != null &&
         inputCirclRadio.transform.FindChild("Text").GetComponent<Text>().text != "" &&
         dropdownPointsCircle.GetComponent<Dropdown>().value != null) {
         int pointPosition = dropdownPointsCircle.GetComponent<Dropdown>().value;
         float radio = float.Parse(inputCirclRadio.transform.FindChild("Text").GetComponent<Text>().text);
         string color = ReturnColor(dropdownCircleColor.GetComponent<Dropdown>().value);
         Circulo circle = new Circulo(pointList.ToArray()[pointPosition], color, radio);
         circleList.Add(circle);
         ChangeDropdowns();
     }
     //Send Custom Event
     Dictionary<string, object> circleDictionary = new Dictionary<string, object>();
     int index = 0;
     foreach (FiguraGeometrica circleListed in circleList) {
         circleDictionary.Add(index.ToString(), circleListed.Dibujar());
         index++;
     }
     Analytics.CustomEvent("List Circles", circleDictionary);
 }
示例#9
0
        public static IList ObtenerPuntosEquidistantesCirculo(Circulo circulo, int cantidadPuntos)
        {
            if (!(cantidadPuntos % 2 == 0))
            {
                throw new InvalidOperationException("Solo se pueden obtener cantidades pares de vértices");
            }

            // Vector donde se van a poner todos los puntos
            IList puntos = new ArrayList();

            int    x0     = circulo.Centro.GetXEntero();
            int    y0     = circulo.Centro.GetYEntero();
            double radius = circulo.Radio;

            double f     = 1 - radius;
            int    ddF_x = 1;
            double ddF_y = -2 * radius;
            int    x     = 0;
            double y     = radius;

            puntos.Add(new PuntoFlotante(x0, y0 + radius, circulo.Centro));
            puntos.Add(new PuntoFlotante(x0, y0 - radius, circulo.Centro));
            puntos.Add(new PuntoFlotante(x0 + radius, y0, circulo.Centro));
            puntos.Add(new PuntoFlotante(x0 - radius, y0, circulo.Centro));

            while (x < y)
            {
                // ddF_x == 2 * x + 1;
                // ddF_y == -2 * y;
                // f == x*x + y*y - radius*radius + 2*x - y + 1;
                if (f >= 0)
                {
                    y--;
                    ddF_y += 2;
                    f     += ddF_y;
                }
                x++;
                ddF_x += 2;
                f     += ddF_x;

                puntos.Add(new PuntoFlotante(x0 + x, y0 + y, circulo.Centro));
                puntos.Add(new PuntoFlotante(x0 - x, y0 + y, circulo.Centro));
                puntos.Add(new PuntoFlotante(x0 + x, y0 - y, circulo.Centro));
                puntos.Add(new PuntoFlotante(x0 - x, y0 - y, circulo.Centro));
                puntos.Add(new PuntoFlotante(x0 + y, y0 + x, circulo.Centro));
                puntos.Add(new PuntoFlotante(x0 - y, y0 + x, circulo.Centro));
                puntos.Add(new PuntoFlotante(x0 + y, y0 - x, circulo.Centro));
                puntos.Add(new PuntoFlotante(x0 - y, y0 - x, circulo.Centro));
            }

            CollectionUtils.Sort(puntos, new ComparadorPuntosCirculo());

            int   cantidadTotalPuntos = puntos.Count;
            int   cantidadSaltoPuntos = cantidadTotalPuntos / cantidadPuntos;
            int   indice;
            IList retorno = new ArrayList();

            int i;

            for (i = 0; i <= cantidadPuntos; i++)
            {
                indice = (i == 0) ? 0 : (i * cantidadSaltoPuntos) - 1;
                retorno.Add(puntos[indice]);
            }

            return(retorno);
        }
示例#10
0
        public void TestCalcularPerimetroCirculo()
        {
            var figura = new Circulo(3);

            Assert.AreEqual(9.43, (double)figura.CalcularPerimetro(), 0.009);
        }
示例#11
0
        public void TestTCalcularAreaDelCirculo()
        {
            Circulo figura = new Circulo(3);

            Assert.AreEqual(7.0685834705770275, figura.Area());
        }
示例#12
0
 //recibe un punto y un circulo y devuelve si estan colisionando.
 internal bool PuntoVsCirculo(Circulo circulo, Vector3 punto)
 {
     return(Vector3.Distance(circulo.posicion, punto) < circulo.radio * circulo.deformacion);
 }
示例#13
0
 // GET: Circulo
 public ActionResult Index(Circulo circulotemp)
 {
     ViewBag.AreaCirculo = pi * Math.Pow(circulotemp.radio, 2);
     return(View());
 }
示例#14
0
        static void Main(string[] args)
        {
            // Uso das classes de Formas Geometricas
            Quadrado quadrado = new Quadrado(5, "vermelho");

            Console.WriteLine(quadrado.Area());

            Triangulo triangulo = new Triangulo(10, 5, "azul");

            Console.WriteLine(triangulo.Area());

            Circulo circulo = new Circulo(2, "verde");

            Console.WriteLine(circulo.Area());

            // Uso das classes de Whatsapp
            Contatinho contatinho1 = new Contatinho("Maria", "51 99892838");
            Contatinho contatinho2 = new Contatinho("Helio", "51 99553721");
            Contatinho contatinho3 = new Contatinho("Mara", "51 99553666");

            WhatsappCore whatsapp = new WhatsappCore();

            whatsapp.AdicionaContato(contatinho1);
            whatsapp.AdicionaContato(contatinho2);
            whatsapp.AdicionaContato(contatinho3);

            whatsapp.AdicionaMensagens(new MensagemTexto(contatinho1, "00:18", "Oi sumido!!"));
            whatsapp.AdicionaMensagens(new MensagemFoto(contatinho1, "00:30", "nudes.jpg"));
            whatsapp.AdicionaMensagens(new MensagemAudio(contatinho1, "07:00", "Desculpa, estava bêbado ontem."));

            Console.WriteLine(whatsapp.ListarContatos());
            Console.WriteLine(whatsapp.ListarMensagens("Maria"));

            // Uso das classes de Banco
            PessoaFisica pessoaFisica1 = new PessoaFisica(
                1,
                "Avenida Brasil, 1200",
                "51 98764320",
                "*****@*****.**",
                "Hermes",
                "Dos Santos",
                "25416278932",
                "98723451687",
                new DateTime(1989, 07, 18)
                );

            PessoaFisica pessoaFisica2 = new PessoaFisica(
                2,
                "Avenida Borges de Medeiros, 320",
                "51 98224325",
                "*****@*****.**",
                "Luiz",
                "Ferreira",
                "15226274936",
                "98732451333",
                new DateTime(1945, 02, 11)
                );

            PessoaFisica pessoaFisica3 = new PessoaFisica(
                3,
                "Avenida Magalhães, 320",
                "51 92364120",
                "*****@*****.**",
                "Luisa",
                "Da Silva",
                "25423478112",
                "12323444687",
                new DateTime(1999, 12, 05)
                );

            PessoaFisica pessoaFisica4 = new PessoaFisica(
                4,
                "Avenida Valência, 2000",
                "51 98774122",
                "*****@*****.**",
                "Maicon",
                "Figueira",
                "25226233932",
                "98124451587",
                new DateTime(2007, 01, 01)
                );

            List <PessoaFisica> pessoas = new List <PessoaFisica>();

            pessoas.Add(pessoaFisica1);
            pessoas.Add(pessoaFisica2);

            PessoaJuridica pessoaJuridica = new PessoaJuridica(
                5,
                "Avenida Cristovão Colombo, 2233",
                "51 92887022",
                "*****@*****.**",
                pessoas,
                "230122578000129",
                "Empresa Ltda",
                "Empresa Super Boa",
                000929200,
                new DateTime(2015, 11, 20)
                );

            ContaPoupanca contaPoupanca = new ContaPoupanca(
                pessoaFisica1,
                1,
                1
                );

            ContaSalario contaSalario = new ContaSalario(
                pessoaFisica4,
                2,
                1
                );

            ContaPoupanca contaPoupanca1 = new ContaPoupanca(
                pessoaFisica4,
                3,
                1
                );

            ContaCorrente contaCorrente = new ContaCorrente(
                pessoaFisica3,
                4,
                1
                );

            ContaCorrente contaCorrente1 = new ContaCorrente(
                pessoaJuridica,
                5,
                1
                );

            try {
                contaPoupanca.Depositar(1000.00);
                contaPoupanca.Sacar(500.00);
                contaPoupanca.Transferir(contaSalario, 200.00);

                Console.WriteLine(contaPoupanca.ConsultarSaldo());

                contaSalario.Sacar(100);
                contaSalario.Transferir(contaPoupanca1, 50);

                Console.WriteLine(contaSalario.ConsultarSaldo());

                contaCorrente.Sacar(1000);
                contaCorrente.Pagar("23790.50400 41990.901179 31008.109204 1 80020000020000");
                contaCorrente.Emprestimo(3000);

                Console.WriteLine(contaCorrente.ConsultarSaldo());
                Console.WriteLine(contaCorrente.Limite);
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
            }
        }
示例#15
0
    public void Integrar(float Zx, float Zy, float r, int n, int p, float a, float b, string function)
    {
        limits    = r;
        originalC = new Circulo(0, 0, r);
        float mayor = Mathf.Abs(Zx) > Mathf.Abs(Zy)? Mathf.Abs(Zx): Mathf.Abs(Zy);

        if (mayor >= r)
        {
            limits = mayor;
        }


        GenerarCirculo(originalC, originalCircle, cam1, originalxCoord, originalyCoord, textOriginalCoords);

        //Destroy(point);
        //point = Instantiate(pointPrefab, new Vector3(Zx, Zy, -0.15f), Quaternion.identity) as GameObject;
        point.transform.position   = new Vector3(Zx, Zy, -0.15f);
        point.transform.localScale = new Vector3(1, 1, 1) * 0.3f * limits;

        Complejo Z0 = new Complejo(Zx, Zy);

        //Debug.Log( Z0.ToString() );
        zPolar.text = Z0.ToPolarString();
        if (Z0.radio == r && n != 0)
        {
            output.text       = "indeterminado";
            outputSimple.text = "";
        }
        else if (Z0.radio > r || n == 0)
        {
            output.text       = "0";
            outputSimple.text = "";
        }
        else
        {
            string   outTxt;
            Complejo dospi;
            if (n == 1)
            {
                outTxt = "2πi*";
                dospi  = new Complejo(0, 2 * Mathf.PI);
            }
            else
            {
                outTxt = "2πi/" + (n - 1) + "!*(";
                dospi  = new Complejo(0, (2 * Mathf.PI) / ComplexFunction.Factorial(n - 1));
            }

            Complejo multiplicando = new Complejo(0, 0);
            switch (function)
            {
            case "Z^n":
                outTxt       += "(" + Z0.ToBinomialString() + ")^" + p;
                multiplicando = ComplexFunction.dzPow(Z0, p, n - 1);

                break;

            case "e^z":
                outTxt       += "e^(" + Z0.ToBinomialString() + ")";
                multiplicando = ComplexFunction.Exp(Z0);
                break;

            case "sen(z)":
                outTxt       += "sen(" + Z0.ToBinomialString() + ")";
                multiplicando = ComplexFunction.dSin(Z0, n - 1);
                break;

            case "cos(z)":
                outTxt       += "cos(" + Z0.ToBinomialString() + ")";
                multiplicando = ComplexFunction.dCos(Z0, n - 1);
                break;

            case "cosh(z)":
                outTxt       += "cosh(" + Z0.ToBinomialString() + ")";
                multiplicando = ComplexFunction.dCosh(Z0, n - 1);
                break;

            case "senh(z)":
                outTxt       += "senh(" + Z0.ToBinomialString() + ")";
                multiplicando = ComplexFunction.dSinh(Z0, n - 1);
                break;

            case "a+ib":
                Complejo aib = new Complejo(a, b);
                outTxt += "(" + aib.ToBinomialString() + ")";
                if (n <= 1)
                {
                    multiplicando = aib;
                }
                break;
            }
            if (function != "Z^n")
            {
                outputSimple.fontSize = 20;
                outputSimple.text     = "= " + (multiplicando * dospi).ToBinomialString();
            }
            else
            {
                outputSimple.fontSize = 20;
                outputSimple.text     = "= " + (multiplicando * dospi).ToBinomialString();

                /*if (Z0.x==0 && Z0.y==0) {
                 *       outputSimple.fontSize=20;
                 *       outputSimple.text ="= 2πi * 0";
                 * }else{
                 *        outputSimple.fontSize=15;
                 *        outputSimple.text="= 2πi * "+System.Math.Round( Z0.radio, 2)+"^n ( cos(n*"+System.Math.Round( 180*(Z0.angulo/Mathf.PI), 2)+
                 *        ") + sen(n*"+System.Math.Round( 180*(Z0.angulo/Mathf.PI), 2)+"))";
                 * }*/
            }
            if (n > 1)
            {
                outTxt += ")^(" + (n - 1) + ") deriv.";
            }
            output.text = outTxt;
        }
    }
示例#16
0
        private void button2_Click(object sender, EventArgs e)
        {
            Circulo circulo = new Circulo();

            circulo.Draw();
        }
示例#17
0
        static void Main(string[] args)
        {
            Repositorio rep = new Repositorio();

            // TRIANGULO

            Triangulo triangulo = new Triangulo();

            triangulo.Base   = 5;
            triangulo.Altura = 10;

            rep.CalcularArea(triangulo);
            rep.CalcularPerimetro(triangulo);

            string resultadoTriangulo = triangulo.ApresentarAreaPerimetro();

            Console.WriteLine(resultadoTriangulo);

            // QUADRADO

            Quadrado quadrado = new Quadrado();

            quadrado.Base   = 3;
            quadrado.Altura = 3;

            rep.CalcularArea(quadrado);
            rep.CalcularPerimetro(quadrado);

            string resultadoQuadrado = quadrado.ApresentarAreaPerimetro();

            Console.WriteLine(resultadoQuadrado);

            // RETÂNGULO

            Retangulo retangulo = new Retangulo();

            retangulo.Base   = 10;
            retangulo.Altura = 5;

            rep.CalcularArea(retangulo);
            rep.CalcularPerimetro(retangulo);

            string resultadoRetangulo = retangulo.ApresentarAreaPerimetro();

            Console.WriteLine(resultadoRetangulo);

            // CÍRCULO

            Circulo circulo = new Circulo();

            circulo.Base   = 0;
            circulo.Altura = 0;
            circulo.Raio   = 1;

            rep.CalcularArea(circulo);
            rep.CalcularPerimetro(circulo);

            string resultadoCirculo = circulo.ApresentarAreaPerimetro();

            Console.WriteLine(resultadoCirculo);

            // LOSANGO

            Losango losango = new Losango();

            losango.Base   = 10;
            losango.Altura = 24;

            rep.CalcularArea(losango);
            rep.CalcularPerimetro(losango);

            string resultadoLosango = losango.ApresentarAreaPerimetro();

            Console.WriteLine(resultadoLosango);

            // PARALELOGRAMO

            Paralelogramo paralelogramo = new Paralelogramo();

            paralelogramo.Base   = 8;
            paralelogramo.Altura = 12;

            rep.CalcularArea(paralelogramo);
            rep.CalcularPerimetro(paralelogramo);

            string resultadoParalelogramo = paralelogramo.ApresentarAreaPerimetro();

            Console.WriteLine(resultadoParalelogramo);

            // TRAPÉZIO

            Trapezio trapezio = new Trapezio();

            trapezio.Base      = 0;
            trapezio.BaseMaior = 32;
            trapezio.BaseMenor = 20;
            trapezio.Altura    = 16;

            rep.CalcularArea(trapezio);
            rep.CalcularPerimetro(trapezio);

            string resultadoTrapezio = trapezio.ApresentarAreaPerimetro();

            Console.WriteLine(resultadoTrapezio);

            Console.ReadKey();
        }
示例#18
0
        static void Main(string[] args)
        {
            IShape f1 = new Circulo(2.0, Model.Enum.Color.Black);

            Console.WriteLine(f1);
        }
示例#19
0
 public void mostrarCirc(Circulo c)
 {
     lapiz = new Pen(colorLapiz);
     lapiz.Width = 3;
     g.DrawEllipse(lapiz, c.centro.X, c.centro.Y, c.radio, c.radio);
 }
示例#20
0
        static void Main(string[] args)
        {
            Triangulo     triangulo     = new Triangulo();
            Quadrado      quadrado      = new Quadrado();
            Circulo       circulo       = new Circulo();
            Retangulo     retangulo     = new Retangulo();
            Losango       losango       = new Losango();
            Paralelogramo paralelogramo = new Paralelogramo();
            Trapezio      trapezio      = new Trapezio();
            Conjuntos     conjunto      = new Conjuntos();

            Figura[] figuras = new Figura[7];
            figuras[0] = triangulo;
            figuras[1] = quadrado;
            figuras[2] = circulo;
            figuras[3] = retangulo;
            figuras[4] = losango;
            figuras[5] = paralelogramo;
            figuras[6] = trapezio;

            int obj = 0;

            Console.WriteLine("Escolha o objeto: ");
            Console.WriteLine("1 para triangulo \n 2 para quadrado \n");
            Console.WriteLine("2 para quadrado");
            Console.WriteLine("3 para circulo");
            Console.WriteLine("4 para retangulo");
            Console.WriteLine("5 para losango");
            Console.WriteLine("6 para paralelogramo");
            Console.WriteLine("7 para trapézio");
            obj = int.Parse(Console.ReadLine());
            Console.WriteLine();


            switch (obj)
            {
            case 1:
                conjunto.Adicionar(triangulo);
                Console.WriteLine();
                break;

            case 2:
                conjunto.Adicionar(quadrado);
                Console.WriteLine();
                break;

            case 3:
                conjunto.Adicionar(circulo);
                Console.WriteLine();
                break;

            case 4:
                conjunto.Adicionar(retangulo);
                Console.WriteLine();
                break;

            case 5:
                conjunto.Adicionar(losango);
                Console.WriteLine();
                break;

            case 6:
                conjunto.Adicionar(paralelogramo);
                Console.WriteLine();
                break;

            case 7:
                conjunto.Adicionar(trapezio);
                Console.WriteLine();
                break;

            default:
                Console.WriteLine("Err0r");
                break;
            }
        }
示例#21
0
        public void TestTCalcularPerimetroDelCirculo()
        {
            Circulo figura = new Circulo(3);

            Assert.AreEqual(9.42477796076937, figura.Perimetro());
        }
示例#22
0
        public void TestCalcularAreaCirculo()
        {
            var figura = new Circulo(3);

            Assert.AreEqual(7.06, (double)figura.CalcularArea(), 0.009);
        }