Implicitna kriva

S Wikipedije, slobodne enciklopedije
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

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.

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 | uredi izvor]

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 | uredi izvor]

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 | uredi izvor]

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

Izvođenje formula[uredi | uredi izvor]

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 | uredi izvor]

Nedostatak[uredi | uredi izvor]

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 | uredi izvor]

  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 | uredi izvor]

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 | uredi izvor]

Konveksni poligoni[uredi | uredi izvor]

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 | uredi izvor]

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 | uredi izvor]

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 | uredi izvor]

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 | uredi izvor]

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 | uredi izvor]

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 | uredi izvor]

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 | uredi izvor]

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 | uredi izvor]

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 | uredi izvor]

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 | uredi izvor]

Reference[uredi | uredi izvor]

  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 | uredi izvor]