08.01.2015 Views

Zborník digitálna architektúra 2010 - Fakulta architektúry STU

Zborník digitálna architektúra 2010 - Fakulta architektúry STU

Zborník digitálna architektúra 2010 - Fakulta architektúry STU

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Vektor cinitel2)<br />

{<br />

double X = cinitel1.Y*cinitel2.Z - cinitel1.Z*cinitel2.Y;<br />

double Y = cinitel1.Z*cinitel2.X - cinitel1.X*cinitel2.Z;<br />

double Z = cinitel1.X*cinitel2.Y - cinitel1.Y*cinitel2.X;<br />

}<br />

Vektor sucin = new Vektor(X, Y, Z);<br />

return sucin;<br />

public static double SkalarnySucin(Vektor cinitel1, Vektor<br />

cinitel2)<br />

{<br />

double sucin = cinitel1.X * cinitel2.X + cinitel1.Y *<br />

cinitel2.Y + cinitel1.Z * cinitel2.Z;<br />

return sucin;<br />

}<br />

public static double UholDvochVektorov(Vektor vektor1,<br />

Vektor vektor2)<br />

{<br />

double rad = Math.Acos(Matematika.SkalarnySuci-<br />

n(vektor1,vektor2)/(vektor1.DlzkaVektora()*vektor2.Dlzka-<br />

Vektora()));<br />

double uhol = rad * 180 / Math.PI;<br />

return uhol;<br />

}<br />

public static double Sklon(Vektor vektor)<br />

{<br />

Vektor osZ = new Vektor(0, 0, 1);<br />

double uhol = Matematika.UholDvochVektorov(vektor,<br />

osZ);<br />

return uhol;<br />

}<br />

public static double Azimut(Vektor vektor)<br />

{<br />

Vektor preklopenaOsY = new Vektor(0, -1, 0);<br />

Vektor podorysnyPriemetVektora = new Vektor(vektor.X,<br />

vektor.Y, 0);<br />

double uhol = Matematika.UholDvochVektorov(vektor,<br />

preklopenaOsY);<br />

if (vektor.X < 0) uhol = 360 - uhol;<br />

return uhol;<br />

}<br />

public static Vektor RotaciaOkoloX(Vektor vektor, double<br />

uhol)<br />

{<br />

double rad = uhol * Math.PI/180;<br />

double X = vektor.X;<br />

double Y = vektor.Y * Math.Cos(rad) - vektor.Z *<br />

Math.Sin(rad);<br />

double Z = vektor.Z * Math.Cos(rad) + vektor.Y *<br />

Math.Sin(rad);<br />

}<br />

Vektor rotovanyVektor = new Vektor(X, Y, Z);<br />

return rotovanyVektor;<br />

public static Vektor RotaciaOkoloZ(Vektor vektor, double<br />

uhol)<br />

{<br />

double rad = uhol * Math.PI / 180;<br />

double X = vektor.X * Math.Cos(rad) - vektor.Y *<br />

Math.Sin(rad);<br />

double Y = vektor.Y * Math.Cos(rad) + vektor.X *<br />

Math.Sin(rad);<br />

double Z = vektor.Z;<br />

}<br />

Vektor rotovanyVektor = new Vektor(X, Y, Z);<br />

return rotovanyVektor;<br />

public static Vektor RotaciaOkoloOsi(Vektor rotovany-<br />

Vektor, Vektor osRotacie, double uhol)<br />

{<br />

double osRotacieSklon = Matematika.Sklon(osRotacie);<br />

double osRotacieAzimut = Matematika.Azimut(osRotacie);<br />

Vektor rotovanyVektorSpatZ = Matematika.RotaciaOkoloZ(rotovanyVektor,<br />

-osRotacieAzimut);<br />

Vektor rotovanyVektorSpatX = Matematika.RotaciaOkoloX(rotovanyVektorSpatZ,<br />

-osRotacieSklon);<br />

Vektor rotovanyVektorOsRotacie = Matematika.RotaciaOkoloZ(rotovanyVektorSpatX,<br />

uhol);<br />

Vektor rotovanyVektorX = Matematika.RotaciaOkolo-<br />

X(rotovanyVektorOsRotacie, osRotacieSklon);<br />

Vektor rotovanyVektorZ = Matematika.RotaciaOkoloZ(rotovanyVektorX,<br />

osRotacieAzimut);<br />

}<br />

Vektor vyslednyVektor = rotovanyVektorZ;<br />

return vyslednyVektor;<br />

public static Vektor ExcentrickaRotacia(Vektor stredRotacie,<br />

Vektor rotovanyVektor, double uholOkoloX, double<br />

uholOkoloZ)<br />

{<br />

Vektor posunutyVektor = Matematika.VektorovyRozdiel(rotovanyVektor,<br />

stredRotacie);<br />

Vektor rotovanyOkoloX = Matematika.RotaciaOkolo-<br />

X(posunutyVektor, uholOkoloX);<br />

Vektor rotovanyOkoloZ = Matematika.RotaciaOkolo-<br />

Z(rotovanyOkoloX, uholOkoloZ);<br />

Vektor vyslednyVektor = Matematika.VektorovySucet(rotovanyOkoloZ,<br />

stredRotacie);<br />

return vyslednyVektor;<br />

}<br />

}<br />

class Vypisy<br />

{<br />

public static void Vektor(Vektor vektor, string nazov)<br />

{<br />

string titulok = nazov + „ =“;<br />

string X = vektor.X.ToString();<br />

string Y = vektor.Y.ToString();<br />

string Z = vektor.Z.ToString();<br />

string text = „X = [„ + X + „], Y = [„ + Y + „], Z =<br />

[„ + Z + „]“;<br />

}<br />

MessageBox.Show(text, titulok);<br />

public static void Bod(XYZ bod, string nazov)<br />

{<br />

string titulok = nazov + „ =“;<br />

string X = bod.X.ToString();<br />

string Y = bod.Y.ToString();<br />

53

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

Saved successfully!

Ooh no, something went wrong!