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.

Options moznostiGeometrie = new Options();<br />

moznostiGeometrie.DetailLevel = Options.DetailLevels.Coarse;<br />

ArrayList mnozinaPodlah = new ArrayList();<br />

ArrayList mnozinaZavitov = new ArrayList();<br />

while (elementy.MoveNext())<br />

{<br />

Floor podlaha = elementy.Current as Floor;<br />

if (podlaha != null)<br />

{<br />

mnozinaPodlah.Add(podlaha);<br />

Zavit zavit = new Zavit(1, 8, null, null);<br />

Solid geometriaZavitu = podlaha.get_Geometry-<br />

(moznostiGeometrie).Objects.get_Item(0) as Solid;<br />

PlanarFace fejsa = geometriaZavitu.Faces.get_Item(5)<br />

as PlanarFace;<br />

XYZ polohaZavitu = fejsa.Origin;<br />

posun);<br />

}<br />

double d = 1;<br />

return IExternalCommand.Result.Succeeded;<br />

}<br />

}<br />

}<br />

Závery<br />

Program, ktorý sa mi podarilo vytvoriť, čiastočne<br />

naplnil moje očakávania, čiastočne nenaplnil,<br />

nakoľko mohol vytvárať celistvé hmoty, ale čiastočne<br />

prekonal očakávania, pretože vôbec fungoval.<br />

Vektor taziskoZavitu = new Vektor(polohaZavitu.X,<br />

polohaZavitu.Y, polohaZavitu.Z);<br />

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

Random nahodnySklon = new Random();<br />

double sklon = nahodnySklon.Next(180);<br />

Random nahodnyAzimut = new Random();<br />

double azimut = nahodnyAzimut.Next(360);<br />

Vektor rotovanaNormalaX = Matematika.RotaciaOkoloX(normalaZavitu,<br />

sklon);<br />

Vektor rotovanaNormalaZ = Matematika.RotaciaOkoloZ(rotovanaNormalaX,<br />

azimut);<br />

}<br />

}<br />

zavit.T = taziskoZavitu;<br />

zavit.N = rotovanaNormalaZ;<br />

mnozinaZavitov.Add(zavit);<br />

SkupinaZavitov povodnaSkupina = new SkupinaZavitov(mnozinaZavitov.Count);<br />

foreach (Zavit zavit in mnozinaZavitov)<br />

{<br />

int n = mnozinaZavitov.<br />

IndexOf(zavit);<br />

povodnaSkupina.skupina-<br />

Zavitov[n] = zavit;<br />

}<br />

Zavit[] novaSkupina = povodnaSkupina.PosobenieCasu(5,<br />

100);<br />

foreach (Floor podlaha in<br />

mnozinaPodlah)<br />

{<br />

int n = mnozinaPodlah.<br />

IndexOf(podlaha);<br />

Vektor vektorPosunutia<br />

= Matematika.VektorovyRozdiel(novaSkupina[n].T,<br />

povodnaSkupina.skupinaZavitov[-<br />

n].T);<br />

XYZ posun = new XYZ(vektorPosunutia.X,<br />

vektorPosunutia.Y, vektorPosunutia.Z);<br />

podlaha.Location.Move(-<br />

56

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

Saved successfully!

Ooh no, something went wrong!