Exemple #1
0
        /// <summary>
        /// cada minucia de la huella 1 es trasladada y rotada a su pareja de la huella2
        /// para ver si encajan
        /// </summary>
        /// <param name="vectorParejas"></param>
        void aplicarTransformacionRigidaParejaMinuciaNormalizada(ParejaMinuciaNormalizada[] vectorParejas)
        {
            parejas = new ParAlineado[vectorParejas.Length];

            for (int k = 0; k < vectorParejas.Length; k++)
            {
                Minucia minucia1 = vectorParejas[k].pm.minucia1;
                Minucia minucia2 = vectorParejas[k].pm.minucia2;

                /*
                 * double nx = (double)minucia1.x * Math.Cos(difa) +
                 *          (double)minucia1.y * Math.Sin(difa) + difx;
                 * double ny = (double)minucia1.x * -Math.Sin(difa) +
                 *          (double)minucia1.y * Math.Cos(difa) + dify;
                 *
                 * double nx = (double)minucia1.x * Math.Cos(difa) -
                 *          (double)minucia1.y * Math.Sin(difa) + difx;
                 * double ny = (double)minucia1.x * Math.Sin(difa) +
                 *          (double)minucia1.y * Math.Cos(difa) + dify;
                 *
                 */

                double nx = (double)minucia1.x + difx;
                double ny = (double)minucia1.y + dify;

                int x2 = minucia2.x;
                int y2 = minucia2.y;

                // la minucia 1 está trasladada y la minucia 2 está normal
                parejas[k] = new ParAlineado(vectorParejas[k].pm.minucia1, (int)nx, (int)ny,
                                             vectorParejas[k].pm.minucia2, x2, y2);
            }
        }
        bool sonEncajables(ParAlineado pa)
        {
            Atributos atr = Atributos.getInstance();

            double distancia = Funcion.distancia(pa.xT, pa.yT, pa.xDestino, pa.yDestino);

            bool cercanosEnDistancia        = distancia <= (double)atr.radioEncaje;
            bool diferenciaDireccionPequeña = true;

            return(cercanosEnDistancia && diferenciaDireccionPequeña);
        }
        bool sonEncajables(ParAlineado pa)
        {
            Atributos atr = Atributos.getInstance();

            double distancia = Funcion.distancia(pa.xT, pa.yT, pa.xDestino, pa.yDestino);

            bool cercanosEnDistancia = distancia <= (double)atr.radioEncaje;
            bool diferenciaDireccionPequeña = true;

            return cercanosEnDistancia && diferenciaDireccionPequeña;
        }
        /// <summary>
        /// cada minucia de la huella 1 es trasladada y rotada a su pareja de la huella2
        /// para ver si encajan
        /// </summary>
        /// <param name="vectorParejas"></param>
        void aplicarTransformacionRigidaParejaMinuciaNormalizada(ParejaMinuciaNormalizada[] vectorParejas)
        {
            parejas = new ParAlineado[vectorParejas.Length];

            for (int k = 0; k < vectorParejas.Length; k++)
            {

                Minucia minucia1 = vectorParejas[k].pm.minucia1;
                Minucia minucia2 = vectorParejas[k].pm.minucia2;
                /*
                double nx = (double)minucia1.x * Math.Cos(difa) +
                            (double)minucia1.y * Math.Sin(difa) + difx;
                double ny = (double)minucia1.x * -Math.Sin(difa) +
                            (double)minucia1.y * Math.Cos(difa) + dify;

                double nx = (double)minucia1.x * Math.Cos(difa) -
                            (double)minucia1.y * Math.Sin(difa) + difx;
                double ny = (double)minucia1.x * Math.Sin(difa) +
                            (double)minucia1.y * Math.Cos(difa) + dify;

                */

                double nx = (double)minucia1.x + difx;
                double ny = (double)minucia1.y + dify;

                int x2 = minucia2.x;
                int y2 = minucia2.y;

                // la minucia 1 está trasladada y la minucia 2 está normal
                parejas[k] = new ParAlineado(vectorParejas[k].pm.minucia1, (int)nx, (int)ny,
                                             vectorParejas[k].pm.minucia2, x2, y2);
            }
        }