Razvojni projekt Sveučilišta u Zagrebu, 2012.
Uvođenje računalnog 3D modeliranja u nastavu geometrije na tehničkim fakultetima 
(3D GEOM TEH)
DIFERENCIJALNA GEOMATRIJA

PROSTORNE KRIVULJE

5  FLEKSIJA I TORZIJA

Jedan od osnovnih problema u geometriji sastoji se u tome da se odrede one geometrijske veličine po kojima se jedna figura razlikuje od druge, npr. polumjer kod kružnice, kutovi kod trokuta,.... 
Regularne su krivulje jednoznačno određene dvjema skalarnim veličinama koje zovemo fleksija i torzija, funkcije su prirodnog parametra i imaju gore navedeno svojstvo. One će nam dati mjeru za odstupanje krivulje od pravca i izvijanje krivulje iz ravnine. Drugim riječima, definirat ćemo dvije zakrivljenosti.

Fleksija ili prva zakrivljenost

Definicija

Pretpostavimo da je (Overscript[r, →]) = (Overscript[r, →]) (s) prirodno parametrizirana regularna krivulja α klase ≥ 2. Tada je tangentni vektor (OverVector[t])(s) klase (C^1). (Ovime smo osigurali mogućnost diferenciranja vektora tangente).
Motivacija
Vektor tangente krivulje α:
	((OverVector[t])^o)(s) =  (OverVector[r])'(s)
	|((OverVector[t])^o)(s)| = |(OverVector[r])'(s)| = 1  ⇒  ((OverVector[t])^o) ∟ ((OverVector[t])^o)'  
Zbog toga će nam  ((OverVector[t])^o)'(s)=(OverVector[r])''(s) dati numeričku mjeru zakretanja krivulje α!
Realnu funkciju  κ : I → ℝ definiranu formulom
	κ(s)=|(OverVector[r])''(s)|							(25)
nazivamo  fleksija  ili  prva zakrivljenost  krivulje α.
Geometrijski je fleksija mjera za promjenu kuta tangentnog vektora.
Točnije, fleksija u točki α((Subscript[s, o])) jest granična vrijednost omjera promjene kuta duž nekog luka (Overscript[T(Subscript[T, 1]), ⏜]) i duljine tog luka, tj.
	κ((Subscript[s, o])) =(Underscript[lim, Δs→0])((Δφ)/(Overscript[T(Subscript[T, 1]), ⏜])).						(i)
Izvod tvrdnje (i):
Neka je  Δφ - kut među vektorima  ((OverVector[t])^o)((Subscript[s, o])) i  ((OverVector[t])^o)((Subscript[s, o])+ Δs), kako je prikazano na slici 05.1.

	
	Slika 05.1
Upotrijebit ćemo relaciju sin((Δφ)/2)=((|((Δ((OverVector[t])^o))/2)|)/(|((OverVector[t])^o)|)) iz koje slijedi da je  |Δ((OverVector[t])^o)| = 2sin((Δφ)/2).
Dakle,	
	(Underscript[lim, Δs→0])((Δφ)/(Overscript[T(Subscript[T, 1]), ⏜])) =(Underscript[lim, Δs→0])((Δφ)/(|Δ((OverVector[t])^o)|))·((|Δ((OverVector[t])^o)|)/(Overscript[T(Subscript[T, 1]), ⏜])) =(Underscript[lim, Δs→0])(((Δφ)/2)/((|Δ((OverVector[t])^o)|)/2))·((|Δ((OverVector[t])^o)|)/(Δs))= (Underscript[lim, Δs→0]) (((Δφ)/2)/(sin((Δφ)/2)))·|((Δ((OverVector[t])^o))/(Δs))| =
	    	=(Underscript[(Underscript[lim, Δs→0]), Δφ→0]) (((Δφ)/2)/(sin((Δφ)/2)))·(Underscript[lim, Δs→0])|((Δ((OverVector[t])^o))/(Δs))|= (Underscript[lim, Δs→0])|((Δ((OverVector[t])^o))/(Δs))| = (Underscript[lim, Δs→0])|(( ((OverVector[t])^o)((Subscript[s, o])+Δs)- ((OverVector[t])^o)((Subscript[s, o])))/(Δs))| = 
	  	= |((d((OverVector[t])^o))/(ds ))| = |((OverVector[t])^o)'((Subscript[s, o]))| = κ((Subscript[s, o]))  ◼				Slika!
Recipročnu vrijednost (1/(κ((Subscript[s, o])))) zovemo  polumjerom zakrivljenosti  krivulje α u točki α((Subscript[s, o])) i označavamo  ρ((Subscript[s, o])).

Formule za izračunavanje fleksije

Za regularnu krivulju α parametriziranu prirodnim parametrom 
α …… (OverVector[r])=(OverVector[r])(s) = x(s) (OverVector[i]) + y(s) (OverVector[j]) + z(s) (OverVector[k])
	κ(s) = |((d(OverVector[t]))/ds)| = |(OverVector[r])''(s)| = (Sqrt[(((x''))^2)+(((y''))^2)+(((z''))^2)])

Za regularnu krivulju α parametriziranu općim parametrom
α…… (OverVector[r])=(OverVector[r])(t) = x(t) (OverVector[i])  + y(t) (OverVector[j]) + z(t) (OverVector[ k])
	κ(t) = ((|(OverDot[(OverVector[r])])×(Overscript[(OverVector[r]), ¨])|)/((OverDot[(OverVector[|r])])(|^3)))	(za t = s slijedi formula (25))			(26)
Izvod formule (26) može se naći u:
M. M. Lipschutz, Differential Geometry, Schaum's Outline Series, McGraw-Hill Book Company, New York, 1969.

Oskulaciona kružnica

Oskulacionom kružnicom  ili  kružnicom zakrivljenosti  krivulje α u točki α((Subscript[t , o])) zovemo kružnicu u oskulacionoj ravnini točke α((Subscript[t , o])) koja tangira krivulju α s konkavne strane i polumjer  ρ((Subscript[t , o]))  joj je jednak polumjeru zakrivljenosti krivulje u točki α((Subscript[t , o])), tj.
		ρ((Subscript[t , o])) = (1/(κ((Subscript[t , o])))). 
Središte S kružnice zakrivljenosti zovemo središtem zakrivljenosti. Koordinate (radijvektora) točke S:			
		(Subscript[(OverVector[r]), s])= (OverVector[r])((Subscript[t, o])) + ρ((Subscript[t , o]))·((OverVector[n])^o)((Subscript[t , o])) = {(Subscript[x, s]),(Subscript[y, s]),(Subscript[z, s])}.
Primjer u 2D: Oskulaciona kružnica kružnice  (OverVector[r])(t) = {cos t,sin t}, t∈[0,2π]  u bilo kojoj njenoj točki (Subscript[T, o]) je sama kružnica, polumjer zakrivljenosti jednak je stoga polumjeru kružnice a zakrivljenost njegovoj recipročnoj vrijednosti (slika 05.2). 
	
	Slika 05.2

Evoluta krivulje je geometrijsko mjesto svih središta zakrivljenosti dane krivulje.
Evolventa krivulje je krivulja kojoj je početna krivulja evoluta.

Torzija ili druga zakrivljenost

Definicija

Pretpostavimo da je (Overscript[r, →]) = (Overscript[r, →]) (s) prirodno parametrizirana regularna krivulja α klase ≥ 3 duž koje je (OverVector[n])(s) klase (C^1). (Ovime smo osigurali mogućnost diferenciranja vektora binormale (Overscript[(b^( )), ⟶])(s) = (Overscript[(t^( )), ⟶])(s) × (Overscript[(n^( )), ⟶])(s) ).
Realnu funkciju  τ : I →  ℝ definiranu formulom
	τ(s) =  -((OverVector[n])^o) · ((OverVector[b])^o)' = - ((OverVector[n])^o)(s) ·((d((OverVector[b])^o)(s))/ds)				(27)
	|τ(s)|=|((d((OverVector[b])^o))/ds)|
nazivamo torzija  ili  druga zakrivljenost  krivulje α.
Torzija može biti pozitivna ili negativna i daje mjeru za izvijanje krivulje iz ravnine.
Geometrijski je torzija mjera za promjenu kuta (zaokret) binormale odnosno oskulacione ravnine krivulje α kad se diralište giba duž krivulje, tj.
	|τ| = (Underscript[lim, Δs→0])((Δα)/(Overscript[T(Subscript[T, 1]), ⏜]))							(ii)
	Δα - kut među vektorima  ((OverVector[b])^o)((Subscript[s, o]))  i  ((OverVector[b])^o)((Subscript[s, o])+ Δs)
Izvod tvrdnje (ii) provodi se analogno izvodu za (i). Pokušajte to sami izvesti!

Formule za izračunavanje torzije

Za krivulju α parametriziranu prirodnim parametrom
α …… (OverVector[r])=(OverVector[r])(s) = x(s) (OverVector[i]) + y(s) (OverVector[j]) + z(s) (OverVector[k])
	τ(s) = –  ((OverVector[n])^o) · ((OverVector[b])^o)'= (( ((OverVector[r])',(OverVector[r])'',((OverVector[r])')''))/((OverVector[|r])''(|^2)))

Za  krivulju parametriziranu općim parametrom
α…… (OverVector[r])=(OverVector[r])(t) = x(t) (OverVector[i])  + y(t) (OverVector[j]) + z(t) (OverVector[ k]).
	τ(t) = ((((OverDot[(OverVector[r])]),(Overscript[(OverVector[r]), ¨]),(Overscript[(OverVector[r]), ...])))/((OverDot[(OverVector[|r])])×(Overscript[(OverVector[r]), ¨])(|^2)))	(za t = s slijedi formula (25))			(28)
Izvod formule (28) može se naći u:
M. M. Lipschutz, Differential Geometry, Schaum’s Outline Series, McGraw-Hill Book Company, New York,  1969.

Frenet - Serretove formule

Prilikom istraživanja geometrije krivulje α u nekoj točki uvijek ćemo umjesto jediničnih vektora (OverVector[i]),  (OverVector[j]),  (OverVector[k]) prostora (E^3) promatrati Frenetov trobrid  {((OverVector[t])^o), ((OverVector[n])^o), ((OverVector[b])^o)}.
U tu svrhu nas zanimaju izrazi za  ((OverVector[t])^o)', ((OverVector[n])^o)', ((OverVector[b])^o)' pomoću samih  ((OverVector[t])^o), ((OverVector[n])^o), ((OverVector[b])^o).
Slijede izvodi:
	((OverVector[n])^o)(s) = (((OverVector[r])''(s))/(|(OverVector[r])''(s)|)) = (((OverVector[r])''(s))/(κ(s))) = ((((OverVector[t])^o)'(s))/(κ(s))),
	(Underscript[((OverVector[t])^o)'(s) = κ(s) · ((OverVector[n])^o)(s), ─]).						(29)
Promatrajmo dalje  ((OverVector[b])^o)'(s).    ((OverVector[b])^o)'ima smjer vektora glavne normale ((OverVector[n])^o):
 	- ((OverVector[b])^o)'· ((OverVector[n])^o) = τ/·(-((Overscript[n, →])^o)),
 	(Underscript[ ((OverVector[b])^o)'= - τ ((OverVector[n])^o), ─]).							(30)

Na kraju, derivirajmo po s jednakost   ((OverVector[n])^o)= ((OverVector[b])^o)× ((OverVector[t])^o):  
	 ((OverVector[n])^o)= ((OverVector[b])^o)× ((OverVector[t])^o) /'
	((OverVector[n])^o)' = ((OverVector[b])^o)' × ((OverVector[t])^o) + ((OverVector[b])^o) × ((OverVector[t])^o)'= - τ ((OverVector[n])^o) × ((OverVector[t])^o) + ((OverVector[b])^o) × κ((OverVector[n])^o)
	(Underscript[((OverVector[n])^o)'= τ((OverVector[b])^o) - κ((OverVector[t])^o), ─]).						(31)
(29), (30) i (31)  čine Frenet-Serretove formule:
	((OverVector[t])^o)'(s) = ((d((OverVector[t])^o))/ds)=		 κ((OverVector[n])^o)
	((OverVector[n])^o)'(s) = ((d((OverVector[n])^o))/ds)=  – κ((OverVector[t])^o)		+τ((OverVector[b])^o)
	((OverVector[b])^o)(s) = ((d((OverVector[b])^o))/ds)=		 – τ((OverVector[n])^o)

Ravninska krivulja

Krivulja α: I→(E^(3 ))je ravninska ako i samo ako je τ(s) = 0 za svaki s∈I.
Krivulja je pravac ili dio pravca ako je κ(s) = 0 za svaki s∈I.
Krivulja je kružnica ili dio kružnice ako je  κ(s) = const. ≠ 0  i  τ(s) = 0 za svaki s∈I.

Krivulje u ravnini

Analogno trodimenzionalnom slučaju, svako diferencijabilno preslikavanje α : I->(E^2),  gdje je I otvoren interval realnih brojeva, zovemo krivuljom u ravnini.
Pretpostavimo da je (Overscript[r, →]) = (Overscript[r, →]) (s) prirodno parametrizirana regularna krivulja α klase ≥ 3,  
α...  (OverVector[r])(s) = x(s)(OverVector[i]) + y(s)(OverVector[j])={x(s),y(s)}.
Za krivulju α u ravnini imamo:	
	(Underscript[2 vektorska polja, ─])
	((OverVector[t])^o)(s) = (OverVector[r])'(s) 				- polje tangenata
	((OverVector[n])^o)(s) = (((OverVector[r])''(s))/(|((OverVector[r])')''(s)|)) 			- polje normala
	(Underscript[∃! zakrivljenost, ─]) (nema izvijanja iz ravnine tj. nema torzije)
	κ(s)=|({{x'(s), y'(s)}, {x''(s), y''(s)}})|  
	ρ((Subscript[s , o])) = (1/(κ((Subscript[s , o]))))   - polumjer zakrivljenosti krivulje α  u točki  α((Subscript[s, o]))
	(Underscript[Frenetove formule, ─])
	((OverVector[t])^o)' = κ (((OverVector[n])^o))
	((OverVector[n])^o)' = – κ (((OverVector[t])^o))

Neka je sada (Overscript[r, →]) = (Overscript[r, →]) (t) regularna krivulja α klase ≥ 3 parametrizirana općim parametrom,  
α...  (OverVector[r])(t) = x(t)(OverVector[i]) + y(t)(OverVector[j])={x(t),y(t)}.
Za krivulju α u ravnini imamo:	
	((OverVector[t])^o)(t) = (((OverDot[(OverVector[r])])(t))/(| (OverDot[(OverVector[r])])(t) |)) = (1/(Sqrt[((((OverDot[x])))^2)+((((OverDot[y])))^2)])){(OverDot[x]),(OverDot[y])}	- polje tangenata
	((x-(Subscript[x, o]))/(Subscript[(OverDot[x]), o]))= ((y-(Subscript[y, o]))/(Subscript[(OverDot[y]), o]))				- tangenta	
	((OverVector[n])^o)(t) = (1/(Sqrt[((((OverDot[x])))^2)+((((OverDot[y])))^2)])){-(OverDot[y]),(OverDot[x])}		- polje normala
	((x-(Subscript[x, o]))/(-(Subscript[(OverDot[y]), o])))=((y-(Subscript[y, o]))/(Subscript[(OverDot[x]), o]))				- normala

	(Underscript[Zakrivljenost, ─])
	 κ(t) = ((((OverDot[(OverVector[r])]),(Overscript[(OverVector[r]), ¨])))/((OverDot[|(OverVector[r])])(|^3)))
	 Izraz ((OverDot[(OverVector[r])]),(Overscript[(OverVector[r]), ¨])) naziva se dvojka i definira:  ((OverDot[(OverVector[r])]),(Overscript[(OverVector[r]), ¨])) = ((OverDot[x])(Overscript[y, ¨]) – (Overscript[x, ¨])(OverDot[y])) = |({{(OverDot[x]), (OverDot[y])}, {(Overscript[x, ¨]), (Overscript[y, ¨])}})|.
	 ρ((Subscript[t , o])) = (1/(κ((Subscript[t , o]))))   - polumjer zakrivljenosti krivulje α u točki  α((Subscript[t, o]))
	Krivulja u ravnini je pravac ako je κ = 0, a kružnica ili dio kružnice ako je κ = const ≠ 0.
	
Gornje formule su specijalni slučaj formula za prostorne krivulje (z=0).

Zadaci

01	Izračunati fleksiju krivulje (Overscript[r, →]) (t) = (t+(1/t))  (Overscript[i, →]) +(t-(1/t))(Overscript[j, →]) + 2ln t (Overscript[k, →]) , t ∈ (0, ∞), u točki koja se dobije za  t = 1. Naći polumjer oskulacione kružnice zadane krivulje u istoj točki. Studenti koje se žele više potruditi neka pronađu i središte oskulacione kružnice.

Rješenje:
	(Overscript[r, →]) (t) = {t+(1/t), t-(1/t),2ln t }	 
	Za  t = 1  se dobije točka M (2,0,0).
	Upotrebit ćemo formulu:    κ(t) = ((|(OverDot[(OverVector[r])])×(Overscript[(OverVector[r]), ¨])|)/((OverDot[(OverVector[|r])])(|^3)))	 
	(OverDot[(Overscript[r, ⟶])])(t)={1-(1/(t^2)),1+(1/(t^2)),(2/t) }     ⟶    (OverDot[(Overscript[r, ⟶])])(1)={0,2,2 }         ⟶     |(OverDot[(OverVector[r])])|=2(Sqrt[2])
	(Overscript[(Overscript[r, ⟶]), ¨])(t)={(2/(t^3)), -(2/(t^3)),-(2/(t^2)) }          ⟶    (Overscript[(Overscript[r, ⟶]), ¨])(1)={2,-2,-2 }
					 ⟶    (OverDot[(Overscript[r, ⟶])])×(Overscript[(Overscript[r, ⟶]), ¨])={0,4,-4}    ⟶    |(OverDot[(OverVector[r])])×(Overscript[(OverVector[r]), ¨])|=4(Sqrt[2])
	 κ(1) = (1/4)
	 ρ(1) =	4
	 Oskulaciona kružnica prostorne krivulje u svakoj njenoj regularnoj točki nalazi se u oskulacionoj ravnini krivulje u toj točki.
	 Koordinate (radijvektor) središta S oskulacione kružnice se kao i kod krivulja u ravnini izračunavaju pomoću formule:			 (Subscript[(OverVector[r]), s])((Subscript[t, o]))= (OverVector[r])((Subscript[t, o])) + ρ((Subscript[t , o]))·((OverVector[n])^o)((Subscript[t , o])) = {(Subscript[x, s]),(Subscript[y, s]),(Subscript[z, s])}
	Nije teško izračunati da je (Subscript[(OverVector[r]), s])(1)={6,0,0}
	Vizualizacija:
	Na prvoj slici je dana krivulja, točka na krivulji, oskulaciona kružnica i njeno središte.
	Na drugoj slici su dodani vektori tangente, glavne normale i binormale. Pomičite sliku kako biste bolje uočili njihove odnose.

02       Izračunati fleksiju i torziju krivulje (Overscript[r, →]) (t) = {(e^t) cost,(e^t) sin t, (e^t) }, t ∈ ℝ u točki koja se dobije za  t = 0.

Zadatak riješen u Mathematici:

r[t_]:={(E^t) Cos[t],(E^t) Sin[t],(E^t)}

prvad=D[r[t],t]

{(E^t) Cos[t]-(E^t) Sin[t],(E^t) Cos[t]+(E^t) Sin[t],(E^t)}

duljinavektoratangente=Simplify[Sqrt[prvad.prvad]]

drugad=D[r[t],{t,2}]

trecad=D[r[t],{t,3}]

prvad=prvad/. t->0
drugad=drugad/. t->0
trecad=trecad/. t->0

prvad\[Cross]drugad

fleksija=((Sqrt[(prvad\[Cross]drugad).(prvad\[Cross]drugad)])/(Sqrt[prvad.prvad]^3))

polzakrivlj=(1/fleksija)

torzija=((prvad.drugad\[Cross]trecad)/((Sqrt[(prvad\[Cross]drugad).(prvad\[Cross]drugad)])^2))

03	Ispitati da li je krivulja (Overscript[r, →]) (t) = {(e^t),(e^(-t)), t (Sqrt[2]) }, t ∈ ℝ ravninska.

Zadatak riješen u Mathematici:

r[t_]:={(E^t),(E^(-t)),t(Sqrt[2])}

prvad=D[r[t],t]

duljinavektoratangente=Simplify[Sqrt[prvad.prvad]]

drugad=D[r[t],{t,2}]

trecad=D[r[t],{t,3}]

torzija=prvad.drugad\[Cross]trecad/(Sqrt[(prvad\[Cross]drugad).(prvad\[Cross]drugad)])^2

Budući da je τ ≠ 0 slijedi da krivulja NIJE ravninska.

Vizualizacija krivulje:

Sažetak poglavlja

Fleksija ili prva zakrivljenost krivulje.
Geometrijska interpretacija fleksije. Fleksija je mjera za promjenu kuta tangentnog vektora. U točki α((Subscript[s, o])) krivulje ona jest granična vrijednost omjera promjene Δφ kuta duž nekog luka (Overscript[T(Subscript[T, 1]), ⏜]) krivulje i duljine tog luka, tj. κ((Subscript[s, o])) =(Underscript[lim, Δs→0])((Δφ)/(Overscript[T(Subscript[T, 1]), ⏜])).
Pojam polumjera zakrivljenosti i kružnice zakrivljenosti krivulje u nekoj njenoj točki.	 Polumjerom zakrivljenosti  krivulje α u nekoj njenoj točki zovemo recipročnu vrijednost fleksije u toj točki. Oskulaciona kružnica  ili  kružnica zakrivljenosti  krivulje u nekoj njenoj točki je kružnica kojoj je polumjer jednak polumjeru zakrivljenosti krivulje u toj točki, tangira krivulju s konkavne strane i nalazi se u oskulacionoj ravnini krivulje.
Dalje sami!
Torzija ili druga zakrivljenost krivulje.
Geometrijska interpretacija torzije. 
Frenet-Serretove formule. Izvod formula.
Krivulje u ravnini.

Ishodi učenja poglavlja

Po završetku ovog poglavlja studenti će razumjeti razliku između dviju zakrivljenosti prostorne krivulje. Bit će u stanju izračunati fleksiju odnosno torziju krivulje. Moći će objasniti odnos položaja kružnice zakrivljenosti u točki krivulje prema samoj krivulji.