Supongo que ya te han dado una línea y quieres saber si pasa por el cubo. No está del todo claro en tu pregunta si esto realmente se ajusta a tus necesidades.
También asumo que la línea está parametrizada por un punto $A$ y un vector $\vec u$ . Es decir, un punto $M$ de la línea satisface $M=A+\lambda \vec u$ para algún número real $\lambda$ .
Es relativamente fácil determinar los puntos de la recta que están en un lado de un plano dado. Esto nos dará un intervalo (posiblemente infinito) para $\lambda$ .
Por ejemplo, los puntos sobre o en el plano $z=0$ corresponden a los valores de $\lambda$ para lo cual $z_A+\lambda z_u\geq0$ .
- Si $z_u=0$ el intervalo está vacío si $z_A<0$ y $]-\infty,+\infty[$ si $z_A\geq0$ .
- Si $z_u>0$ el intervalo es $[-\frac{z_A}{z_u},+\infty[$ .
- Si $z_u<0$ el intervalo es $]-\infty,-\frac{z_A}{z_u}]$ .
Para un avión $z=z_0$ las condiciones sólo se modifican ligeramente, y para los aviones $x=x_0$ y $y=y_0$ es trivial adaptar las fórmulas.
Ahora, si haces eso con los seis planos que se forman con las caras del cubo, obtienes seis intervalos. La recta pasa por el cubo si su intersección no es vacía. Como la intersección de dos intervalos sigue siendo un intervalo, debería ser fácil de tratar.
Supongo que esto sería fácil de resolver para cualquier cubo con lados paralelos a los ejes de coordenadas. Y como ventaja, puedes describir todos los puntos que se encuentran dentro del cubo.
Sin embargo, si quiere generar líneas aleatorias que atraviesan el cubo, esto es probablemente inútil para usted. Y te encontrarás con un problema similar al de La paradoja de Bertrand La forma de elegir las líneas aleatorias dará lugar a diferentes distribuciones de probabilidad. Tal vez quieras considerar primero (y tal vez decirnos si quieres alguna ayuda útil) lo que quieres hacer con estas líneas aleatorias.
2 votos
Parece que no tienes ningún requisito sobre la distribución de las líneas, así que un enfoque simple puede ser suficiente: Elige dos puntos al azar dentro del cubo y elige la línea que pasa por ellos.
0 votos
Ni idea de lo que quería decir, lo siento