Kvaternioni so ²tevila oblikeA =a+axi+ayj+azk,kjer soa, ax, ay, azrealna ²tevila.
Mnoºica {1,i,j,k} je baza vektorskega prostora kvaternionov, ki ga ozna£imo s H. Za simbole i,j,kveljajo zveze
i2 =j2 =k2 =ijk=−1. (2.20) Tukaj je z 1 mi²ljena obi£ajna realna enota za mnoºenje. Iz (2.20) sledijo naslednje zveze:
ij=−ji=k, jk=−kj=i, ki=−ik=j. (2.21) Vsota dveh kvaternionov A=a+axi+ayj+azkinB=b+bxi+byj+bzkje enaka
A+B= (a+b) + (ax+bx)i+ (ay +by)j+ (az+bz)k. (2.22) Produkt dveh kvaternionov je zaradi ena£b (2.20) in (2.21) enak
AB=(ab−axbx−ayby−azbz)
+ (abx+bax+aybz−azby)i (2.23) + (aby +bay+azbx−axbz)j
+ (abz+baz+axby−aybx)k.
Ker so produkti baznih elementov med seboj nekomutativni, v splo²nem veljaAB ̸=
BAzaA,B ∈H.Mnoºenje kvaternionov je asociativno, zato velja(AB)C = A(BC) za A,B,C ∈ H.
e si bazne elementei,j,kpredstavljamo kot standardno bazo prostoraR3,lahko re£emo, da ima kvaternion A skalarni del a in vektorski del a = axi+ayj+azk.
Kraj²e lahko zato kvaternion A zapi²emo kot A = (a,a). Vsako realno ²tevilo a lahko razumemo kot skalarni kvaternion (a,0), vsak trirazseºni vektor a pa kot vektorski kvaternion (0,a). Take kvaternione lahko preprosteje ozna£imo kar z a oziroma a.
e pi²emo A= (a,a)in B= (b,b), lahko vsoto (2.22) kraj²e zapi²emo kot
A+B= (a+b,a+b), (2.24)
kjer uporabimo obi£ajno pravilo za se²tevanje vektorjev. Podobno iz (2.23) vidimo, da je produkt enak
AB = (ab−a·b, ab+ba+a×b), (2.25) kjer uporabimo obi£ajna pravila za se²tevanje vektorjev in za skalarni ter vektorski produkt.
Vsakemu kvaternionu A = (a,a) lahko dolo£imo konjugirano vrednost A∗ = (a,−a) ter normo ∥A∥, ki jo podamo z
∥A∥=√
A∗A=√
AA∗ =√︁
a2+∥a∥2. (2.26)
Iz pravila za produkt (2.25) ni teºko videti, da velja(AB)∗ =B∗A∗.e staa,b vek-torska kvaterniona (torej lahko nanju gledamo kot na vektorja vR3), lahko izpeljemo formulo za izra£un vektorskega produkta s pomo£jo kvaternionov:
1
2ab−1
2b∗a∗ = 1
2(−a·b,a×b)− 1 2
(︁−(−b)·(−a),(−b)×(−a))︁
= 1
2(−a·b,a×b)− 1
2(−b·a,b×a) (2.27)
= (0,a×b) = a×b.
e je ∥U ∥ = 1, pravimo, da je U enotski kvaternion. Vsak enotski kvaternion lahko zapi²emo v obliki U = (cos12θ,sin12θn), kjer je θ ∈ [0,2π) in n nek enotski vektor v R3. Produkt dveh enotskih kvaternionov je vedno enotski kvaternion. Za vsak vektorski kvaternion v in enotski kvaternion U je produkt UvU∗ vedno enak vektorskemu kvaternionu (torej kvaternionu, ki ima skalarni del enak 0). Produkt lahko interpretiramo kot rotacijo vektorja v za kot θ okoli osi n. Vidimo lahko, da doseºemo isto z uporabo kvaterniona −U = (−cos12θ,−sin12θn), ki poda zasuk za kot 2π−θ okoli osi, ki jo predstavlja vektor −n [10, str. 387].
V nadaljevanju nam bo pri²la prav re²itev ena£be
QiQ∗ =c, (2.28)
kjer je c vektorski kvaternion. Zato se ji podrobneje posvetimo v naslednji lemi [6, poglavje 3.2].
Lema 2.1. Naj bo c vektorski kvaternion in naj bo v = ∥c∥c = λi+µj+νk. Za c̸=−i se re²itev ena£be (2.28) izraºa v obliki
Q(ϕ) =
√︃1
2(1 +λ)∥c∥(︂
−sinϕ+ cosϕi+µcosϕ+νsinϕ 1 +λ j +νcosϕ−µsinϕ
1 +λ k)︂
, (2.29)
ali v ekvivalentni obliki Q(ϕ) =
√︃1
2(1 +λ)∥c∥(︂
i+ µ
1 +λj+ ν 1 +λk
)︂
(cosϕ+ sinϕi), (2.30) kjer je ϕ prosti parameter. e je c=−i, je re²itev enaka
Q(ϕ) = cosϕj+ sinϕk. (2.31) Dokaz. Naj bo c̸=−i. Pi²imo Q= q0+qxi+qyj+qzk. Ob upo²tevanju pravil za mnoºenje vidimo, da je ena£ba (2.28) ekvivalentna sistemu treh ena£b
q02+qx2−qy2−qz2 =λ∥c∥, 2(q0qz+qxqy) = µ∥c∥, 2(qxqz−q0qy) =ν∥c∥ (2.32) za neznanke q0, qx, qy, qz. Ker imamo tri ena£be in ²tiri neznanke, bo splo²na re²itev ena£be (2.28) izraºena z enim prostim parametrom.
e postavimoq0 = 0,lahko s pomo£jo (2.32) preverimo, da je Q=±
√︃1
2(1 +λ)∥c∥(︂
i+ µ
1 +λj+ ν 1 +λk)︂
(2.33) partikularna re²itev ena£be (2.28). Naj bo sedaj A kvaternion, ki re²i ena£bo
AiA∗ =i. (2.34)
Potem je tudi QA re²itev za (2.28), saj velja
(QA)i(QA)∗ =Q(AiA∗)Q∗ =QiQ∗. Kvaternion, ki re²i ena£bo (2.34), je oblike
A = cosϕ+ sinϕi, (2.35)
kar sledi iz naslednjega sistema ena£b, ki je ekvivalenten ena£bi (2.34), £e vzamemo A =a0 +axi+ayj+azk:
a20+a2x−a2y −a2z = 1, 2(a0az+axay) = 0, 2(axaz−a0ay) = 0.
Pri tem jeϕ prosti parameter. Splo²na re²itev ena£be (2.28), podana v (2.29), sedaj sledi iz (2.33) in (2.35). Predznaka ± ni treba pisati, saj velja sin(ϕ+π) =−sinϕ in cos(ϕ+π) = −cosϕ. Zato nam ºe premik parametra ϕ za π spremeni predznak re²itve.
e je c=−i, re²ujemo ena£bo
QiQ∗ =−i. (2.36)
Kvaternion, ki re²i to ena£bo, je oblike
Q(ϕ) = cosϕj+ sinϕk. (2.37) To lahko preverimo podobno kot pri re²evanju ena£be (2.34).
3 Krivulje s pitagorejskim hodografom
Pomemben podrazred Bézierjevih krivulj so krivulje s pitagorejskim hodografom, saj je pri le-teh izra£un dolºine loka krivulje zelo preprost. Poleg tega ponujajo ²e marsikatere druge privla£ne lastnosti, zato jih je vredno analizirati. Uporablja pa se jih tudi v realnem svetu, npr. pri CNC-strojih. V tem poglavju si bomo ogledali denicijo in nekaj osnovnih lastnosti.
3.1 Denicije
Denicija 3.1. Prostorska polinomska krivulja r:I →R3, r(t) = (x(t), y(t), z(t)), kjer je I interval v R3, ima pitagorejski hodograf, £e obstaja tak realen polinom σ, da velja
x′2(t) +y′2(t) +z′2(t) =σ2(t), t ∈I. (3.1) Temu pogoju pravimo tudi pitagorejski pogoj, krivulji pa kraj²e re£emo PH-krivulja.
e imamo ravninsko krivuljo r : I → R2, r(t) = (x(t), y(t)), je ta krivulja ravninska krivulja s pitagorejskim hodografom, £e velja
x′2(t) +y′2(t) = σ2(t) (3.2) za nek realen polinomσ.Naslednji izrek nam bo pokazal, kako izpolniti pitagorejski pogoj za prostorske krivulje.
Izrek 3.2. Naj za tuje realne polinome a(t), b(t), c(t) in d(t) velja pitagorejski pogoj a2(t) +b2(t) +c2(t) =d2(t). (3.3) Potem obstajajo taki realni polinomi u(t), v(t), p(t) in q(t), da se a(t), b(t), c(t) in d(t) izraºajo na naslednji na£in:
a(t) = u2(t) +v2(t)−p2(t)−q2(t), b(t) = 2(︁
u(t)q(t) +v(t)p(t))︁
, (3.4)
c(t) = 2(︁
v(t)q(t)−u(t)p(t))︁
, d(t) = u2(t) +v2(t) +p2(t) +q2(t).
Dokaz. Ena£bo (3.3) preuredimo in nato razstavimo:
b2(t) +c2(t) = d2(t)−a2(t),
[b(t) + ic(t)][b(t)−ic(t)] = [d(t)−a(t)][d(t) +a(t)]. (3.5)
e sta si realna polinomab(t)in c(t)tuja, potem kompleksna polinoma b(t) + ic(t) in b(t) − ic(t) nimata skupnih ni£el. To sledi iz lastnosti ra£unanja najve£jega skupnega delitelja polinomov. Velja tudi, da nimata realnih ni£el in iz zapisa je o£itno, da je ni£la enega polinoma enaka konjugirani vrednosti drugega polinoma.
Ker stad(t)−a(t)ind(t) +a(t)realna polinoma, se ju lahko razcepi na kompleksno konjugirane pare linearnih polinomov na tak na£in, da en polinom iz vsakega para
deli polinom b(t) + ic(t),drug polinom iz para pa deli polinomb(t)−ic(t).Povedano druga£e, polinoma b(t)±ic(t) imata obliko
b(t) + ic(t) =f(t)g¯(t), b(t)−ic(t) = f¯(t)g(t), (3.6) kjer sta f(t)in g(t) taka dva kompleksna polinoma, da velja
d(t)−a(t) = f(t)f¯(t), d(t) +a(t) = g(t)g¯(t). (3.7) Kompleksna polinomaf(t)ing(t)lahko zapi²emo tudi kotf(t) = √
2(︁
,kjer sop(t), q(t), v(t)inu(t)realni polinomi. e vnesemo te izraze v ena£be (3.6) in (3.7), lahko iz njih dobimo izraze za polinome a(t), b(t), c(t) in d(t), kot so zapisani v (3.4).
e je w(t) = gcd(b(t), c(t)) nekonstanten polinom, lahko iz ena£be (3.5) vi-dimo, da w2(t) deli natanko enega izmed polinomov d(t)−a(t) in d(t) +a(t), saj bi v nasprotnem primeru to pomenilo, da obstaja skupna ni£la polinomov b(t), c(t), d(t) − a(t) in d(t) + a(t), kar pa je v nasprotju s predpostavko, da so polinomi a(t), b(t), c(t) in d(t) tuji. e delimo izraza b(t) + ic(t) in b(t)−ic(t) z w(t) ter enega izmed izrazov d(t)−a(t), d(t) +a(t)zw2(t)(delimo tistega, ki je deljiv s tem polinomom), pridemo do primera, ki smo ga ºe analizirali. Dokaz je tako kon£an.
Opomba 3.3. V izreku 3.2 lahko ena£be (3.4) glede na permutacije polinomova, b, c in u, v, p, q zapi²emo na ve£ razli£nih na£inov.
Enostavno je preveriti, da velja trditev izreka 3.2 tudi v drugo smer. Vidimo torej, da je r prostorska PH-krivulja natanko takrat, ko je njen hodograf oblike
x′(t) = (︁
za realne polinome u, v, p, q inw. Parametri£na hitrost se poenostavi v σ(t) =∥r′(t)∥=x′2(t) +y′2(t) +z′2(t) = (︁
u2(t) +v2(t) +p2(t) +q2(t))︁
w(t). (3.9) Pri tem polinomwpredstavlja skupni faktor komponent hodografa. Parametrizacijo prostorske PH-krivulje r dobimo z integracijo hodografa (︁
x′(t), y′(t), z′(t))︁
.
Opomba 3.4. Za obravnavo ravninskih PH-krivulj se pogoj izreka 3.2 poenostavi na a2(t) + b2(t) = c2(t), ki velja natanko takrat, ko se da te polinome izraziti s
kjer sta si u in v tuja polinoma. Pri tem polinom w predstavlja skupni faktor polinomov a, bin c. Dokaz je dostopen v [5, str. 382]. Tako je potem ravninska PH-krivulja r(t) = (x(t), y(t))denirana s pomo£jo polinomov u, v inw preko odvodov
x′(t) =(︁
u2(t)−v2(t))︁
w(t) in y′(t) = 2u(t)v(t)w(t), (3.11) parametrizacijo krivulje pa dobimo z integracijo hodografa (︁
x′(t), y′(t))︁
.
Pri krivulji, ki je podana z ena£bami (3.8), sicer nimamo zagotovila, da je ta krivulja res regularna, saj imajo lahko komponente hodografa skupne polinomske faktorje.
Denicija 3.5. Za krivuljo s pitagorejskim hodografom r′(t) = (x′(t), y′(t), z′(t)) pravimo, da ima primitiven pitagorejski hodograf, £e je najve£ji skupni delitelj kom-ponent hodografa konstanten: gcd(x′(t), y′(t), z′(t)) = konstanta.
V praksi se raje uporablja primitivne hodografe, saj skupna ni£la komponent hodografa implicira to£ko, kjer tangentni vektor ni dolo£en. Izbira tujih si polinomov u, v, pin q ter w≡1 ²e ne zagotavlja, da je potem hodograf res primitiven.
Izrek 3.6. Naj bodo realni polinomi p, q, v in u paroma si tuji in komponente hodografa take kot v (3.8), pri £emer vzamemo w≡1. Potem velja
gcd(x′, y′, z′) = |gcd(u+ iv, p−iq)|2. (3.12) Dokaz. Dokaz najdemo v [10, str. 371].
Vidimo torej, da je v primeru paroma si tujih polinomov u, v, p, q in w ≡ 1 najve£ji skupni delitelj komponent hodografa realen polinom sode stopnje, ki nima realnih ni£el. To pa pomeni, da je za realno krivuljo, ki je porojena s takimi polinomi, tangentni vektor dolo£en povsod in je zato regularna. V nadaljevanju bomo privzeli, da jew≡1.