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