COMPILER


TUTORIAL

Bemutatkozás

Ez az oldal elsősorban gyereknek készült. Egy általam kitalált programozási nyelvet fordít át WebGL nyelve. Az új böngészők ezt már képesek 3D-ben megjeleníteni.

Az oldal ingyenes, ezért bármilyen támogatásnak örülök. (Megosztás, reklámozás, anyagi támogatás.)

Niethammer Zoltán
niethammer.zoli@gmail.com 

Legjobb munkáim

3D függvények: 

Fogaskerekek:

Boszniai piramis:

Napfogyatkozás:

Holdfogyatkozás:

Hidrogén:

Fogaskerekek modellezése

Egy pont (x,y) koordinátáit a következő képlettel lehet kiszámolni, ha ismerjük az (S) szöget, és az origótól való távolságát (R):

x=sin(s)*R
y=cos(s)*R

A WEBGLBASIC nyelvben szögletes zárójeleket kell használni, illetve a változók neve előtt kötelező a $ karaktert használni:

$x=sin[$s]*$R
$y=cos[$s]*$R

A fogaskereket egy ciklussal tudjuk megrajzolni, mivel a P1, P2, P3, P4 pontok ismétlődnek körben N-szer. (N változó lesz a fogak száma.)

S1+S2+S3 = 360 / N

Pl.: Legyen 12 fog a keréken: s1+s2+s3 = 360/12 = 30 fok

Az egyszerűség kedvéért itt fokban számolok, de a függvények radiánt használnak. A 360 fok radiánban 2Pi, vagyis közelítőleg 6.28

Paraméterként megadjuk százalékosan az s1, és s3 arányát. A maradék fele lesz s2. Legyen F1, és F2 a két új paraméter.

Pl.: Ha F1=45%, F2=40%,
akkor s1=30*45% = 13.5 fok és s3 = 30*40% = 12 fok
s2 = (30 - 13.5 – 12)/2 = 2.25 fok

Pontok szögei: A ciklus 0..11 lépésben meghatározza a P1 pontok szögét: 0,30,60,12,….150. Ezek lesznek a bázispontok, amihez képest a többi pont szögértéke majd kiszámítódik. Ennek neve legyen PS. Ezek alapján a pontok szögei és távolságuk az origótól:

Pont

szög

távolság

P1

PS = 360 / N * x

R1

P2

PS+s1

R1

P3

PS+s1+s2

R2

P4

PS+s1+s3

R2

  

Először kipróbáltam a bázispontok kiszámítását. A koordináták helyére gömböket helyeztem.

Ezután a bázispontokból kiszámoltam a többi pont koordinátáját is. Ezekre a helyekre más színű gömbök kerültek.

Végül az egész ciklust egy alakzat objektum belsejébe helyeztem. Kapott egy vastagságot, és egy kis lekerekítést is.

Az alakzat előtti sorba egy hely utasítással bárhova elhelyezhető a fogaskerék. Animálni csak a Z tengely körüli forgását kellett.