예제 #1
0
 private void GerarPontos(Ponto4D pontoCentral, int raioCirculo, int qtdPontos)
 {
     base.PontosRemoverTodos();
     for (int i = 0; i < qtdPontos; i++)
     {
         var     angulo       = (qtdPontos == 72 ? i * 5 : i / 2);
         Ponto4D pontoCirculo = Matematica.GerarPtosCirculo(angulo, raioCirculo);
         Ponto4D pontoFinal   = new Ponto4D(pontoCirculo.X + pontoCentral.X, pontoCirculo.Y + pontoCentral.Y, 0);
         base.PontosAdicionar(pontoFinal);
     }
 }
예제 #2
0
        public Circulo(char rotulo, Objeto paiRef, int qntPontos, double raio, Ponto4D centro, Eixos eixos) : base(rotulo, paiRef)
        {
            this.qntPontos = qntPontos;
            this.raio      = raio;

            Ponto4D p    = new Ponto4D();
            Ponto4D q    = new Ponto4D();
            double  ang  = 360 / qntPontos;
            int     cont = 0;

            for (int i = 0; i < qntPontos; i++)
            {
                if (cont == 1)
                {
                    q = base.PontosUltimo();
                    base.PontosAdicionar(new Ponto4D(centro.X, centro.Y, centro.Z));
                }

                p = Matematica.GerarPtosCirculo(ang * i, raio);
                switch (eixos)
                {
                case Eixos.X_Y:
                    base.PontosAdicionar(new Ponto4D(p.X + centro.X, p.Y + centro.Y, centro.Z));
                    break;

                case Eixos.X_Z:
                    base.PontosAdicionar(new Ponto4D(p.X + centro.X, centro.Y, p.Y + centro.Z));
                    break;

                case Eixos.Y_Z:
                    base.PontosAdicionar(new Ponto4D(centro.X, p.X + centro.Y, p.Y + centro.Z));
                    break;
                }
                cont++;

                if (cont == 2)
                {
                    p = base.PontosUltimo();
                    base.PontosAdicionar(new Ponto4D(q.X, q.Y, q.Z));
                    base.PontosAdicionar(new Ponto4D(p.X, p.Y, p.Z));
                    cont = 0;
                }
            }
        }