Implicitna kriva

U matematici, implicitna kriva je ravanska kriva definirana implicitnom jednadžbom koja povezuje dvije koordinatne varijable, obično x i y . Naprimjer, jedinični krug je definiran implicitnom jednadžbom . Općenito, svaka implicitna kriva je definirana jednadžbom oblika: za neku funkciju F od dvije varijable. Stoga se implicitna kriva može smatrati skupom nula funkcije dvije varijable. Implicitno znači da jednačina nije izražena kao rješenje ni za x u terminima y ili obrnuto.

Cassinijevi ovali:
(1) a=1.1, c=1 (iznad),
(2) a=c=1 (sredina),
(3) a=1, c=1,05 (ispod)
Implicitna kriva:
Implicitna kriva kao krive nivoa površine

Ako je polinom u dvije varijable, odgovarajuća kriva se naziva algebarska kriva, a za proučavanje su dostupne specifični metodi.

Ravne krive se mogu predstaviti u Kartezijanskim koordinatama (x, y koordinate) bilo kojim od tri metoda, od kojih je jedna implicitna jednačina data gore. Grafikon funkcije se obično opisuje jednadžbom u kojoj je eksplicitno naveden funkcionalni oblik; ovo se zove "eksplicitna" reprezentacija. Treći osnovni opis krive je parametrijska, gdje su x- i y-koordinate tačaka krive predstavljene sa dvije funkcije x(t), y(t) čije su obje funkcionalne forme eksplicitno navedene i koje zavise od zajedničkog parametra

Primjeri implicitnih krivulja uključuju:

  1. pravu:
  2. krug:
  3. polukubna parabola:
  4. Cassinijeve ovale (vidi dijagram),
  5. (vidi dijagram).

Prva četiri primjera su algebarske krive, ali posljednji nije algebarski. Prva tri primjera posjeduju jednostavne parametarske reprezentacije, što nije tačno za četvrti i peti primjer. Peti primjer pokazuje eventualno komplikovanu geometrijsku strukturu implicitne krive.

Teorema o implicitnoj funkciji opisuje uslove pod kojima se jednadžba može riješiti implicitno za x i/ili y' ' – odnosno pod kojim se može valjano pisati or . Ova teorema je ključ za izračunavanje bitnih geometrijskih karakteristika krive: tangentas, normale i zakrivljenost. U praksi implicitne krive imaju suštinski nedostatak: njihova vizualizacija je teška. Ali postoje kompjuterski programi koji omogućavaju prikaz implicitne krive. Posebna svojstva implicitnih krivulja čine ih osnovnim alatima u geometriji i kompjuterskoj grafici.

Implicitna kriva sa jednadžbom može se smatrati kao krivulja nivoa nivoa 0 površine (vidi treći dijagram).

Nagib i zakrivljenost uredi

Općenito, implicitne krive ne ispunjavaju test vertikalne linije (što znači da su neke vrijednosti x povezane s više od jedne vrijednosti y) i stoga nisu nužno grafovi funkcija. Međutim, teorem o implicitnoj funkciji daje uslove pod kojima je implicitna kriva "lokalno" data grafom funkcije (tako da posebno nema samopresecanja). Ako su relacije definiranja dovoljno glatke, onda u takvim područjima implicitne krive imaju dobro definirane nagibe, tangente, vektore normale i zakrivljenost.

Postoji nekoliko mogućih načina za izračunavanje ovih veličina za datu implicitnu krivu. Jedan je korištenje implicitne diferencijacije za izračunavanje izvedenica od y u odnosu na x. Alternativno, za krivu koju definiše implicitna jednadžba  , ove formule se mogu izraziti direktno u terminima djelimičnih derivata od  . U nastavku se označavaju parcijalne derivacije   (za derivaciju u odnosu na x),  ,   (za drugi parcijal u odnosu na x),   (za mešoviti drugi parcijal),  

Tangentni i normalni vektor uredi

Tačka krive   je regularna ako su prvi parcijalni derivati   i   nisu oba jednaka 0.

Jednačina tangentne prave u regularnoj tački   je

 

pa je nagib tangentne linije, a samim tim i nagib krive u toj tački: 

Ako je  na   kriva okomita u toj tački, dok ako su obje < math>F_y(x,y)=0</math> i   u toj tački tada se kriva tamo ne može razlikovati, već je umjesto toga singularna tačka – ili vrvica ili tačka u kojoj se kriva siječe. Normalni vektor na krivu u tački je dat sa:  (ovdje napisano kao vektor reda).

Zakrivljenost uredi

Radi čitljivosti formula, argumenti   su izostavljeni. Zakrivljenost   u regularnoj tački je data formulom: .[1]

Izvođenje formula uredi

Teorema o implicitnoj funkciji jamči unutar susjedstva tačke   postojanje funkcije   takve da  . Po pravilu lanca, derivati funkcije   su:   and   (gde su argumenti   na desnoj strani druge formule izostavljeni radi lakšeg čitanja).

Umetanje izvoda funkcije   u formule za tangentu i zakrivljenost grafikona eksplicitne jednačine   daje:   (tangenta)

  (zakrivljenost).

Prednosti i nedostaci implicitnih krivulja uredi

Nedostatak uredi

Suštinski nedostatak implicitne krive je nedostatak lahke mogućnosti izračunavanja pojedinačnih tačaka koje su neophodne za vizualizaciju implicitne krive (vidi sljedeći odjeljak).

Prednosti uredi

  1. Implicitne reprezentacije olakšavaju izračunavanje tačaka preseka: ako je jedna kriva predstavljena implicitno, a druga parametarski, za izračunavanje tačaka presjeka potrebna je samo jednostavna (1-dimenzijska) Newtonova iteracija, što je suprotno slučajevima implicitno-implicitno i parametarski-parametarski (pogledajte Presjek).
  2. Implicitna reprezentacija   daje mogućnost odvajanja tačaka koje nisu na krivulji znakom  . Ovo može biti od pomoći, naprimjer, primjena metoda lažne pozicije umjesto Newtonove iteracije.
  3. Lahko je generirati krive koje su skoro geometrijski slične datoj implicitnoj krivulji   samo dodavanjem malog broja:   (pogledajte odjeljak #Glatke aproksimacije).

Primjene implicitnih krivulja uredi

 
Glatka aproksimacija konveksnog poligona
 
Glatka aproksimacija 1) jedne polovine kruga, 2) presjeka dva kruga

Unutar matematike implicitne krive igraju istaknutu ulogu kao algebarske krive. Osim toga, implicitne krive se koriste za dizajniranje krivulja željenih geometrijskih oblika. Evo dva primjera.

Glatke aproksimacije uredi

Konveksni poligoni uredi

Glatka aproksimacija konveksnog poligona može se postići na sljedeći način: Neka   su jednadžbe linija koje sadrže rubove poligona tako da je za unutrašnju tačku poligona   pozitivan. Zatim podskup implicitne krive:  sa odgovarajućim malim parametrom   je glatka (diferencijabilna) aproksimacija poligona. Naprimjer, krive:  za   sadrže glatke aproksimacije poligona sa 5 ivica (vidi dijagram).

Parovi linija uredi

U slučaju dva reda:  dobija se

olovka paralelnih linija, ako su date prave paralelne ili
olovka hiperbola, koje imaju date linije kao asimptote.

Naprimjer, proizvod varijabli koordinatnih osa daje olovku hiperbola  , koje imaju koordinatne ose kao asimptote.

Ostale uredi

Ako se krene s jednostavnim implicitnim krivuljama koje nisu prave (krugovi, parabole,...) dobija se širok raspon zanimljivih novih krivulja. Naprimjer,

 

(proizvod kruga i x-ose) daje glatke aproksimacije jedne polovine kruga (vidi sliku), i:  (proizvod dva kruga) daje glatke aproksimacije presjeka dva kruga (vidi dijagram).

Krive miješanja uredi

 
Kriva miješanja (crvena) dva kruga

U CAD se koriste implicitne krive za generiranje krivulja miješanjes,[2][3] koje su posebne krive uspostavljanjah glatki prijelaza između dvije date krive. Naprimjer,:   generira krivulje miješanja između dva kruga

 
 

Metod garantuje kontinuitet tangenti i zakrivljenosti u tačkama dodira (vidi dijagram). Dvije prave:  određuje dodirne tačke na krugovima. Parametar   je parametar dizajna. U dijagramu,  .

Ekvipotencijalne krive dva tačkasta naelektrisanja uredi

 
Ekvipotencijalne krive dva tačkastog naboja u plavim tačkama

Ekvipotencijalna krivas od dva jednaka tačkasta naboja u tačkama   može se predstaviti jednadžbom: 

 

Krive su slične Cassinijevim ovalima, ali nisu takve krive.

Vizualizacija implicitne krive uredi

Za vizualizaciju implicitne krive obično se određuje poligon na krivulji i prikazuje se poligon. Za parametarsku krivu ovo je lak zadatak: samo se izračunavaju tačke niza parametarskih vrijednosti. Za implicitnu krivu potrebno je riješiti dva podproblema:

  1. određivanje prve tačke krivulje do date početne tačke u blizini krive,
  2. određivanje tačke krivulje počevši od poznate tačke krivulje. U oba slučaja razumno je pretpostaviti  . U praksi je ova pretpostavka narušena samo u pojedinačnim izolovanim tačkama.

Tačkasti algoritam uredi

Za rješavanje oba gore navedena zadatka neophodno je imati kompjuterski program (koji ćemo nazvati  ), koji kada mu je data tačka   blizu implicitne krive, pronalazi tačku   koja je tačno na krivulji:

(P1) jer je početna tačka  
(P2) ponavljanje
 
(Njutnov korak za funkciju  )
(P3) sve dok razmak između tačaka   nije dovoljno mali.
(P4)   je tačka krive blizu početne tačke   .

Algoritam praćenja uredi

 
Na algoritm u praćenja: početne tačke su zelene

Da bi se generirao gotovo jednako raspoređen poligon na implicitnoj krivulji, bira se dužina koraka   i

(T1)' bira odgovarajuću početnu tačku u blizini krivulje
(T2) određuje prvu tačku krive   koristeći program  
(T3) određuje tangentu (vidi gore), bira početnu tačku na tangenti koristeći dužinu koraka   (vidi dijagram) i određuje drugu tačku krivulje   pomoću programa   .

Budući da algoritam prati implicitnu krivu, naziva se „algoritam praćenja“. Algoritam prati samo povezane dijelove krive. Ako se implicitna kriva sastoji od nekoliko dijelova, mora se pokrenuti nekoliko puta s odgovarajućim polaznim tačkama.

 
Primjer: Ilustracija rasterskog algoritma primijenjenog na implicitnu krivu  . Kriva (crvena) je ono što algoritam pokušava nacrtati. Rasterske tačke (crne) koriste se kao početne tačke za pronalaženje najbližih tačaka na krivulji (crveni krugovi). Razmak između svake rasterske tačke je preuveličan da bi se prikazale pojedinačne tačke krivulje; da bi se tačnije pratila kriva, koristilo bi se više rasterskih tačaka.[4]

Raster algoritam uredi

Ako se implicitna kriva sastoji od nekoliko ili čak nepoznatih dijelova, možda bi bilo bolje koristiti rasterizacija algoritam. Umjesto da tačno prati krivu, rasterski algoritam pokriva cijelu krivu u toliko tačaka da se one stapaju i izgledaju kao kriva.

(R1)' Generiranje mreže tačaka (raster) na području od interesa x-y ravni.
(R2) Za svaku tačku   u rasteru, pokrene se algoritam tačaka   počevši od P, a zatim označava njegov izlaz.

Ako je mreža dovoljno gusta, rezultat aproksimira povezane dijelove implicitne krive. Ako su za dalje primjene potrebni poligoni na krivuljama, mogu se pratiti dijelovi od interesa pomoću algoritma praćenja.

Implicitne prostorne krive uredi

Bilo koja prostorna kriva koja je definirana s dvije jednačine

 

naziva se implicitna prostorna kriva. Tačka krivulje   naziva se regularna ako je unakrsni proizvod nagiba   i   u ovom trenutku:

 

inače se naziva jednina. Vektor   je tangentni vektor krive u tački  

 
Kriva presjeka između sfere i cilindra

Primjeri:

 

je prava.

 

je ravan presjeka sfere, dakle krug.

 

je elipsa (ravan presjek cilindra). 
je presečna kriva između kugle i cilindra.

Za izračunavanje tačaka krive i vizualizaciju implicitne prostorne krive pogledajte Presjek.

Također pogledajte uredi

Reference uredi

  1. ^ Goldman, R. (2005). "Curvature formulas for implicit curves and surfaces". Computer Aided Geometric Design. 22 (7): 632. CiteSeerX 10.1.1.413.3008. doi:10.1016/j.cagd.2005.06.005.
  2. ^ C. Hoffmann & J. Hopcroft: The potential method for blending surfaces and corners in G. Farin (Ed) Geometric-Modeling, SIAM, Philadelphia, pp. 347-365
  3. ^ E. Hartmann: Blending of implicit surfaces with functional splines, CAD,Butterworth-Heinemann, Volume 22 (8), 1990, p. 500-507
  4. ^ G. Taubin: Distance Approximations for Rastering Implicit Curves. ACM Transactions on Graphics, Vol. 13, No. 1, 1994.
  • Gomes, A., Voiculescu, I., Jorge, J., Wyvill, B., Galbraith, C.: Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms, 2009, Springer-Verlag London, ISBN 978-1-84882-405-8
  • C:L: Bajaj, C.M. Hoffmann, R.E. Lynch: Tracing surface intersections, Comp. Aided Geom. Design 5 (1988), 285-307.

Vanjski linkovi uredi