Пример #1
0
        protected virtual void GerarGeometriaRadial(float angulo, float raio, int lados)
        {
            float rad = (float)(Math.PI * 2 / lados);

            for (int i = 0; i < lados; i++)
            {
                Vertice2 v = new Vertice2(this);
                v.X = (float)(Math.Sin(i * rad + Util2D.Angulo2Radiano(angulo)) * raio);
                v.Y = (float)(Math.Cos(i * rad + Util2D.Angulo2Radiano(angulo)) * raio);
                AdicionarVertice(v);
            }

            CriarArestasConvexa();
        }
Пример #2
0
        public void GerarLuzPonto(float angulo, float raio, int lados = 20)
        {
            Angulo.Z = angulo;
            Raio     = raio;
            float rad = (float)(Math.PI * 2 / lados);

            for (int i = 0; i < lados + 1; i++)
            {
                Vertice2 v = new Vertice2(this);
                v.X    = (float)(Math.Sin(i * rad + Util2D.Angulo2Radiano(angulo)) * raio);
                v.Y    = (float)(Math.Cos(i * rad + Util2D.Angulo2Radiano(angulo)) * raio);
                v.Rad  = i * rad;
                v.Raio = raio;
                AdicionarVertice(v);
            }
        }
Пример #3
0
        protected virtual void GerarGeometriaRadial(float angulo, float raio_min, float raio_max, int lados)
        {
            Random rnd = new Random(Environment.TickCount + lados);
            float  rad = (float)(Math.PI * 2 / lados);

            for (int i = 0; i < lados; i++)
            {
                float    raio = rnd.Next((int)raio_min, (int)raio_max);
                Vertice2 v    = new Vertice2(this);
                v.X = (float)(Math.Sin(i * rad + Util2D.Angulo2Radiano(angulo)) * raio);
                v.Y = (float)(Math.Cos(i * rad + Util2D.Angulo2Radiano(angulo)) * raio);
                AdicionarVertice(v);
            }

            CriarArestasConvexa();
        }