NURBS

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

NURBS este un acronim pentru Non Uniform Rational Basis-Splines , care poate fi tradus în „spline raționale neuniforme definite de o bază”, o clasă de curbe geometrice utilizate în grafica computerizată pentru a reprezenta curbele și suprafețele.

A NURBS este reprezentarea matematică pe care software-ul, cum ar fi sistemele CAD , o utilizează pentru a crea obiecte geometrice, pentru a le defini cu exactitate forma.

Curbele NURBS sunt o generalizare a curbelor B-Spline și a curbelor Bézier .

Istorie

O curbă NURBS.
Versiune animată

Înainte de inventarea computerelor , desenele erau desenate manual pe hârtie cu diverse instrumente de desen. Conducătorii au fost folosiți pentru linii drepte, busole pentru circumferințe și transportoare pentru unghiuri. Dar multe forme, cum ar fi curba liberă a arcului unei nave, nu au putut fi desenate cu aceste instrumente. Deși aceste curbe ar putea fi desenate cu mâna liberă pe blocul de desen, constructorii navali aveau adesea nevoie de o versiune de dimensiuni complete care nu putea fi realizată manual. Astfel de desene mari au fost realizate cu ajutorul unor benzi de lemn cu grosime variabilă (lămâie) sau alt material elastic, numite flexibile (în engleză spline ). Furtunele (canelurile) au fost ținute la loc în mai multe puncte de greutăți („rațe”); între greutăți (rațe), flexibilul și-a asumat o formă „inițiată” (adică fără discontinuitate sau puncte unghiulare sau variații abrupte ale curburii); prin alegerea tipului de furtun cu cea mai adecvată distribuție a grosimii, cele mai bune curbe ar putea fi obținute de la caz la caz. [1]

În 1946, matematicienii au început să studieze forma splinei și au derivat formula polinomială cunoscută sub numele de curba splinei sau funcția spline. IJ Schoenberg a dat numele funcției spline datorită asemănării sale cu spline mecanice folosite de designeri. [2]

Când computerele au fost introduse în procesul de proiectare, proprietățile fizice ale acestor spline au fost studiate astfel încât să poată fi modelate cu precizie matematică și reproduse atunci când este necesar. Lucrarea de pionierat a fost realizată în Franța de inginerul Pierre Bézier de la Renault și de fizicianul și matematicianul Paul de Casteljau de la Citroën . Ambele au funcționat aproape paralel, dar de când Bézier a publicat rezultatele muncii sale, curbele au fost numite „Bézier”, în timp ce numele Casteljau este legat doar de algoritmii relativi.

La început, NURBS erau utilizate doar în pachetele CAD proprietare ale companiilor auto. Ulterior vor deveni parte standard a pachetelor de grafică pe computer .

Redarea interactivă în timp real a curbelor și suprafețelor NURBS a fost disponibilă pentru prima dată în scopuri comerciale pe stațiile de lucru Silicon Graphics în 1989. În 1993, primul modelator interactiv pentru NURBS pe computer, numit „NöRBS”, a fost dezvoltat de CAS Berlin, un mic startup care a colaborat cu Universitatea Tehnică din Berlin. Astăzi, majoritatea aplicațiilor profesionale de grafică pe computer oferă tehnologia NURBS, care este adesea implementată prin integrarea unui motor NURBS de la o companie specializată.

Aspecte teoretice

Geometriile NURBS au cinci caracteristici importante care le fac o alegere ideală pentru modelarea asistată de computer. [3]

  • Există o varietate de soluții standard din industrie care pot schimba geometriile NURBS. Acest lucru permite unui număr mare de utilizatori să își poată schimba modelele geometrice între diferitele programe de modelare, redare, animație și analiză tehnică. Informațiile stocate pe caracteristici pot fi refolosite în viitor.
  • NURBS au o definiție precisă și bine cunoscută. Principiile matematice și computerizate ale geometriilor NURBS sunt predate în marile universități. Aceasta înseamnă că producătorii de software specializați, echipele de inginerie, studiourile de design industrial și casele de animație care trebuie să construiască aplicații personalizate pot găsi cu ușurință programatori instruiți care pot lucra cu geometriile NURBS.
  • NURBS poate reprezenta cu acuratețe atât obiecte geometrice standard (cum ar fi linii, cercuri, elipse, sfere sau toroide), cât și geometrii de formă liberă, cum ar fi caroserii mașinilor sau corpurile umane.
  • Cantitatea de informații necesară pentru reprezentarea NURBS a unui element geometric este cu mult mai mică decât cantitatea de informații necesară pentru a reprezenta aceeași geometrie prin aproximări de plasă.
  • Regula de estimare NURBS, discutată mai jos, poate fi implementată pe un computer eficient și precis.

Curbele și suprafețele NURBS se comportă într-un mod similar, astfel încât terminologia tehnică legată de acestea este aproape aceeași. O curbă NURBS este definită de patru caracteristici: gradul , vârfurile de control , nodurile și regula de estimare .

Există două tipuri de curbe NURBS: curbele EP trec prin punctele introduse de utilizator. Acestea se numesc puncte finale (EP - End Points), în timp ce curbele CV se apropie doar de punctele introduse. Punctele introduse se numesc noduri de control (CV-uri), numite puncte de control în unele programe. [4]

Grad

Gradul este un număr întreg pozitiv. De obicei este 1, 2, 3, 4 sau 5, deși poate fi orice număr întreg.

În mod normal, liniile și polilinele NURBS au gradul 1, cercurile NURBS au gradul 2, iar majoritatea curbelor de formă liberă au gradul 3 sau 5. În loc să indicați gradul curbei cu numărul respectiv, puteți utiliza termenii liniari, patratici, cubic și chintal. Mijloacele liniare de gradul 1, mijloacele pătratice de gradul 2, mijloacele cubice de gradul 3 și mijloacele chintale de gradul 5. Curbele cubice sunt cele mai utilizate. Curbele de ordinul cinci și al șaselea sunt uneori utile, dar curbele de ordin superior nu sunt practic folosite niciodată, deoarece conduc la probleme numerice interne și tind să necesite timpi de calcul disproporționați. Gradul 1 creează poligoane rupte; cu cât gradul este mai mare, cu atât este mai mare maleabilitatea lor (capacitatea de a face viraje foarte strânse). [4]

Uneori, ne putem referi la ordinea unei curbe NURBS. Ordinea unei curbe NURBS este un număr întreg pozitiv egal cu . În consecință, gradul corespunde . Ordinea unei curbe NURBS definește numărul de noduri de control învecinate care afectează fiecare punct de pe curbă.

Este posibil să se mărească gradul unei curbe NURBS fără a-i schimba forma. În general, totuși, nu este posibil să se reducă gradul unei curbe NURBS fără a-i schimba forma.

Vârfurile controlului

Suprafețele tridimensionale NURBS pot avea forme complexe și organice. Punctele de control afectează direcția suprafeței. Pătratul de la capăt conturează extensia x / y a suprafeței. Modelat și redat în cobalt.

Vârfurile de control sunt un rând de puncte cel puțin egal cu .

Una dintre cele mai simple modalități de a schimba forma unei curbe NURBS este de a varia poziția vârfurilor sale de control.

O greutate este asociată cu fiecare vârf de control (adică capacitatea sa de a atrage curba). Cu excepția câtorva excepții, greutățile sunt numere pozitive. Când vârfurile de control ale unei curbe au toate aceeași greutate (de obicei 1), curba este numită „neratională”. În caz contrar, se numește rațional. Litera R din acronimul NURBS înseamnă „rațional” și indică faptul că o curbă NURBS poate fi rațională. În practică, majoritatea curbelor NURBS nu sunt raționale. Unele curbe NURBS (cercurile și elipsele sunt un exemplu clar) sunt întotdeauna raționale.

Noduri

Nodurile sunt un rând de numere egale cu , Unde reprezintă numărul de vârfuri de control. Această secvență de numere care specifică definiția parametrică a curbei este numită și „vectorul nodului”. În acest context, termenul vector nu înseamnă o direcție 3D.

Secvența numerelor nodurilor trebuie să îndeplinească mai multe condiții tehnice. În mod normal, pentru a vă asigura că aceste condiții tehnice sunt îndeplinite, aveți nevoie ca numerele să fie aceleași sau mai mari pe măsură ce vă deplasați spre sfârșitul listei și limitați numărul de valori repetate la un număr nu mai mare decât gradul. De exemplu, pentru o curbă NURBS de gradul 3 cu 11 vârfuri de control, secvența 0,0,0,1,2,2,2,3,7,7,9,9,9 este o secvență de nod satisfăcătoare. Secvența 0,0,0,1,2,2,2,2,7,7,9,9,9 nu este în schimb acceptabilă deoarece există patru numere „2” și „4” este mai mare decât gradul de curba în examinare (3).

De câte ori se repetă valoarea unui nod se numește „multiplicitate de noduri”. În secvența de nod satisfăcătoare raportată mai sus (0,0,0,1,2,2,2,3,7,7,9,9,9), valoarea nodului 0 are multiplicitate 3, valoarea nodului 1 are multiplicitate 1, valoarea nodului 2 are multiplicitate 3, valoarea nodului 7 are multiplicitate 2 și valoarea nodului 9 are multiplicitate 3. Se spune că un nod are multiplicitate completă dacă valoarea sa se repetă de câte ori gradul. În exemplu, valorile nodurilor 0, 2 și 9 au multiplicitate completă. Valoarea unui nod care apare o singură dată se numește nod simplu. În exemplu, valorile nodurilor 1 și 3 sunt noduri simple.

Dacă o secvență de noduri începe cu un nod cu multiplicitate completă, urmează cu noduri simple, se termină cu un nod cu multiplicitate completă și toate valorile sunt la distanță egală, se spune că nodurile sale sunt uniforme. De exemplu, dacă o curbă NURBS de gradul 3 cu 7 puncte de control are o secvență 0,0,0,1,2,3,4,4,4, nodurile sale vor fi uniforme. Nodurile secvenței 0,0,0,1,2,5,6,6,6, de exemplu, nu vor fi uniforme. Se spune cu precizie că nodurile fără uniformitate sunt neuniforme. Literele N și U ale acronimului NURBS reprezintă „neuniform” și indică faptul că nodurile unei curbe NURBS pot fi neuniforme.

Valorile repetate ale nodurilor într-o secvență de noduri fac curba NURBS mai puțin netedă. Un nod cu multiplicitate completă în mijlocul unei secvențe de noduri indică faptul că există o zonă în curba NURBS care poate fi asociată cu o discontinuitate. Din acest motiv, unii designeri preferă să adauge și să elimine noduri și apoi să regleze vârfurile de control pentru a obține curbe mai fine sau mai nervoase. Deoarece numărul de noduri este egal cu , in care este numărul de puncte de control, adăugarea de noduri implică adăugarea de puncte de control, la fel cum eliminarea acestora implică eliminarea punctelor de control. Este posibil să introduceți noduri într-o curbă NURBS fără a-i schimba forma. Pe de altă parte, eliminarea nodurilor schimbă forma unei curbe.

Noduri și puncte de control

O concepție greșită obișnuită este că fiecare nod este asociat cu un vârf de control. Acest lucru este valabil numai pentru NURBS (polilinii) de gradul 1. Pentru NURBS de grad superior, există grupuri de noduri care corespund grupurilor de vârfuri de control. De exemplu, să presupunem că aveți un NURBS de gradul 3 cu 7 puncte de control și noduri 0,0,0,1,2,5,8,8,8. Primele patru vârfuri de control sunt grupate cu primele șase noduri. Vârfurile de control de la al doilea la al cincilea sunt grupate cu nodurile 0,0,1,2,5,8. Vârfurile de control de la a treia la a șasea sunt grupate cu noduri 0,1,2,5,8,8. Ultimele patru vârfuri de control sunt grupate cu ultimele șase noduri.

Unii modelatori folosesc algoritmi învechi pentru estimarea unui NURBS și necesită două valori de nod suplimentare pentru un total de noduri. Numărul de puncte finale , de top management și gradul curbei sunt legate de formulele (echivalente):

Regula estimării

Regula de potrivire a curbei este o formulă matematică care atribuie un număr unui punct.

Regula de estimare NURBS este o formulă care se ocupă de grad, puncte de control și noduri. Calculează așa-numitele funcții de bază B-spline. Literele BS din acronimul NURBS reprezintă „spline de bază”. Numărul cu care începe regula de estimare se numește „parametru”. Ne putem gândi la regula de estimare ca la o „cutie neagră” care primește un parametru și generează poziția unui punct. Gradul, nodurile și vârfurile de control determină modul în care funcționează această „cutie neagră”.

Suprafete NURBS

Suprafața definită cu NURBS, rețineți vârfurile de control (sau punctele de control) și patch-urile de suprafață

În plus față de descrierea curbelor, NURBS poate fi extins și la cazul bidimensional pentru a descrie suprafețe. În acest caz vorbim de vârfuri de control , patch-uri de suprafață , grade și parametri u și v . Deoarece acestea sunt suprafețe bidimensionale, coordonatele punctelor care le aparțin sunt determinate de doi parametri, numiți Și . Plasturii de suprafață sunt într-un anumit sens echivalentul EP-urilor pentru o suprafață NURBS. Numărul de patch-uri de suprafață ( ) este legat de numărul de CV-uri într-un mod similar cu EP-urile: [4]

Toate suprafețele NURBS provin dintr-o deformare spațială a unei rețele de suprafețe pătrate (petele de suprafață) una lângă alta.

Notă

  1. ^ NURB Curves: A Guide for the Uninitiated , pe mactech.com .
  2. ^ IJ Schoenberg, Funcțiile spline și problema absolvirii ( PDF ).
  3. ^ Ce sunt NURBS? , la rhino3d.com .
  4. ^ a b c NURBS: curbe și suprafețe ( PDF ), pe di.unito.it .

Bibliografie

Elemente conexe

Alte proiecte

Matematica Portalul de matematică : accesați intrările Wikipedia care se ocupă de matematică