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
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