Super formuła

Superformuła jest uogólnieniem superelipsy i została zaproponowana przez Johana Gielisa około 2000 roku. Gielis zasugerował, że formuła może być używana do opisu wielu złożonych kształtów i krzywych występujących w przyrodzie. Gielis złożył wniosek patentowy dotyczący syntezy wzorców generowanych przez superformułę, który wygasł z dniem 10.05.2020.

We współrzędnych biegunowych , z promieniem i , superformuła to:

Wybierając różne wartości parametrów za n można wygenerować różne kształty.

Formuła została uzyskana przez uogólnienie superelipsy, nazwanej i spopularyzowanej przez duńskiego matematyka Pieta Heina .

Działki 2D

W poniższych przykładach wartości pokazane nad każdą cyfrą powinny wynosić m , n 1 , n 2 i n 3 .

Sf2d.png

Program GNU Octave do generowania tych liczb

 
    0  
                   funkcja  sf2d  (  n, a  )  u  =  [  :  0,001  :  2  *  pi  ];  raux  =  abs  (  1  /  za  (  1  )  .*  abs  (  cos  (  n  (  1  )  *  u  /  4  )))  .^  n  (  3  )  +  abs  (  1  /  za  (         
         
      
       2  )  .*  abs  (  sin  (  n  (  1  )  *  u  /  4  )))  .^  n  (  4  );  r  =  abs  (  raux  )  .^  (  -  1  /  n  (  2  ));  x  =  r  .*  cos  (  u  );  y  =  r  .*  grzech  (  u 
   
 );  działka  (  x  ,  y  );  koniec 

Rozszerzenie do wyższych wymiarów

Możliwe jest rozszerzenie formuły do ​​3, 4 lub n wymiarów za pomocą iloczynu sferycznego nadformuł. Na przykład powierzchnię parametryczną 3D uzyskuje się przez pomnożenie dwóch nadformuł r 1 i r 2 . Współrzędne są określone przez zależności:

gdzie ( szerokość geograficzna ) waha się między - π / 2 a π / 2 i θ ( długość geograficzna ) między - π a π .

Działki 3D

Nadformuła 3D: a = b = 1; m , n 1 , n 2 i n 3 są pokazane na rysunkach.

Program GNU Octave do generowania tych liczb:

 
     
         
    
    
     
       funkcja  sf3d  (  n, a  )  u  =  [  -  pi  :  0,05  :  pi  ];  v  =  [  -  pi  /  2  :  0,05  :  pi  /  2  ];  nu  =  długość  (  u  );  nv  =  długość  (  v  );  dla  i  =  1  :  nu  dla  j  =  
                         1  :  nv  raux1  =  abs  (  1  /  za  (  1  )  *  abs  (  cos  (  n  (  1  )  .*  u  (  ja  )  /  4  )))  .^  n  (  3  )  +  abs  (  1  /  a  (  2  )  *  abs  (  grzech  (  n  (  1       
             
               )  *  u  (  ja  )  /  4  )))  .^  n  (  4  );  r1  =  abs  (  raux1  )  .^  (  -  1  /  n  (  2  ));  raux2  =  abs  (  1  /  a  (  1  )  *  abs  (  cos  (  n  (  1  )  *  v  (  j                 
              )  /  4  )))  .^  n  (  3  )  +  abs  (  1  /  za  (  2  )  *  abs  (  sin  (  n  (  1  )  *  v  (  j  )  /  4  )))  .^  n  (  4  );  r2  =  abs  (  raux2  )  .^  (  -  1  /  rz 
               
               
       (  2  ));  x  (  ja  ,  jot  )  =  r1  *  sałata  (  u  (  ja  ))  *  r2  *  sałata  (  v  (  jo  ));  y  (  ja  ,  jot  )  =  r1  *  grzech  (  u  (  ja  ))  *  r2  *  sałata  (  v  (  jot  ));  z      
    
  
    
 (  ja  ,  jot  )  =  r2  *  grzech  (  v  (  jot  ));  koniec dla  ;  koniec dla  ;  siatka  (  x  ,  y  ,  z  );  funkcja końcowa  ; 

Uogólnienie

Superformułę można uogólnić, dopuszczając różne m parametrów w dwóch wyrazach superformuły. Zastępując pierwszy parametr przez i drugi parametr przez z : }

Pozwala to na tworzenie struktur rotacyjnie asymetrycznych i zagnieżdżonych. W poniższych przykładach a, b, i wynoszą 1:

SuperformulaU-several-structures.svg

Linki zewnętrzne