/// <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); } }