Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

250
Views
Cómo determinar los puntos que pertenecen a la distancia entre dos líneas que no se cortan en el espacio

Tengo una pregunta que me gustaría compartir con ustedes en caso de que me puedan ayudar. Estoy trabajando en líneas 3D y necesito obtener los puntos exactos en los que se encuentra la distancia mínima de dos líneas que se cruzan. ¿Por qué necesito estos puntos?

De cada una de las infinitas rectas, sólo me interesaría saber si esta distancia mínima está en un cierto rango de la de los puntos de la misma recta. Por ejemplo, tengo los puntos P (0,0,0) y Q (10,10,10) de una recta r y solo me interesaría saber si dicha distancia mínima está en ese intervalo de coordenadas o no.

Para obtener la distancia, utilizo la fórmula:

Pero una vez dicho no se como asegurar si se alcanza tal distancia mínima dentro del rango de valores de P y Q que comento arriba.

Si alguien tiene mejores ideas sobre cómo verificar esto o sabe cómo obtener dichos puntos, se lo agradecería mucho.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Si entiendo bien tu pregunta:

para el punto P obtenga proyecciones ortogonales en ambas líneas (no se necesita el denominador si v y w están normalizados)

 PAproj = A - P + dot(AP, v) / dot(v,v) * v PBproj = B - P + dot(BP, w) / dot(w,w) * w

Luego comprueba que estos vectores son anticolineales

 cross(PAproj, PBproj) == 0 and dot(PAproj, PBproj) has negative sign
over 4 years ago · Santiago Trujillo Report

0

Por lo general, las líneas en 3D se especifican mediante las coordenadas de un punto en la línea y las coordenadas de un vector alineado (o paralelo) a la línea. Así que voy a suponer que lo que tienes como datos de entrada es:

 1) line s with point S = [xS, yS, zS] on l and a vector u = [u1, u2, u3] aligned with s 2) line r defined by the pair of points P = [xP, yP, zP] and Q = [xQ, yQ, zQ] Your goal is to check whether the point on r that is closest to line s is inside the line segment PQ on r or not.

Algoritmo.

 n = ux (Q - P) SP = P - S SQ = Q - S proj_SP = SP - ( (n . SP) / (n . n) ) n proj_SQ = SQ - ( (n . SQ) / (n . n) ) n w = nxu if (proj_SP . w) * (proj_SQ . w) < 0 then the point on r that is closest to line s is inside the line segment PQ else the point on r that is closest to line s is outside the line segment PQ
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!