Supertoroid

Supertoroider med a=b=2, och olika kombinationer för parametrarna s och t.

I geometri och datorgrafik förstås en supertoroid eller supertorus vanligtvis för att vara en familj av munkliknande ytor (tekniskt sett en topologisk torus ) vars form definieras av matematiska formler som liknar de som definierar superellipsoiderna . Pluralis av "supertorus" är antingen supertori eller supertoruses .

Familjen beskrevs och namngavs av Alan Barr 1994.

Barrs supertoroider har varit ganska populära inom datorgrafik som en bekväm modell för många objekt, som släta ramar för rektangulära saker. En fjärdedel av en supertoroid kan ge en jämn och sömlös 90-graders skarv mellan två superquadric cylindrar . De är dock inte algebraiska ytor (förutom i speciella fall).

Formler

Alan Barrs supertoroider definieras av parametriska ekvationer som liknar torusens trigonometriska ekvationer, förutom att sinus- och cosinustermerna höjs till godtyckliga potenser . Den generiska punkten P ( u , v ) för ytan ges nämligen av

där , parametrarna u och v range från 0 till 360 grader (0 till 2 π radianer ).

I dessa formler styr parametern s > 0 "kvadrigheten" för de vertikala sektionerna, t > 0 styr fyrkantigheten för de horisontella sektionerna, och a , b ≥ 1 är de stora radierna i X- och Y -riktningarna. Med s = t =1 och a = b = R får man den ordinarie torusen med större radie R och mindre radie 1, med centrum i origo och rotationssymmetri kring Z - axeln.

I allmänhet sträcker sig supertorus definierad enligt ovan intervallen i X , i Y , och i Z . Hela formen är symmetrisk kring planen X =0, Y =0 och Z =0. Hålet löper i Z- riktningen och spänner över intervallen i X och i Y .

En kurva med konstant u på denna yta är en horisontell Lamé-kurva med exponent 2/ t , skalad i X och Y och förskjuten i Z . En kurva med konstant v , projicerad på planet X =0 eller Y =0, är ​​en Lamé-kurva med exponent 2/ s , skalad och horisontellt förskjuten. Om v är 0 är kurvan plan och spänner över intervallet i X , och i Z ; och på liknande sätt om v är 90, 180 eller 270 grader. Kurvan är också plan om a = b .

I allmänhet, om a b och v inte är en multipel av 90 grader, kommer kurvan för konstant v inte att vara plan; och omvänt kommer en vertikal plan sektion av supertorus inte att vara en Lamé-kurva.

Den grundläggande supertoroidformen som definieras ovan modifieras ofta genom olikformig skalning för att ge supertoroider med specifik bredd, längd och vertikal tjocklek.

Rita kod

Följande GNU Octave -kod genererar plots av en supertorus:

  
  
  
  
  
  
  
  
  
  0
  0
   
    
     
      
      
      
      
    
  
   
  funktion  supertoroid  (  epsilon,a  )  n  =  50  ;  d  =  0,1  ;  etamax  =  pi  ;  etamin  =  -  pi  ;  wmax  =  pi  ;  wmin  =  -  pi  ;  deta  =(  etamax  -  etamin  )  /  n  ;  dw  =(  wmax  -  wmin  )  /  n  ;  k  =  ;  l  =  ;  för  i  =  1  :  n  +  1  eta  (  i  ) =  etamin  +  (  i  -  1  )  *  deta  ;  för  j  =  1  :  n  +  1  w  (  j  )=  wmin  +  (  j  -  1  )  *  dw  ;  x  (  i  ,  j  )=  a  (  1  )  *  (  a  (  4  )  +  tecken  (  cos  (  eta  (  i  )))  *  abs  (  cos  (  eta  (  i  )))  ^  epsilon  (  1  ))  *  tecken  (  cos  (  w  (  j  )))  *  abs  (  cos  (  w  (  j  )))  ^  epsilon  (  2  );  y  (  i  ,  j  )=  a  (  2  )  *  (  a  (  4  )  +  tecken  (  cos  (  eta  (  i  )))  *  abs  (  cos  (  eta  (  i  )))  ^  epsilon  (  1  ))  *  tecken  (  sin  (  w  (  j  )))  *  abs  (  sin  (  w  (  j  )))  ^  epsilon  (  2  );  z  (  i  ,  j  )=  a  (  3  )  *  tecken  (  sin  (  eta  (  i  )))  *  abs  (  sin  (  eta  (  i  )))  ^  epsilon  (  1  );  endfor  ;  endfor  ;  mesh  (  x  ,  y  ,  z  );  slutfunktion  ; 

Se även