Esempio n. 1
0
        /// <summary>
        /// Função para calcular um ponto sobre o perímetro de um círculo informando um ângulo e raio.
        /// </summary>
        /// <param name="angulo"></param>
        /// <param name="raio"></param>
        /// <returns></returns>
        public static Ponto4D GerarPtosCirculo(double angulo, double raio)
        {
            Ponto4D pto = new Ponto4D();

            pto.X = (raio * Math.Cos(Math.PI * angulo / 180.0));
            pto.Y = (raio * Math.Sin(Math.PI * angulo / 180.0));
            pto.Z = 0;
            return(pto);
        }
 public void Atribuir(Ponto4D pto)
 {
     this.menorX = pto.X;
     this.menorY = pto.Y;
     this.menorZ = pto.Z;
     this.maiorX = pto.X;
     this.maiorY = pto.Y;
     this.maiorZ = pto.Z;
 }
 public void Atribuir(Ponto4D pontoMin, Ponto4D pontoMax)
 {
     this.menorX = pontoMin.X;
     this.menorY = pontoMin.Y;
     this.menorZ = pontoMin.Z;
     this.maiorX = pontoMax.X;
     this.maiorY = pontoMax.Y;
     this.maiorZ = pontoMax.Z;
 }
        //TODO: tentar usar Const
        // public Ponto4D MultiplicarPonto(in Ponto4D pto)
        // {
        //   pto.X = 3;
        public Ponto4D MultiplicarPonto(Ponto4D pto)
        {
            Ponto4D pointResult = new Ponto4D(
                matriz[0] * pto.X + matriz[4] * pto.Y + matriz[8] * pto.Z + matriz[12] * pto.W,
                matriz[1] * pto.X + matriz[5] * pto.Y + matriz[9] * pto.Z + matriz[13] * pto.W,
                matriz[2] * pto.X + matriz[6] * pto.Y + matriz[10] * pto.Z + matriz[14] * pto.W,
                matriz[3] * pto.X + matriz[7] * pto.Y + matriz[11] * pto.Z + matriz[15] * pto.W);

            return(pointResult);
        }
Esempio n. 5
0
 public void Atualizar(Ponto4D pto)
 {
     Atualizar(pto.X, pto.Y, pto.Z);
 }