Cómo dibujar una estrella (y más) en coordenadas polares

La cuestión de la fórmula para un polígono en coordenadas polares surge con regularidad en recursos temáticos, y con la misma frecuencia permanece sin una respuesta clara. En el mejor de los casos, se encuentra una solución a través de la función del resto de la división, que no es "limpia" desde un punto de vista matemático, ya que no permite realizar transformaciones analíticas sobre la función. Aparentemente, los verdaderos matemáticos están demasiado ocupados resolviendo problemas del milenio y buscando una prueba simple del teorema de Fermat para prestar atención a problemas tan banales. Afortunadamente, en este asunto, la imaginación es más importante que el conocimiento, y para resolver este problema no es necesario ser profesor de ciencias topológicas, el conocimiento a nivel escolar es suficiente.



La fórmula para un polígono equilátero en coordenadas polares parece muy simple

ρ=cos(2sin1(k)+πm2n)cos(2sin1(kcos(nϕ))+πm2n)



y tiene los siguientes parámetros:



ϕ - ángulo;

n - el número de vértices convexos;

m- determina cuántos vértices estarán los lados en una línea recta. También se permiten valores negativos para él: el signo determinará en qué dirección se doblará la estrella;

k - rigidez - en k=0 obtenemos un círculo independientemente de otros parámetros, por k=1 - un polígono con líneas rectas, en valores intermedios de 0 antes de 1- Figuras intermedias entre un círculo y un polígono.



Con esta fórmula, puede dibujar una estrella de dos formas:



1)n=5,m=3





2) n=5/4,m=0... En este caso, debe realizar dos vueltas en lugar de una:





Parámetro m afecta al polígono de la siguiente manera (aquí cambia de -1 a 5):





Parámetro k en animación:





Forma compleja y modificaciones



Puede reescribir la fórmula original en una forma compleja y, a pesar de la presencia de unidades imaginarias en ella, el valor del radio seguirá siendo válido:



ρ=41/n(1k2+ik)1/n(1+(1k2+ik)2/neiπmn)(1k2cos2(nϕ)+ikcos(nϕ))1/n41/n+eiπmn(21k2cos2(nϕ)+2ikcos(nϕ))2/n



A primera vista, esto puede parecer inútil, ya que la fórmula se ha vuelto un poco más engorrosa, pero no saque conclusiones precipitadas. En primer lugar, no contiene arcoseno, lo que cambia por completo el significado matemático de la fórmula y le permite ver de manera diferente la construcción de un polígono estrellado. En segundo lugar, también se puede utilizar para obtener fórmulas compactas para casos especiales, por ejemploit(int)1/n1+(int)2/n... En tercer lugar (y lo más interesante), se puede modificar creativamente y obtener otras formas inesperadas. Para que la aparición de un posible componente imaginario en el radio no provoque ambigüedad en el cálculo, se puede reducir inmediatamente a coordenadas cartesianas multiplicando poreiϕ... A continuación, se muestran ejemplos de algunas de las modificaciones:



(1)2/3eiϕ(icos(3ϕ)+sin2(3ϕ))1/3(1)2/3+22/3(icos(3ϕ)+sin2(3ϕ))2/3





eiϕicos(2ϕ)+sin2(2ϕ)ei/2+2(icos(2ϕ)+sin2(2ϕ))3/2





e14i(4ϕ+π)2(1)1/4cos(2ϕ)+sin2(2ϕ)1i



Como probablemente haya notado, la rotación del vector ha dejado de ser uniforme, y precisamente debido a la aparición del componente imaginario en el radio.



Cuadrados y esas cosas



Nuestra fórmula tiene un caso especial maravilloso: un cuadrado, cuya fórmula se puede escribir como

ρ=22+2+2cos(4ϕ)



o

ρ=21+1sin2(2ϕ)



(elige cuál te gusta más).



En un caso un poco más desarrollado, puede definir figuras intermedias entre un círculo y un cuadrado a través de un punto(k,k) en la superficie

ρ=21+1(2k21)sin2(2ϕ)k4





También puede agregar variación a estas formas manteniendo la condición de que pasan por el punto (k,k) - modulando directamente el propio parámetro kdependiendo del ángulo para que al pasar por la diagonal, su multiplicador sea igual a uno. Por ejemplo, sustituyendo en su lugark función k1zcos2(2ϕ), obtendremos un parámetro adicional zcon el que se pueden ajustar curvas adicionales. En particular, paraz=1/4 obtienes lo siguiente:







En un caso aún más expandido, puede definir no solo un cuadrado, sino un rectángulo, y aún en coordenadas polares:

ρ=4a2b2((b2a2)cos(2ϕ)+a2+b2)(14a2b2ksin2(2ϕ)((b2a2)cos(2ϕ)+a2+b2)2+1)



E incluso calcular su área (a través de integrales elípticas):

S=4ab(k1)K(k)+E(k)k

Nota
k (0 1) , πab 4ab.


Esto permitirá realizar perfiles con una transición de un círculo a un rectángulo con un área de sección controlada. Aquí el área es constante:





Y aquí el área se expande exponencialmente:





Ir a coordenadas cartesianas



Cualquier fórmula en coordenadas polares se puede expresar a través de una ecuación en coordenadas cartesianas, y al menos de dos maneras, dependiendo de cuál cambie la forma del gradiente en el borde de la figura. Para hacer esto, basta con calcular el ángulo a través de la arcangente de las coordenadas y llevar la fórmula a una constante a través del vector de radio restando

0=x2+y2cos(2sin1(k)+πm2n)cos(2sin1(kcos(ntan1(x,y)))+πm2n)



o división

1=x2+y2cos(2sin1(kcos(ntan1(x,y)))+πm2n)cos(2sin1(k)+πm2n)



La segunda opción es preferible porque proporciona gradientes rectos a lo largo de los lados del polígono.



Nota
, (0,0) - — , , ( cos(2sin1(k)+πm2n)sec(2sin1(kcos(πn2))+πm2n) ).



cos(ntan1(x,y)) (x+iy)n+(xiy)n2(x2+y2)n/2, A034839.


El valor de la fórmula del lado derecho de la ecuación (en el segundo caso) cambiará de 0 antes de 1 si punto (x,y) entra en la figura, y desde 1ad infinitum - si no. Al elegir diferentes funciones para convertirlo en brillo, puede obtener diferentes opciones de rasterización. Para el exponente (ex1 por el primero y ex para la segunda opción) obtenemos

o, si con saturación



Se puede utilizar un filtro de paso bajo clásico 11+xp, en el cual p- el orden del filtro, que determina el grado de atenuación.



Para la primera opción:



Y para el segundo:



También puede utilizar una función continua por partes estableciendo explícitamente los límites de interpolación.



Además de la rasterización como tal, también puede establecer deformaciones, por ejemplo, comprimir el tablero de ajedrez en un círculo:





O incluso póngalo sobre una esfera:

Fórmula

x=u21+|u2v2u2+v2|



y=v1+2|u2v2u2+v2|



z=112u2(1+|u2v2u2+v2|)12v2(1+|u2v2u2+v2|)





Apéndice: cómo se derivó la fórmula



El estilo clásico de contar historias en los textos matemáticos consiste en la alternancia de lemas / teoremas y sus demostraciones, como si los enunciados demostrables aparecieran en la cabeza de los autores por una revelación desde arriba. Y aunque hay algo de verdad en esto, más a menudo la aparición de fórmulas va precedida de algún trabajo de investigación, cuya descripción puede dar una mayor comprensión de su significado que la prueba formal; y la fidelidad de las declaraciones, a su vez, se puede rastrear a través de la fidelidad de los pasos que condujeron a ellas.



Así que aquí también: si el artículo comenzara con una fórmula en una forma compleja, entonces su apariencia no sería obvia y contraria a la intuición, y las propiedades declaradas requerirían pruebas adicionales. Pero en la forma trigonométrica de registro, es bastante posible rastrear la historia de su aparición.



1) comenzamos con el caso más simple: la tarea de dibujar una línea recta en coordenadas polares. Para hacer esto, necesitas resolver la ecuaciónrcos(ϕ)=1cuya solución es obvia rsec(ϕ)...





2) además, el argumento de la secante necesita ser "enlazado" para proporcionar torceduras en línea recta. Es en esta etapa cuando otras soluciones utilizan un "truco sucio" en forma de resto de división. También usa la toma secuencial de la función seno directa e inversa -sin1(sin(ϕ))





Este enfoque le permite realizar operaciones matemáticas estándar en la fórmula resultante,
p.ej
:

sin1(sin(ϕ))ϕ=cos(ϕ)1sin2(ϕ)







Gracias a la misma notación, puede simplificar la función cuadrada en coordenadas polares a un aspecto más estético, utilizando la representación compleja de funciones trigonométricas. En Wolfram Mathematica, esto se puede hacer usando las funciones TrigToExp y ExpToTrig:



El código
Sec[1/2 ArcSin[k Sin[2 \[Phi]]]]^2//TrigToExp//ExpToTrig//Sqrt[#]&//FullSimplify

22+21k2sin2(2ϕ)



Gracias a la misma grabación, puede obtener figuras intermedias suaves entre un círculo y un cuadrado usando un multiplicador adicional kdebido a que el argumento de arcoseno no llega a uno - sin1(ksin(ϕ)):





Y para que la función intersecte un punto dado, solo necesita hacer una ecuación y volver a calcular k:

21+1ksin2(π2)=k



El código
Solve[(Sqrt[2/(1+Sqrt[1-k Sin[2 \[Phi]]^2])] /. \[Phi]->Pi/4)==x, k] /. x->k

k4(k21)k4





3) parámetros n y msimplemente se agregaron de una manera creativa y sus efectos se investigaron experimentalmente, de hecho.



4) El rectángulo es fácil de obtener yendo a la vista paramétrica y "estirando" los ejes.

x=acos(t)21+1sin2(2t)



y=bsin(t)21+1sin2(2t)



Pero después de eso t ya no significará ángulo, ahora tEs solo un parámetro que describe un vector a través de sus proyecciones sobre los ejes de coordenadas. Para volver a las coordenadas polares, necesitas encontrar la longitud del vector (a través de la raíz de la suma de cuadrados), el ángulo (a través de la arcangente de la razón), expresar este ángulo medianteϕ y sustituya la expresión resultante en su lugar t...



El código
With[{r = Sqrt[2/(1 + Sqrt[

1 - Sin[2 t]^2])]}, {Sqrt[(a r Cos[t])^2 + (b r Sin[t])^2],

ArcTan[(b r Sin[t])/(a r Cos[t])]}] // Simplify


{2a2cos2(t)+b2sin2(t)cos2(2t)+1,tan1(btan(t)a)}





Solve[ArcTan[(b Tan[t])/a]==\[Phi], t]



ttan1(atan(ϕ)b)





Sqrt[2] Sqrt[(a^2 Cos[t]^2 + b^2 Sin[t]^2)/(1 + Sqrt[Cos[2 t]^2])]

/. t -> ArcTan[(a Tan[\[Phi]])/b] // Simplify






2a2b2sec2(ϕ)(a2tan2(ϕ)+b2)(cos2(2tan1(atan(ϕ)b))+1)



Simplificar tal fórmula ya es más difícil, y esto requerirá varias etapas:



  1. ir a las coordenadas cartesianas reemplazando ϕtan1(x,y);
  2. ir a la forma exponencial;
  3. simplificar;
  4. hacer un reemplazo inverso xcos(ϕ) y ysin(ϕ);
  5. volver a la forma exponencial;
  6. simplificar.


Como resultado, obtenemos la siguiente fórmula:



El código
Sqrt[2] Sqrt[(a^2 b^2 Sec[\[Phi]]^2) /

((1 + Sqrt[Cos[2 ArcTan[(a Tan[\[Phi]])/b]]^2])

(b^2 + a^2 Tan[\[Phi]]^2))] /. \[Phi] -> ArcTan[x, y]

// TrigToExp // Simplify

// # /. {x -> Cos[\[Phi]], y -> Sin[\[Phi]]} &

// TrigToExp // Simplify // FullSimplify


2a2b2((b2a2)cos(2ϕ)+a2+b2)(1+((a2+b2)cos(2ϕ)a2+b2)2((b2a2)cos(2ϕ)+a2+b2)2)









Conclusión



Como puede ver, incluso en algo tan simple y común como un polígono, puede encontrar y crear algo nuevo. Y la historia no termina ahí: la fórmula del área para el caso general permaneció desconocida, la fórmula para un polígono arbitrario, y no solo regular, permaneció desconocida, y la expansión en potencia y series trigonométricas se dejó sin consideración. También, probablemente, existe un tipo similar de fórmula para el caso tridimensional.



Por lo tanto, si le dicen que todo en matemáticas ya se ha inventado y solo hay problemas que están más allá de la comprensión de una persona común, no lo crea. Hay muchos problemas puramente prácticos de los que los matemáticos reales no son conscientes, o no están interesados ​​en su solución debido a la falta de publicidad suficiente a su alrededor, o porque ya tienen una idea aproximada de las formas de lograrlos para su solución. No tenga miedo de abordar problemas cuyas soluciones no están disponibles en Wikipedia, no tenga miedo de publicar sus soluciones y no tenga miedo de leer los comentarios debajo de los artículos sobre la inutilidad de todo.



PD descargue el documento original de Mathematica aquí .



All Articles