La intersección de una línea y un cilindro es el cálculo de cualquier punto de intersección , dada una descripción geométrica analítica de una línea y un cilindro en el espacio 3D.
Una línea y un cilindro arbitrarios pueden no tener ninguna intersección, o pueden tener uno o dos puntos de intersección. [1] O una línea puede estar a lo largo de la superficie de un cilindro, paralela a su eje, lo que da como resultado una cantidad infinita de puntos de intersección. El método descrito aquí distingue entre estos casos y, cuando existen intersecciones, calcula sus posiciones.
El término “cilindro” puede referirse a un sólido tridimensional o, como en este artículo, solo a la superficie externa curva del sólido. Por eso se considera que una línea que atraviesa el volumen de un cilindro tiene dos puntos de intersección: el punto de la superficie por donde entra y el punto por donde sale. Véase § tapas de los extremos.
Una intuición clave de este tipo de problema de intersección es representar cada figura como una ecuación que es válida para todos los puntos de la figura. Al resolverlas como un sistema de dos ecuaciones simultáneas se encuentran los puntos que pertenecen a ambas figuras, que es la intersección. Las ecuaciones que se muestran a continuación se resolvieron utilizando Maple .
Ecuación del cilindro, tapas de los extremos excluidas
Sea la base del cilindro (o uno de sus extremos), el vector unitario del eje del cilindro, el radio del cilindro y la altura (o longitud del eje) . El cilindro puede tener cualquier orientación.
La ecuación de un cilindro infinito se puede escribir como
donde es cualquier punto en la superficie del cilindro. La ecuación simplemente establece que los puntos están exactamente a la distancia euclidiana del eje a partir del punto , donde se mide en unidades de . Tenga en cuenta que si es un vector unitario. Debido a que ambos lados de la ecuación son siempre positivos o cero, podemos elevarla al cuadrado y eliminar la operación de raíz cuadrada en la norma euclidiana en el lado izquierdo:
El punto está a la distancia señalizada
desde la base a lo largo del eje. Por lo tanto, las dos ecuaciones que definen el cilindro, excluyendo las tapas de los extremos, son
La linea
Sea una línea que pasa por el origen, siendo el vector unitario, y la distancia desde el origen.
Si su línea no pasa por el origen sino por el punto , es decir, su línea es , reemplácela con en todas partes; la distancia es entonces la distancia desde .
El problema de la intersección
La intersección entre la línea y el cilindro es
donde la distancia firmada a lo largo del eje es
Solución
Reordenando la primera ecuación se obtiene una ecuación cuadrática para . Resolviendo eso para se obtiene
donde si es un vector unitario. Si
La línea es paralela al eje y no hay intersección, o la intersección es una línea. Si
La línea no interseca el cilindro.
La solución solo nos da la distancia en la que la línea interseca el cilindro infinito . Para ver si la intersección ocurre dentro de la parte que consideramos el cilindro real, necesitamos verificar si la distancia con signo desde la base del cilindro a lo largo del eje hasta la intersección está dentro de cero y la longitud del cilindro:
¿Dónde está todavía?
Tapas de extremo
Lo anterior supone que el cilindro no tiene tapas en los extremos; se deben verificar por separado. Se supone que la costura donde la tapa se une al cilindro pertenece al cilindro y se excluye de la tapa.
Tapas de extremo hemisféricas
Las tapas hemisféricas son simplemente medias esferas en ambos extremos del cilindro. A este objeto a veces se lo llama cápsula o, posiblemente, esfera de barrido lineal de radio fijo.
La altura del cilindro no incluye las tapas de los extremos. Si la altura del cilindro incluye ambas tapas de los extremos hemisféricas, entonces .
Comprueba si la línea interseca alguna esfera: centro o radio :
Si
La línea no intersecta la esfera de la tapa del extremo.
Si hay soluciones , acepte sólo aquellas que afecten al hemisferio final real:
o
donde, una vez más,
Tapas de extremo planas
Los extremos planos son regiones circulares, de radio , en planos centrados en y , con vectores unitarios normales y , respectivamente. La línea interseca el plano si y solo si
Resolver d es sencillo,
Tenga en cuenta que si
La línea es paralela al plano de la tapa del extremo (y también perpendicular al eje del cilindro). Finalmente, si y solo si
El punto de intersección está dentro de la tapa del extremo real (la región circular en el plano).
Vector normal unitario en un punto de intersección
Una de las muchas aplicaciones de este algoritmo es el trazado de rayos , donde el vector normal unitario del cilindro en la intersección es necesario para los rayos refractados y reflejados y la iluminación.
Las ecuaciones siguientes utilizan la distancia con signo hasta el punto de intersección desde la base a lo largo del eje , que siempre es
Para la superficie del cilindro (excluyendo las tapas de los extremos, pero incluida la costura) :
Para una tapa de extremo esférica en la base, :
Para una tapa esférica en el otro extremo, :
Para una tapa de extremo plana en la base, :
Para una tapa de extremo plana en el otro extremo, :
^ Narrien, John (1846). "Cap. VI". Geometría analítica con las propiedades de las secciones cónicas . Londres: Longman, Brown, Green y Longmans. pág. 156 . Consultado el 12 de diciembre de 2023 . ...Así, una línea recta puede cortar una superficie curva de segundo orden en sólo dos puntos...
^ Shene, Ching-Kuang (1994). "Cálculo de la intersección de una línea y un cilindro (Capítulo V.1)". En Heckbert, Paul (ed.). Graphics Gems IV . AP Professional, Boston. págs. 353–355. ISBN9780123361561. Recuperado el 12 de diciembre de 2023 .
^ Cychosz, Joseph M.; Waggenspack, Warren N. Jr. (1994). "Intersección de un rayo con un cilindro (Capítulo V.2)". En Heckbert, Paul (ed.). Graphics Gems IV . AP Professional, Boston. págs. 356–365. ISBN9780123361561. Recuperado el 12 de diciembre de 2023 .
^ Held, Martin (1997). "ERIT: una colección de pruebas de intersección eficientes y confiables". Journal of Graphics Tools . 2 (4): 25–44. doi :10.1080/10867651.1997.10487482.
Enlaces externos
Colecciones de técnicas de intersección para geometría computacional:
Intersecciones (página de recursos de trazado de rayos) por Eric Haines , tabla de enlaces para muchos cálculos de intersecciones, incluido el de rayo-cilindro.
Colección de intersectores de superficie de rayo para sombreadores de GPU por Inigo Quilez, incluido cilindro de rayo.
Derivaciones que requieren que el cilindro esté en una orientación restringida:
intersección de líneas y cilindros en la colección de fórmulas de intersección de líneas de Johannes Buchner
Intersección de línea y cilindro en IllusionCatalyst
Intersección de cilindros y líneas en Mathematics Stack Exchange (math.stackexchange.com)
Solución parcial:
Cálculo de los puntos de intersección de un rayo y un cilindro en Mathematics Stack Exchange (math.stackexchange.com)