Model je ustvarjen s programskim jezikom NetLogo
Poglej oz. naloži datoteko: 3D_telesa.nlogo
Model s pomočjo preslikave iz kartezičnih koordinat v sferične ustvari 3-razsežna telesa s pomočjo 2-razsežnih želvic.
Program naključno ustvari želvice na ploskvi telesa v kartezičnih (x,y,z)
ali sferičnih (fi, theta, z) koordinatah (odvisno od tega, katere so bolj primerne).
Ne glede na to pa koordinate shranimo v sferičnih koordinatah (ker jih tam lažje rotiramo).
Telesa ustvari s pomočjo preslikave iz kartezičnih koordinat v sferične.
Učinek tretje dimenzije dosežemo s pomočjo barv. Želvice, ki so nam "najbližje"
pobarva belo, nato pa se barva preko različnih odtenkov poljubne barve spremeni v črno (
črne želvice so tiste, ki so "najbolj oddaljene" od nas).
Položaj želvice je vedno shranjen v sferičnih koordinatah, kjer telesa enostavno rotiramo
okoli z-osi s spreminjanjem kota fi.
Preslikava iz kartezičnih koordinat v sferične:
x = r * cos(fi) = p * sin(theta) * cos(fi)
y = r * sin(fi) = p * sin(theta) * sin(fi)
z = p * cos(fi)
fi: Ko želvico preslikamo na x-y ravnino, fi meri kot med želvico in osjo x
theta: kot theta meri naklon želvice glede na z-os
p: meri oddaljenost želvice od središča
S klikom na gumbe "NASTAVI - ...", ustariš različna telesa. Želvice se naključno porazdelijo po plašču telesa.
S klikom na gumb "ZAVRTI" se telo začne vrteti okoli z-osi.
S premikom drsnika "BARVA" lahko spremeniš barvo telesa.
S premikom drsnika "STEVILO_ZELVIC" določiš število želvic, ki bodo na plašču telesa.
S premikom drsnika "VELIKOST_TELESA" lahko telo povečaš ali pomanjšaš.
S premikom drsnika "HITROST_VRTENJA" povečaš, zmanjšaš ali obrneš smer vrtenja telesa okoli z-osi.
(Vrtenje želvic je doseženo s pomočjo spreminjanja spremenljivke fi v odvisnosti od hitrosti vrtenja. Vrtenje (okoli z-osi) je enostavneje implementirati v sferičnih koordinatah, premikanje pa v kartezičnih.)
Želvice, ki so bližje na y-osi (na pozitivnem delu y-osi), so svetlejše od tistih, ki so bolj oddaljene (so na negativnem delu y-osi).
Če spremeniš hitrost vrtenja ali barvo želvic, boš takoj opazil spremembo.
[LAŽJE]
[TEŽJE]
Oglej si funkcijo scale-color, s pomočjo katere je ustvarjen učinek 3 razsežnosti.
Pri sklicevanju na ta model v znanstvenih publikacija uporabite: Wilensky, U. (1998). NetLogo 3D Solids model. http://ccl.northwestern.edu/netlogo/models/3DSolids. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
V ostalih publikacija uporabite: Copyright 1998 Uri Wilensky. Vse pravice pridrzane. Pogoje uporabe si lahko ogledate na http://ccl.northwestern.edu/netlogo/models/3DSolids.
Model je v slovenščino prevedel Janez Štebe, original pa lahko najdete na naslovu http://ccl.northwestern.edu/netlogo/models/3DSolids