2 votos

¿Borde de grosor uniforme alrededor de la elipse sesgada?

Tengo una elipse con un "radio" mayor y menor determinados. Le aplico una transformación afín 2D. Luego, quiero dibujar un borde uniforme dentro de esta nueva forma, como si un círculo se enrollara a lo largo del borde interior de la elipse recién transformada, y en todos los lugares que el círculo tocó se dibujara en un color diferente. O como si la nueva forma hubiera sido delineada con un marcador.

Esto divide esencialmente la elipse en una forma "exterior" que separa el borde del resto de la escena, y una forma "interior" que separa el borde del interior de mi forma. Ver el diagrama al final de mi post.

En el caso de este diagrama, el borde mismo del contorno negro sería la forma exterior, y la forma definida por la transición del verde al negro sería la forma interior.

La forma exterior es una elipse, estoy bastante seguro, ya que es sólo una transformación afín de mi elipse original. No estoy seguro de si la forma interior que quiero es también una elipse. Si asumo que la forma interior tiene la misma transformación afín que la forma exterior, y sólo ajusto los radios de los ejes mayor/menor, obtengo algo como en el diagrama. La forma interior no coincide intuitivamente con la forma exterior. Es como si hubiera dibujado una elipse verde completamente arbitraria dentro de mi elipse negra. La elipse verde parece tener una rotación diferente incluso.

Así que mis preguntas: ¿La forma interior que quiero es realmente una elipse? Si es así, ¿cuáles son sus ejes mayores y menores, y tiene una transformación afín diferente de su padre? Si tiene una transformación diferente, ¿cómo la encuentro? Si no es una elipse, ¿qué es?

...

No he podido subir una imagen porque no tengo los puntos de reputación (ugh), pero este es el código para ello en SVG:

<svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <g transform="skewY(30) rotate(-32)">
        <ellipse cx="250" cy="225" rx="225" ry="125" style="fill:rgb(0,0,0);"/>
        <ellipse cx="250" cy="225" rx="175" ry="75" style="fill:rgb(0,100,50);"/>
    </g>
</svg>

Tanto Chrome como Firefox pueden mostrar esto si lo pones en un archivo de texto con una extensión .svg. Si alguien puede colgar una imagen, se lo agradecería (no a todos los sitios les gustan las extensiones svg... Puede que tengas que rasterizarlo en un png primero).

También es muy fácil jugar con diferentes transformaciones y ajustes para las elipses. El manual de SVG es útil para entender cómo se interpretan las transformaciones y las inclinaciones.

2voto

theog Puntos 585

Efectivamente, la forma interior no es una elipse, como explica Skatche. Es una curva paralela de la elipse original. No creo que tenga un nombre específico. Si necesitas ecuaciones, el artículo de Wikipedia tiene una forma paramétrica.

1voto

Mason Puntos 1978

Creo que tienes razón en cuanto a que las elipses se conservan bajo transformaciones afines. Sin embargo, a pesar de eso, no es cierto en general que la forma interior que estás dibujando sea una elipse.

Empecemos con un círculo exterior, llamémoslo $C$ de radio $D>d$ , donde $d$ es el grosor del borde. Puedes obtener el borde enrollando un círculo $c$ de radio $d$ alrededor del interior de $C$ . Ahora empieza a estirar $C$ horizontalmente en una elipse, de modo que alcance su curvatura máxima en los puntos más a la izquierda y a la derecha. Finalmente, la curvatura máxima de $C$ será mayor que la curvatura de $c$ En ese momento, su borde interior desarrollará "esquinas" (puede imaginarse $c$ atascarse cuando $C$ se vuelve demasiado estrecha y rebota), por lo que no es posible que sea una elipse.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X