Soy un ingeniero Belga de trabajo sobre el software en C# para proporcionar inteligente de flexión de soluciones para un fabricante de frenos de la prensa.
En este contexto, yo estoy buscando la mejor manera de determinar si dos rectas son paralelas, basado en la siguiente información:
- Cada línea tiene dos puntos de los que las coordenadas son conocidas
- Estas coordenadas son relativas a la misma trama
- Para ser claro, tenemos cuatro puntos: A (ax, ay, az), B (bx,by,bz), C (cx,cy,cz) y D (dx,dy,dz)
Cual es la mejor manera de ser capaz de devolver un booleano simple que dice que si estas dos líneas son paralelas o no? Por favor alguien puede ayudarme?
Editar después de leer las respuestas A continuación es de mi C#-código, donde puedo usar dos objetos, CS3DLine y CSVector, pero el significado de los objetos que habla por sí mismo. Un toleratedPercentageDifference se usa así.
public static bool AreParallelLinesIn3D(CS3DLine left, CS3DLine right)
{
double toleratedPercentageDifference = 1;
CSVector vLeft = new CSVector(left.p1, left.p2);
CSVector vRight = new CSVector(right.p1, right.p2);
double ricoX = vLeft.X / vRight.X ;
double ricoY = vLeft.Y / vRight.Y ;
double ricoZ = vLeft.Z / vRight.Z ;
if (Math.Abs(ricoX - ricoY) > Math.Abs(toleratedPercentageDifference * ricoX / 100)) return false;
if (Math.Abs(ricoX - ricoZ) > Math.Abs(toleratedPercentageDifference * ricoX / 100)) return false;
return true;
}