Como desenhar uma estrela (e mais) em coordenadas polares

A questão da fórmula para um polígono em coordenadas polares surge regularmente em recursos temáticos - e tão regularmente permanece sem uma resposta clara. Na melhor das hipóteses, encontra-se a solução por meio da função do restante da divisão - que não é "limpa" do ponto de vista matemático, pois não permite realizar transformações analíticas na função. Aparentemente, os verdadeiros matemáticos estão muito ocupados resolvendo problemas do milênio e procurando uma prova simples do teorema de Fermat para prestar atenção a tais problemas banais. Felizmente, neste caso, a imaginação é mais importante do que o conhecimento, e para resolver este problema não é necessário ser professor de ciências topológicas - basta o conhecimento ao nível da escola.



A fórmula para um polígono equilátero em coordenadas polares parece muito simples

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



e tem os seguintes parâmetros:



ϕ é o ângulo;

n é o número de vértices convexos;

m - determina quantos vértices os lados ficarão em uma linha reta. Valores negativos também são permitidos para ele - o sinal determinará em que direção a estrela se curvará;

k - rigidez - emk=0 obtemos um círculo independentemente de outros parâmetros, parak=1 - polígono com retas, com valores intermediários de0 a1 - figuras intermediárias entre um círculo e um polígono.



Com esta fórmula, você pode desenhar uma estrela de duas maneiras:



1)n=5,m=3





2) n=5/4,m=0 . Neste caso, você precisa fazer duas curvas em vez de uma:





Parâmetro m afeta o polígono da seguinte maneira (aqui ele muda de -1 para 5):





Parâmetro k em animação:





Forma complexa e modificações



Você pode reescrever a fórmula original de forma complexa e, apesar da presença de unidades imaginárias nela, o valor do raio ainda permanecerá 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



À primeira vista, isso pode parecer inútil, já que a fórmula se tornou um pouco mais complicada - mas não tire conclusões precipitadas. Primeiro, não há arco-seno nele, o que muda completamente o significado matemático da fórmula e permite que você olhe de maneira diferente para a construção de um polígono estrelado. Em segundo lugar, também pode ser usado para obter fórmulas compactas para casos especiais, por exemploit(int)1/n1+(int)2/n . Em terceiro lugar (e o mais interessante), ele pode ser modificado criativamente e obtido de outras formas inesperadas. Para que o aparecimento de um possível componente imaginário no raio não cause ambigüidade no cálculo, você pode reduzi-lo imediatamente a coordenadas cartesianas multiplicando poreiϕ . Aqui estão alguns exemplos de algumas das modificações:



(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 você provavelmente notou, a rotação do vetor deixou de ser uniforme - e justamente por causa do surgimento do componente imaginário no raio.



Quads e outras coisas



Nossa fórmula tem um caso especial maravilhoso - um quadrado, cuja fórmula pode ser escrita como

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



ou

ρ=21+1sin2(2ϕ)



(escolha qual você mais gosta).



Em um caso um pouco mais desenvolvido, você pode definir figuras intermediárias entre um círculo e um quadrado por meio de um ponto(k,k) no avião

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





Você também pode adicionar variação a essas formas, mantendo a condição de que passem pelo ponto (k,k) - modulando diretamente o próprio parâmetro kdependendo do ângulo para que ao passar pela diagonal, seu multiplicador seja igual a um. Por exemplo, substituindok função k1zcos2(2ϕ), obteremos um parâmetro adicional zcom o qual curvas adicionais podem ser ajustadas. Em particular, paraz=1/4 você obtém o seguinte:







Em um caso ainda mais expandido, você pode definir não apenas um quadrado, mas um retângulo, e ainda em coordenadas polares:

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



E ainda calcule sua área (via integrais elípticas):

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

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


Isso permitirá fazer perfis com uma transição de um círculo para um retângulo com uma área de seção controlada. Aqui, a área é constante:





E aqui a área se expande exponencialmente:





Vá para as coordenadas cartesianas



Qualquer fórmula em coordenadas polares pode ser expressa através de uma equação em coordenadas cartesianas, e de pelo menos duas maneiras - dependendo de qual será a aparência do gradiente na borda da figura. Para fazer isso, basta calcular o ângulo através do arco tangente das coordenadas e trazer a fórmula para uma constante através do vetor do raio subtraindo

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



ou divisão

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



A segunda opção é preferível porque fornece gradientes retos ao longo dos lados do 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.


O valor da fórmula do lado direito da equação (no segundo caso) mudará de 0 antes 1 se ponto (x,y) entra na figura, e de 1ad infinitum - se não. Ao escolher diferentes funções para convertê-lo em brilho, você pode obter diferentes opções de rasterização. Para o expoente (ex1 para o primeiro e ex para a segunda opção) temos

ou, se com saturação



O filtro passa-baixo clássico pode ser usado 11+xp, no qual p- a ordem do filtro, que determina o grau de atenuação.



Para a primeira opção:



E para o segundo:



Você também pode usar uma função contínua por partes definindo explicitamente os limites de interpolação.



Além da rasterização como tal, você também pode definir deformações - por exemplo, aperte um tabuleiro de xadrez em um círculo:





Ou até mesmo puxe-o sobre uma esfera:

Fórmula

x=u21+|u2v2u2+v2|



y=v1+2|u2v2u2+v2|



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





Apêndice: como a fórmula foi derivada



O estilo clássico de contar histórias em textos matemáticos consiste na alternância de lemas / teoremas e suas provas - como se as declarações prováveis ​​aparecessem na cabeça dos autores por uma revelação de cima. E embora haja alguma verdade nisso, mais freqüentemente o aparecimento de fórmulas é precedido por algum trabalho de pesquisa, cuja descrição pode dar uma compreensão maior de seu significado do que uma prova formal; e a fidelidade dos enunciados, por sua vez, pode ser traçada por meio da fidelidade das etapas que os levaram.



Portanto, aqui também - se o artigo começasse com uma fórmula em uma forma complexa, sua aparência seria não óbvia e contra-intuitiva, e as propriedades declaradas exigiriam prova adicional. Mas, na forma trigonométrica de registro, a história de seu aparecimento é perfeitamente possível de rastrear.



1) começamos com o caso mais simples - a tarefa de desenhar uma linha reta em coordenadas polares. Para fazer isso, você precisa resolver a equaçãorcos(ϕ)=1cuja solução é óbvia rsec(ϕ)...





2) além disso, o argumento da secante precisa ser "enrolado" para fornecer torções em uma linha reta. É nesse estágio que outras soluções usam um "hack sujo" na forma de um resto de divisão. Ele também usa a tomada sequencial da função seno direta e inversa -sin1(sin(ϕ))





Esta abordagem permite que você execute operações matemáticas padrão na fórmula resultante,
por exemplo
:

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







Graças à mesma notação, você pode simplificar a função quadrada em coordenadas polares para uma aparência mais estética, usando a representação complexa de funções trigonométricas. No Wolfram Mathematica, isso pode ser feito usando as funções TrigToExp e ExpToTrig:



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

22+21k2sin2(2ϕ)



Graças à mesma gravação, você pode obter figuras intermediárias suaves entre um círculo e um quadrado usando um multiplicador adicional k, devido ao qual o argumento do arco seno fica aquém de um - sin1(ksin(ϕ)):





E para que a função intercepte um determinado ponto, você só precisa fazer uma equação e recalcular k:

21+1ksin2(π2)=k



O 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 e mforam apenas adicionados de forma criativa e seus efeitos foram investigados experimentalmente, na verdade.



4) Retângulo é fácil de obter indo para a visão paramétrica e "esticando" os eixos

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



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



Mas depois disso t não significará mais ângulo, agora tÉ simplesmente um parâmetro que descreve um vetor por meio de suas projeções nos eixos de coordenadas. Para voltar às coordenadas polares, você precisa encontrar o comprimento do vetor (através da raiz da soma dos quadrados), o ângulo (através do arco tangente da relação), expressar este ângulo atravésϕ e substitua a expressão resultante t...



O 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 essa fórmula já é mais difícil, e isso exigirá várias etapas:



  1. vá para as coordenadas cartesianas substituindo ϕtan1(x,y);
  2. vá para a forma exponencial;
  3. simplificar;
  4. faça uma substituição reversa xcos(ϕ) e ysin(ϕ);
  5. volte para a forma exponencial;
  6. simplificar.


Como resultado, obtemos a seguinte fórmula:



O 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)









Conclusão



Como você pode ver, mesmo em algo tão simples e banal como um polígono, você pode encontrar e inventar algo novo. E a história não termina aí - a fórmula da área para o caso geral permaneceu desconhecida, a fórmula para um polígono arbitrário, e não apenas regular, permaneceu desconhecida, e a expansão em potência e série trigonométrica foi deixada sem consideração. Também é provável que exista uma fórmula semelhante para o caso tridimensional.



Portanto, se você ouvir que na matemática tudo já foi inventado e só existem problemas que estão além da compreensão de uma pessoa comum - não acredite. Existem muitos problemas puramente práticos dos quais os verdadeiros matemáticos não estão cientes, ou não estão interessados ​​em sua solução, devido à falta de entusiasmo suficiente em torno deles, ou porque eles já têm uma ideia aproximada de como resolvê-los. Não tenha medo de enfrentar problemas cujas soluções não estão disponíveis na Wikipédia, não tenha medo de publicar suas soluções e não tenha medo de ler os comentários nos artigos sobre a inutilidade de tudo.



PS baixe o documento original do Mathematica aqui .



All Articles