13.07.2015 Views

Vizualizacija prostora Lobacevskog - Alas

Vizualizacija prostora Lobacevskog - Alas

Vizualizacija prostora Lobacevskog - Alas

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

odnosno A i B pripadaju ravni normalnoj na x osu, odnosno ako je a1=b1.Tada tA trazim iz druge jednacine kao tA=ArcCos[(a1-c1)/(r u1)].Ako su i u1 i u2 nula onda je AB linija, a ne luk,sto je slucaj vec razmatran ranije.*)If[a1 == b1,tA = ArcCos[(a2 - c[[2]])/(r u[[2]])];tB = ArcCos[(b2 - c[[2]])/(r u[[2]])], (*else*)tA = ArcCos[(a1 - c[[1]])/(r u[[1]])];tB = ArcCos[(b1 - c[[1]])/(r u[[1]])]];Sort[{tA, tB}];ParametricPlot3D[ c + r Cos[t] u + r Sin[t] e, {t, tA, tB},PlotStyle -> {Thickness[0.001]}]] (* If *)] (* Module *)(* Funkcija za crtanje zraka iz ocne tacke A do apsolute prema tacki B \sfernog modela *)ZrakHS[{a1_, a2_, a3_}, {b1_, b2_, b3_}] :=Module[{c, v1, r, u, e, tA, tB, t0} ,If[(*Ako je AB normalna na apsolutu, odnosno ako je a1=b1 i a2=b2,*)(a1 - b1)^2 + (a2 - b2)^2 < 0.001,If [a3 > b3,(* onda je to duz do apsolute*)Graphics3D[{ Opacity[0.3], Line[{{a1, a2, a3}, {b1, b2, 0}}] }],(* inace je duz od ocne tacke do beskonacnosti*)Graphics3D[{ Opacity[0.3], Line[{{a1, a2, a3}, {b1, b2, b3 + 1}}] }]] ,(* inace je u pitanju kruzni luk *)c = centarLukaHS[{a1, a2, a3}, {b1, b2, b3}];v1 = {a1, a2, a3} - c; (* vektor od centra luka do tacke A*)r = N[Sqrt[v1.v1]];u = 1/Sqrt[(b1 - a1)^2 + (b2 - a2)^2] {b1 - a1, b2 - a2, 0};e = {0, 0, 1};If[a1 == b1,tA = ArcCos[(a2 - c[[2]])/(r u[[2]])];tB = ArcCos[(b2 - c[[2]])/(r u[[2]])], (*else*)tA = ArcCos[(a1 - c[[1]])/(r u[[1]])];tB = ArcCos[(b1 - c[[1]])/(r u[[1]])]];t0 = If[tA < tB, Pi, 0]; (*Crta zrak od ocne tacke do X (0) ili do X (Pi) u zavisnosti od polozaja \tacke B *)Sort[{tA, t0}];71

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!