Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Конкурс: рисуем космос |
|
|
О, случайно нашел в запасниках. На космос конечно мало похоже - просто шарообразное облачко точек в OpenGL. А вот код не нашел
О, случайно нашел в запасниках. На космос конечно мало похоже - просто шарообразное облачко точек в OpenGL. [url=http://i8.fastpic.ru/big/2010/0706/5b/46076b9193d7667f497e1159a25a545b.jpg][img]http://i8.fastpic.ru/thumb/2010/0706/5b/46076b9193d7667f497e1159a25a545b.jpeg[/img][/url] А вот код не нашел :(
|
|
|
|
Добавлено: Вт июл 06, 2010 14:57 |
|
|
|
|
|
Заголовок сообщения: |
Re: Конкурс: рисуем космос |
|
|
_Harry писал(а): А скриншоты низзя с ваших красивостей? У меня картинка прямо над кодом. Просто она еще по клавишам вращается, но я попытался подобрать наиболее удачный ракурс.
[quote="_Harry"]А скриншоты низзя с ваших красивостей?[/quote] У меня картинка прямо над кодом. Просто она еще по клавишам вращается, но я попытался подобрать наиболее удачный ракурс.
|
|
|
|
Добавлено: Вт май 11, 2010 22:14 |
|
|
|
|
|
Заголовок сообщения: |
Re: Конкурс: рисуем космос |
|
|
_Harry писал(а): Не знаю не пробовал. Вот как увижу красивости так сразу побегу запускать.... ну, собственно, важны не красивости, а краткость кода
[quote="_Harry"]Не знаю не пробовал. :roll: Вот как увижу красивости :shock: так сразу побегу запускать.... :D[/quote]
ну, собственно, важны не красивости, а краткость кода
[img]http://s47.radikal.ru/i118/1005/c7/1380b96d6320.jpg[/img]
|
|
|
|
Добавлено: Вт май 11, 2010 19:30 |
|
|
|
|
|
Заголовок сообщения: |
Re: Конкурс: рисуем космос |
|
|
Не знаю не пробовал. Вот как увижу красивости так сразу побегу запускать....
Не знаю не пробовал. :roll: Вот как увижу красивости :shock: так сразу побегу запускать.... :D
|
|
|
|
Добавлено: Вт май 11, 2010 17:49 |
|
|
|
|
|
Заголовок сообщения: |
Re: Конкурс: рисуем космос |
|
|
_Harry А что, кварк запустить никак не получится?
[b]_Harry[/b] А что, кварк запустить никак не получится?
|
|
|
|
Добавлено: Вт май 11, 2010 16:49 |
|
|
|
|
|
Заголовок сообщения: |
Re: Конкурс: рисуем космос |
|
|
А скриншоты низзя с ваших красивостей? А еще лучше видео с экрана. Всем же посмотреть хочется
А скриншоты низзя с ваших красивостей? А еще лучше видео с экрана. Всем же посмотреть хочется :shuffle;
|
|
|
|
Добавлено: Вт май 11, 2010 14:52 |
|
|
|
|
|
Заголовок сообщения: |
Re: Конкурс: рисуем космос |
|
|
вопрос писал(а): ps у Хищника непонятно, что делают клавиши
Вращают сцену. Это же 3D.
[quote="вопрос"]ps у Хищника непонятно, что делают клавиши
[/quote] Вращают сцену. Это же 3D.
|
|
|
|
Добавлено: Пт май 07, 2010 01:45 |
|
|
|
|
|
Заголовок сообщения: |
Re: Конкурс: рисуем космос |
|
|
А. ну да, я не сказал, это алгоритм генерации "сатурна" меняя коэффициенты или вводя новые можно изменять вид вот более выразительно Код: 250 VALUE PLANET_X 250 CONSTANT PLANET_Y 100 TIMER_INTERVAL ! : p 500 90 DO 700 10 DO PLANET_X I - DUP * PLANET_Y J - DUP * + 8000 < \ сама планета IF I J 50 PLANET_X 90 + I - 4 / 25 * 18 / + 50 PLANET_Y 90 + J - 2 / 255 MOD + 141 RGB \ готово пиксел J PLANET_Y > IF PLANET_X I - DUP * PLANET_Y J - 9 * 2 / DUP * + DUP 28700 < SWAP 14200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN PLANET_X I - DUP * PLANET_Y J - 9 * 2 / DUP * + DUP 50700 < SWAP 34200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN THEN ELSE I J 0 PLANET_X I - DUP * PLANET_Y J - 9 * 2 / DUP * + DUP 28700 < SWAP 14200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN PLANET_X I - DUP * PLANET_Y J - 18 * 4 / DUP * + DUP 50700 < SWAP 34200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN THEN PIXEL LOOP LOOP PLANET_X 2 + DUP TO PLANET_X PLANET_X 500 = IF ['] NOOP TO <TIMER> THEN ; ' p TO <TIMER> ps у Хищника непонятно, что делают клавиши
А. ну да, я не сказал, это алгоритм генерации "сатурна" меняя коэффициенты или вводя новые можно изменять вид вот более выразительно [code] 250 VALUE PLANET_X 250 CONSTANT PLANET_Y 100 TIMER_INTERVAL ! : p 500 90 DO 700 10 DO PLANET_X I - DUP * PLANET_Y J - DUP * + 8000 < \ сама планета IF I J 50 PLANET_X 90 + I - 4 / 25 * 18 / + 50 PLANET_Y 90 + J - 2 / 255 MOD + 141 RGB \ готово пиксел J PLANET_Y > IF PLANET_X I - DUP * PLANET_Y J - 9 * 2 / DUP * + DUP 28700 < SWAP 14200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN PLANET_X I - DUP * PLANET_Y J - 9 * 2 / DUP * + DUP 50700 < SWAP 34200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN THEN ELSE I J 0 PLANET_X I - DUP * PLANET_Y J - 9 * 2 / DUP * + DUP 28700 < SWAP 14200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN PLANET_X I - DUP * PLANET_Y J - 18 * 4 / DUP * + DUP 50700 < SWAP 34200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN THEN PIXEL LOOP LOOP PLANET_X 2 + DUP TO PLANET_X PLANET_X 500 = IF ['] NOOP TO <TIMER> THEN ; ' p TO <TIMER> [/code]
ps у Хищника непонятно, что делают клавиши
|
|
|
|
Добавлено: Пт май 07, 2010 00:51 |
|
|
|
|
|
Заголовок сообщения: |
Re: Конкурс: рисуем космос |
|
|
Код: 250 VALUE PLANET_X 250 CONSTANT PLANET_Y 100 TIMER_INTERVAL ! : p
700 10 DO 700 10 DO
PLANET_X I - DUP * PLANET_Y J - DUP * + 8000 < \ сама планета IF I J 50 50 141 RGB \ готово пиксел J PLANET_Y > IF PLANET_X I - DUP * PLANET_Y J - 6 * DUP * + DUP 28700 < SWAP 14200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN PLANET_X I - DUP * PLANET_Y J - 6 * DUP * + DUP 50700 < SWAP 34200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN THEN ELSE I J 0 PLANET_X I - DUP * PLANET_Y J - 6 * DUP * + DUP 28700 < SWAP 14200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN PLANET_X I - DUP * PLANET_Y J - 6 * DUP * + DUP 50700 < SWAP 34200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN THEN PIXEL LOOP LOOP
PLANET_X 2 + DUP TO PLANET_X PLANET_X 500 = IF ['] NOOP TO <TIMER> THEN ;
' p TO <TIMER>
[code] 250 VALUE PLANET_X 250 CONSTANT PLANET_Y 100 TIMER_INTERVAL ! : p
700 10 DO 700 10 DO
PLANET_X I - DUP * PLANET_Y J - DUP * + 8000 < \ сама планета IF I J 50 50 141 RGB \ готово пиксел J PLANET_Y > IF PLANET_X I - DUP * PLANET_Y J - 6 * DUP * + DUP 28700 < SWAP 14200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN PLANET_X I - DUP * PLANET_Y J - 6 * DUP * + DUP 50700 < SWAP 34200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN THEN ELSE I J 0 PLANET_X I - DUP * PLANET_Y J - 6 * DUP * + DUP 28700 < SWAP 14200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN PLANET_X I - DUP * PLANET_Y J - 6 * DUP * + DUP 50700 < SWAP 34200 > AND IF DROP 250 PLANET_X I - ABS 240 MOD PLANET_Y J - I * 255 MOD RGB THEN THEN PIXEL LOOP LOOP
PLANET_X 2 + DUP TO PLANET_X PLANET_X 500 = IF ['] NOOP TO <TIMER> THEN ;
' p TO <TIMER>[/code]
|
|
|
|
Добавлено: Чт май 06, 2010 17:49 |
|
|
|
|
|
Заголовок сообщения: |
Re: Конкурс: рисуем космос |
|
|
Что-то я никак скриншот не закачаю никуда, так что смотрим картинку в кварке Ой, нет, закачал Код: 0 VALUE ActiveLibrary
: FUNCTION ActiveLibrary SWAP GETPROCADDRESS VALUE ;
" opengl32.dll" LOADLIBRARY VALUE OPENGL OPENGL TO ActiveLibrary
: ? DUP 0 = IF . THEN ;
" glViewport" FUNCTION glViewPort@ : glViewPort glViewPort@ API4 DROP ; " glPointSize" FUNCTION glPointSize@ : glPointSize glPointSize@ API1 DROP ; " glColor3i" FUNCTION glColor3i@ : glColor3i glColor3i@ API3 DROP ; " glColor3ubv" FUNCTION glColor3ubv@ : glColor3ubv glColor3ubv@ API1 DROP ; " glColor4ubv" FUNCTION glColor4ubv@ : glColor4ubv glColor4ubv@ API1 DROP ; " glVertex2dv" FUNCTION glVertex2dv@ : glVertex2dv glVertex2dv@ API1 DROP ; " glVertex3dv" FUNCTION glVertex3dv@ : glVertex3dv glVertex3dv@ API1 DROP ; " glBegin" FUNCTION glBegin@ : glBegin glBegin@ API1 DROP ; " glEnd" FUNCTION glEnd@ : glEnd glEnd@ API0 DROP ; " glEnable" FUNCTION glEnable@ : glEnable glEnable@ API1 DROP ; " glDisable" FUNCTION glDisable@ : glDisable glDisable@ API1 DROP ; " glClear" FUNCTION glClear@ : glClear glClear@ API1 DROP ; " glPushMatrix" FUNCTION glPushMatrix@ : glPushMatrix glPushMatrix@ API0 DROP ; " glPopMatrix" FUNCTION glPopMatrix@ : glPopMatrix glPopMatrix@ API0 DROP ; " glFrustum" FUNCTION glFrustum@ : glFrustum 6 glFrustum@ API DROP ; " glTranslatef" FUNCTION glTranslatef@ : glTranslatef glTranslatef@ API3 DROP ; " glTexImage2D" FUNCTION glTexImage2D@ : glTexImage2D glTexImage2D@ API9 DROP ; " glTexParameteri" FUNCTION glTexParameteri@ : glTexParameteri glTexParameteri@ API3 DROP ; " glTexCoord2dv" FUNCTION glTexCoord2dv@ : glTexCoord2dv glTexCoord2dv@ API1 DROP ; " glTexEnvf" FUNCTION glTexEnvf@ : glTexEnvf glTexEnvf@ API3 DROP ;
CREATE AUX3D[] 24 ALLOT
: 3dpoint S>F 1000.0 F/ AUX3D[] 16 + F! S>F 1000.0 F/ AUX3D[] 8 + F! S>F 1000.0 F/ AUX3D[] F! AUX3D[] glVertex3dv ;
CREATE TexPoint0 0.0 F, 0.0 F, 0.0 F, CREATE TexPoint1 1.0 F, 0.0 F, 0.0 F, CREATE TexPoint2 1.0 F, 1.0 F, 0.0 F, CREATE TexPoint3 0.0 F, 1.0 F, 0.0 F,
CREATE Point0 0.0 F, 0.0 F, 0.0 F, CREATE Point1 -1.0 F, 0.0 F, 0.0 F, CREATE Point2 1.0 F, 0.0 F, 0.0 F, CREATE Point3 0.0 F, 1.0 F, 0.0 F, CREATE Point4 0.0 F, -1.0 F, 0.0 F, CREATE Point5 0.0 F, 0.0 F, 1.0 F, CREATE Point6 0.0 F, 0.0 F, -1.0 F,
CREATE Triangle1A 0.0 F, 0.0 F, -0.50 F, CREATE Triangle1B 0.0 F, 0.5 F, -0.51 F, CREATE Triangle1C 1.0 F, 0.9 F, -0.59 F,
FLOAT NX 1420.0 NX F! FLOAT NY 320.0 NY F! FLOAT NZ
: X+ NX F@ 10.0 F+ NX F! NX F@ 360.0 F> IF NX F@ 360.0 F- NX F! THEN ; : X- NX F@ 10.0 F- NX F! NY F@ 0.0 F< IF NX F@ 360.0 F+ NX F! THEN ; : Y+ NY F@ 10.0 F+ NY F! NY F@ 360.0 F> IF NY F@ 360.0 F- NY F! THEN ; : Y- NY F@ 10.0 F- NY F! NY F@ 0.0 F< IF NY F@ 360.0 F+ NY F! THEN ; : Z+ NZ F@ 10.0 F+ NZ F! NZ F@ 360.0 F> IF NZ F@ 360.0 F- NZ F! THEN ; : Z- NZ F@ 10.0 F- NZ F! NZ F@ 0.0 F< IF NZ F@ 360.0 F+ NZ F! THEN ;
FLOAT ENGINE.X 0.0 ENGINE.X F! FLOAT ENGINE.Y 0.0 ENGINE.Y F! FLOAT ENGINE.Z 0.0 ENGINE.Z F! FLOAT ENGINE.DIAMETER 0.08 ENGINE.DIAMETER F! FLOAT ENGINE.L 0.4 ENGINE.L F!
: DRAW-ENGINE 0x7FFFFFFF DUP DUP glColor3i 40 0 DO GL_QUADS glBegin I S>F 40.0 F/ 2.0 F* PI F* FCOS ENGINE.DIAMETER F@ F* ENGINE.X F@ F+ Point1 F! I S>F 40.0 F/ 2.0 F* PI F* FSIN ENGINE.DIAMETER F@ F* ENGINE.Y F@ F+ Point1 8 + F! ENGINE.L F@ -0.5 F* ENGINE.Z F@ F+ Point1 16 + F! I 1 + S>F 40.0 F/ 2.0 F* PI F* FCOS ENGINE.DIAMETER F@ F* ENGINE.X F@ F+ Point2 F! I 1 + S>F 40.0 F/ 2.0 F* PI F* FSIN ENGINE.DIAMETER F@ F* ENGINE.Y F@ F+ Point2 8 + F! ENGINE.L F@ -0.5 F* ENGINE.Z F@ F+ Point2 16 + F!
I 1 + S>F 40.0 F/ 2.0 F* PI F* FCOS ENGINE.DIAMETER F@ F* ENGINE.X F@ F+ Point3 F! I 1 + S>F 40.0 F/ 2.0 F* PI F* FSIN ENGINE.DIAMETER F@ F* ENGINE.Y F@ F+ Point3 8 + F! ENGINE.L F@ 0.5 F* ENGINE.Z F@ F+ Point3 16 + F!
I S>F 40.0 F/ 2.0 F* PI F* FCOS ENGINE.DIAMETER F@ F* ENGINE.X F@ F+ Point4 F! I S>F 40.0 F/ 2.0 F* PI F* FSIN ENGINE.DIAMETER F@ F* ENGINE.Y F@ F+ Point4 8 + F! ENGINE.L F@ 0.5 F* ENGINE.Z F@ F+ Point4 16 + F!
Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv Point4 glVertex3dv glEnd LOOP 0x7FFFFFFF 0 0 glColor3i 40 0 DO GL_TRIANGLES glBegin I S>F 40.0 F/ 2.0 F* PI F* FCOS ENGINE.DIAMETER F@ F* ENGINE.X F@ F+ Point1 F! I S>F 40.0 F/ 2.0 F* PI F* FSIN ENGINE.DIAMETER F@ F* ENGINE.Y F@ F+ Point1 8 + F! ENGINE.L F@ -0.5 F* ENGINE.Z F@ F+ Point1 16 + F!
I 1 + S>F 40.0 F/ 2.0 F* PI F* FCOS ENGINE.DIAMETER F@ F* ENGINE.X F@ F+ Point2 F! I 1 + S>F 40.0 F/ 2.0 F* PI F* FSIN ENGINE.DIAMETER F@ F* ENGINE.Y F@ F+ Point2 8 + F! ENGINE.L F@ -0.5 F* ENGINE.Z F@ F+ Point2 16 + F!
0.0 ENGINE.X F@ F+ Point3 F! 0.0 ENGINE.Y F@ F+ Point3 8 + F! ENGINE.L F@ 0.5 F* ENGINE.Z F@ F+ Point3 16 + F!
Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd LOOP ;
: DRAW-HULL 0x3FFFFFFF DUP DUP glColor3i -0.3 Point1 F! 0.1 Point1 8 + F! 0.2 Point1 16 + F! -0.2 Point2 F! 0.1 Point2 8 + F! 0.7 Point2 16 + F! 0.2 Point3 F! 0.1 Point3 8 + F! 0.7 Point3 16 + F! 0.3 Point4 F! 0.1 Point4 8 + F! 0.2 Point4 16 + F! GL_QUADS glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv Point4 glVertex3dv glEnd -0.3 Point1 F! -0.1 Point1 8 + F! 0.2 Point1 16 + F! -0.2 Point2 F! -0.1 Point2 8 + F! 0.7 Point2 16 + F! 0.2 Point3 F! -0.1 Point3 8 + F! 0.7 Point3 16 + F! 0.3 Point4 F! -0.1 Point4 8 + F! 0.2 Point4 16 + F! GL_QUADS glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv Point4 glVertex3dv glEnd
-0.3 Point1 F! -0.1 Point1 8 + F! 0.2 Point1 16 + F! -0.2 Point2 F! -0.1 Point2 8 + F! 0.7 Point2 16 + F! -0.2 Point3 F! 0.1 Point3 8 + F! 0.7 Point3 16 + F! -0.3 Point4 F! 0.1 Point4 8 + F! 0.2 Point4 16 + F! GL_QUADS glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv Point4 glVertex3dv glEnd 0.3 Point1 F! -0.1 Point1 8 + F! 0.2 Point1 16 + F! 0.2 Point2 F! -0.1 Point2 8 + F! 0.7 Point2 16 + F! 0.2 Point3 F! 0.1 Point3 8 + F! 0.7 Point3 16 + F! 0.3 Point4 F! 0.1 Point4 8 + F! 0.2 Point4 16 + F! GL_QUADS glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv Point4 glVertex3dv glEnd
0x7FFFFFFF DUP DUP glColor3i
0.0 Point1 F! 0.0 Point1 8 + F! 1.2 Point1 16 + F! 0.2 Point2 F! -0.1 Point2 8 + F! 0.7 Point2 16 + F! 0.2 Point3 F! 0.1 Point3 8 + F! 0.7 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
0.0 Point1 F! 0.0 Point1 8 + F! 1.2 Point1 16 + F! -0.2 Point2 F! -0.1 Point2 8 + F! 0.7 Point2 16 + F! -0.2 Point3 F! 0.1 Point3 8 + F! 0.7 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
0 0x3FFFFFFF DUP glColor3i
0.0 Point1 F! 0.0 Point1 8 + F! 1.2 Point1 16 + F! -0.2 Point2 F! 0.1 Point2 8 + F! 0.7 Point2 16 + F! 0.2 Point3 F! 0.1 Point3 8 + F! 0.7 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd 0x3FFFFFFF DUP DUP glColor3i
0.0 Point1 F! 0.0 Point1 8 + F! 1.2 Point1 16 + F! -0.2 Point2 F! -0.1 Point2 8 + F! 0.7 Point2 16 + F! 0.2 Point3 F! -0.1 Point3 8 + F! 0.7 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
0x7FFFFFFF DUP DUP glColor3i
-0.5 Point1 F! 0.0 Point1 8 + F! 0.3 Point1 16 + F! -0.2 Point2 F! 0.0 Point2 8 + F! 0.7 Point2 16 + F! -0.25 Point3 F! 0.0 Point3 8 + F! 0.3 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
0.5 Point1 F! 0.0 Point1 8 + F! 0.3 Point1 16 + F! 0.2 Point2 F! 0.0 Point2 8 + F! 0.7 Point2 16 + F! 0.25 Point3 F! 0.0 Point3 8 + F! 0.3 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
;
: DRAW-FIRE 0 0x7FFFFFFF DUP glColor3i
-0.21 Point1 F! -0.01 Point1 8 + F! 0.9 Point1 16 + F! -0.21 Point2 F! 0.01 Point2 8 + F! 0.9 Point2 16 + F! -0.2 Point3 F! 0.0 Point3 8 + F! 1.2 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
-0.19 Point1 F! -0.01 Point1 8 + F! 0.9 Point1 16 + F! -0.19 Point2 F! 0.01 Point2 8 + F! 0.9 Point2 16 + F! -0.2 Point3 F! 0.0 Point3 8 + F! 1.2 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
-0.21 Point1 F! 0.01 Point1 8 + F! 0.9 Point1 16 + F! -0.19 Point2 F! 0.01 Point2 8 + F! 0.9 Point2 16 + F! -0.2 Point3 F! 0.0 Point3 8 + F! 1.2 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
-0.21 Point1 F! -0.01 Point1 8 + F! 0.9 Point1 16 + F! -0.19 Point2 F! -0.01 Point2 8 + F! 0.9 Point2 16 + F! -0.2 Point3 F! 0.0 Point3 8 + F! 1.2 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd ;
: TEST 0 0 700 700 glViewPort glPushMatrix
GL_DEPTH_TEST glEnable GL_DEPTH_BUFFER_BIT glClear
GL_LIGHTING glEnable GL_LIGHT0 glEnable GL_LIGHT1 glEnable GL_COLOR_MATERIAL glEnable GL_LINE_SMOOTH glEnable
0 0x7FFFFFFF 0 glColor3i
NX F@ ROTATEANGLE SF! 1.0 glX SF! 0.0 glY SF! 0.0 glZ SF! 3DROTATE
NY F@ ROTATEANGLE SF! // -120 0.0 glX SF! 1.0 glY SF! 0.0 glZ SF! 3DROTATE
NZ F@ ROTATEANGLE SF! // 100 0.0 glX SF! 0.0 glY SF! 1.0 glZ SF! 3DROTATE
0x3FFFFFFF DUP DUP glColor3i
-0.2 ENGINE.X F! 0.0 ENGINE.Y F! 0.0 ENGINE.Z F! DRAW-ENGINE
0.0 ENGINE.X F! 0.0 ENGINE.Y F! 0.0 ENGINE.Z F! DRAW-ENGINE
0.2 ENGINE.X F! 0.0 ENGINE.Y F! 0.0 ENGINE.Z F! DRAW-ENGINE DRAW-HULL DRAW-FIRE
glPopMatrix ;
' TEST TO 3D
' X+ TO K_UP ' X- TO K_DOWN ' Y+ TO K_LEFT ' Y- TO K_RIGHT ' Z+ TO K_PGUP ' Z- TO K_PGDOWN
Что-то я никак скриншот не закачаю никуда, так что смотрим картинку в кварке :)
Ой, нет, закачал
[img]http://www.msyst.ru/space1.jpg[/img]
[code]0 VALUE ActiveLibrary
: FUNCTION ActiveLibrary SWAP GETPROCADDRESS VALUE ;
" opengl32.dll" LOADLIBRARY VALUE OPENGL OPENGL TO ActiveLibrary
: ? DUP 0 = IF . THEN ;
" glViewport" FUNCTION glViewPort@ : glViewPort glViewPort@ API4 DROP ; " glPointSize" FUNCTION glPointSize@ : glPointSize glPointSize@ API1 DROP ; " glColor3i" FUNCTION glColor3i@ : glColor3i glColor3i@ API3 DROP ; " glColor3ubv" FUNCTION glColor3ubv@ : glColor3ubv glColor3ubv@ API1 DROP ; " glColor4ubv" FUNCTION glColor4ubv@ : glColor4ubv glColor4ubv@ API1 DROP ; " glVertex2dv" FUNCTION glVertex2dv@ : glVertex2dv glVertex2dv@ API1 DROP ; " glVertex3dv" FUNCTION glVertex3dv@ : glVertex3dv glVertex3dv@ API1 DROP ; " glBegin" FUNCTION glBegin@ : glBegin glBegin@ API1 DROP ; " glEnd" FUNCTION glEnd@ : glEnd glEnd@ API0 DROP ; " glEnable" FUNCTION glEnable@ : glEnable glEnable@ API1 DROP ; " glDisable" FUNCTION glDisable@ : glDisable glDisable@ API1 DROP ; " glClear" FUNCTION glClear@ : glClear glClear@ API1 DROP ; " glPushMatrix" FUNCTION glPushMatrix@ : glPushMatrix glPushMatrix@ API0 DROP ; " glPopMatrix" FUNCTION glPopMatrix@ : glPopMatrix glPopMatrix@ API0 DROP ; " glFrustum" FUNCTION glFrustum@ : glFrustum 6 glFrustum@ API DROP ; " glTranslatef" FUNCTION glTranslatef@ : glTranslatef glTranslatef@ API3 DROP ; " glTexImage2D" FUNCTION glTexImage2D@ : glTexImage2D glTexImage2D@ API9 DROP ; " glTexParameteri" FUNCTION glTexParameteri@ : glTexParameteri glTexParameteri@ API3 DROP ; " glTexCoord2dv" FUNCTION glTexCoord2dv@ : glTexCoord2dv glTexCoord2dv@ API1 DROP ; " glTexEnvf" FUNCTION glTexEnvf@ : glTexEnvf glTexEnvf@ API3 DROP ;
CREATE AUX3D[] 24 ALLOT
: 3dpoint S>F 1000.0 F/ AUX3D[] 16 + F! S>F 1000.0 F/ AUX3D[] 8 + F! S>F 1000.0 F/ AUX3D[] F! AUX3D[] glVertex3dv ;
CREATE TexPoint0 0.0 F, 0.0 F, 0.0 F, CREATE TexPoint1 1.0 F, 0.0 F, 0.0 F, CREATE TexPoint2 1.0 F, 1.0 F, 0.0 F, CREATE TexPoint3 0.0 F, 1.0 F, 0.0 F,
CREATE Point0 0.0 F, 0.0 F, 0.0 F, CREATE Point1 -1.0 F, 0.0 F, 0.0 F, CREATE Point2 1.0 F, 0.0 F, 0.0 F, CREATE Point3 0.0 F, 1.0 F, 0.0 F, CREATE Point4 0.0 F, -1.0 F, 0.0 F, CREATE Point5 0.0 F, 0.0 F, 1.0 F, CREATE Point6 0.0 F, 0.0 F, -1.0 F,
CREATE Triangle1A 0.0 F, 0.0 F, -0.50 F, CREATE Triangle1B 0.0 F, 0.5 F, -0.51 F, CREATE Triangle1C 1.0 F, 0.9 F, -0.59 F,
FLOAT NX 1420.0 NX F! FLOAT NY 320.0 NY F! FLOAT NZ
: X+ NX F@ 10.0 F+ NX F! NX F@ 360.0 F> IF NX F@ 360.0 F- NX F! THEN ; : X- NX F@ 10.0 F- NX F! NY F@ 0.0 F< IF NX F@ 360.0 F+ NX F! THEN ; : Y+ NY F@ 10.0 F+ NY F! NY F@ 360.0 F> IF NY F@ 360.0 F- NY F! THEN ; : Y- NY F@ 10.0 F- NY F! NY F@ 0.0 F< IF NY F@ 360.0 F+ NY F! THEN ; : Z+ NZ F@ 10.0 F+ NZ F! NZ F@ 360.0 F> IF NZ F@ 360.0 F- NZ F! THEN ; : Z- NZ F@ 10.0 F- NZ F! NZ F@ 0.0 F< IF NZ F@ 360.0 F+ NZ F! THEN ;
FLOAT ENGINE.X 0.0 ENGINE.X F! FLOAT ENGINE.Y 0.0 ENGINE.Y F! FLOAT ENGINE.Z 0.0 ENGINE.Z F! FLOAT ENGINE.DIAMETER 0.08 ENGINE.DIAMETER F! FLOAT ENGINE.L 0.4 ENGINE.L F!
: DRAW-ENGINE 0x7FFFFFFF DUP DUP glColor3i 40 0 DO GL_QUADS glBegin I S>F 40.0 F/ 2.0 F* PI F* FCOS ENGINE.DIAMETER F@ F* ENGINE.X F@ F+ Point1 F! I S>F 40.0 F/ 2.0 F* PI F* FSIN ENGINE.DIAMETER F@ F* ENGINE.Y F@ F+ Point1 8 + F! ENGINE.L F@ -0.5 F* ENGINE.Z F@ F+ Point1 16 + F! I 1 + S>F 40.0 F/ 2.0 F* PI F* FCOS ENGINE.DIAMETER F@ F* ENGINE.X F@ F+ Point2 F! I 1 + S>F 40.0 F/ 2.0 F* PI F* FSIN ENGINE.DIAMETER F@ F* ENGINE.Y F@ F+ Point2 8 + F! ENGINE.L F@ -0.5 F* ENGINE.Z F@ F+ Point2 16 + F!
I 1 + S>F 40.0 F/ 2.0 F* PI F* FCOS ENGINE.DIAMETER F@ F* ENGINE.X F@ F+ Point3 F! I 1 + S>F 40.0 F/ 2.0 F* PI F* FSIN ENGINE.DIAMETER F@ F* ENGINE.Y F@ F+ Point3 8 + F! ENGINE.L F@ 0.5 F* ENGINE.Z F@ F+ Point3 16 + F!
I S>F 40.0 F/ 2.0 F* PI F* FCOS ENGINE.DIAMETER F@ F* ENGINE.X F@ F+ Point4 F! I S>F 40.0 F/ 2.0 F* PI F* FSIN ENGINE.DIAMETER F@ F* ENGINE.Y F@ F+ Point4 8 + F! ENGINE.L F@ 0.5 F* ENGINE.Z F@ F+ Point4 16 + F!
Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv Point4 glVertex3dv glEnd LOOP 0x7FFFFFFF 0 0 glColor3i 40 0 DO GL_TRIANGLES glBegin I S>F 40.0 F/ 2.0 F* PI F* FCOS ENGINE.DIAMETER F@ F* ENGINE.X F@ F+ Point1 F! I S>F 40.0 F/ 2.0 F* PI F* FSIN ENGINE.DIAMETER F@ F* ENGINE.Y F@ F+ Point1 8 + F! ENGINE.L F@ -0.5 F* ENGINE.Z F@ F+ Point1 16 + F!
I 1 + S>F 40.0 F/ 2.0 F* PI F* FCOS ENGINE.DIAMETER F@ F* ENGINE.X F@ F+ Point2 F! I 1 + S>F 40.0 F/ 2.0 F* PI F* FSIN ENGINE.DIAMETER F@ F* ENGINE.Y F@ F+ Point2 8 + F! ENGINE.L F@ -0.5 F* ENGINE.Z F@ F+ Point2 16 + F!
0.0 ENGINE.X F@ F+ Point3 F! 0.0 ENGINE.Y F@ F+ Point3 8 + F! ENGINE.L F@ 0.5 F* ENGINE.Z F@ F+ Point3 16 + F!
Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd LOOP ;
: DRAW-HULL 0x3FFFFFFF DUP DUP glColor3i -0.3 Point1 F! 0.1 Point1 8 + F! 0.2 Point1 16 + F! -0.2 Point2 F! 0.1 Point2 8 + F! 0.7 Point2 16 + F! 0.2 Point3 F! 0.1 Point3 8 + F! 0.7 Point3 16 + F! 0.3 Point4 F! 0.1 Point4 8 + F! 0.2 Point4 16 + F! GL_QUADS glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv Point4 glVertex3dv glEnd -0.3 Point1 F! -0.1 Point1 8 + F! 0.2 Point1 16 + F! -0.2 Point2 F! -0.1 Point2 8 + F! 0.7 Point2 16 + F! 0.2 Point3 F! -0.1 Point3 8 + F! 0.7 Point3 16 + F! 0.3 Point4 F! -0.1 Point4 8 + F! 0.2 Point4 16 + F! GL_QUADS glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv Point4 glVertex3dv glEnd
-0.3 Point1 F! -0.1 Point1 8 + F! 0.2 Point1 16 + F! -0.2 Point2 F! -0.1 Point2 8 + F! 0.7 Point2 16 + F! -0.2 Point3 F! 0.1 Point3 8 + F! 0.7 Point3 16 + F! -0.3 Point4 F! 0.1 Point4 8 + F! 0.2 Point4 16 + F! GL_QUADS glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv Point4 glVertex3dv glEnd 0.3 Point1 F! -0.1 Point1 8 + F! 0.2 Point1 16 + F! 0.2 Point2 F! -0.1 Point2 8 + F! 0.7 Point2 16 + F! 0.2 Point3 F! 0.1 Point3 8 + F! 0.7 Point3 16 + F! 0.3 Point4 F! 0.1 Point4 8 + F! 0.2 Point4 16 + F! GL_QUADS glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv Point4 glVertex3dv glEnd
0x7FFFFFFF DUP DUP glColor3i
0.0 Point1 F! 0.0 Point1 8 + F! 1.2 Point1 16 + F! 0.2 Point2 F! -0.1 Point2 8 + F! 0.7 Point2 16 + F! 0.2 Point3 F! 0.1 Point3 8 + F! 0.7 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
0.0 Point1 F! 0.0 Point1 8 + F! 1.2 Point1 16 + F! -0.2 Point2 F! -0.1 Point2 8 + F! 0.7 Point2 16 + F! -0.2 Point3 F! 0.1 Point3 8 + F! 0.7 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
0 0x3FFFFFFF DUP glColor3i
0.0 Point1 F! 0.0 Point1 8 + F! 1.2 Point1 16 + F! -0.2 Point2 F! 0.1 Point2 8 + F! 0.7 Point2 16 + F! 0.2 Point3 F! 0.1 Point3 8 + F! 0.7 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd 0x3FFFFFFF DUP DUP glColor3i
0.0 Point1 F! 0.0 Point1 8 + F! 1.2 Point1 16 + F! -0.2 Point2 F! -0.1 Point2 8 + F! 0.7 Point2 16 + F! 0.2 Point3 F! -0.1 Point3 8 + F! 0.7 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
0x7FFFFFFF DUP DUP glColor3i
-0.5 Point1 F! 0.0 Point1 8 + F! 0.3 Point1 16 + F! -0.2 Point2 F! 0.0 Point2 8 + F! 0.7 Point2 16 + F! -0.25 Point3 F! 0.0 Point3 8 + F! 0.3 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
0.5 Point1 F! 0.0 Point1 8 + F! 0.3 Point1 16 + F! 0.2 Point2 F! 0.0 Point2 8 + F! 0.7 Point2 16 + F! 0.25 Point3 F! 0.0 Point3 8 + F! 0.3 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
;
: DRAW-FIRE 0 0x7FFFFFFF DUP glColor3i
-0.21 Point1 F! -0.01 Point1 8 + F! 0.9 Point1 16 + F! -0.21 Point2 F! 0.01 Point2 8 + F! 0.9 Point2 16 + F! -0.2 Point3 F! 0.0 Point3 8 + F! 1.2 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
-0.19 Point1 F! -0.01 Point1 8 + F! 0.9 Point1 16 + F! -0.19 Point2 F! 0.01 Point2 8 + F! 0.9 Point2 16 + F! -0.2 Point3 F! 0.0 Point3 8 + F! 1.2 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
-0.21 Point1 F! 0.01 Point1 8 + F! 0.9 Point1 16 + F! -0.19 Point2 F! 0.01 Point2 8 + F! 0.9 Point2 16 + F! -0.2 Point3 F! 0.0 Point3 8 + F! 1.2 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd
-0.21 Point1 F! -0.01 Point1 8 + F! 0.9 Point1 16 + F! -0.19 Point2 F! -0.01 Point2 8 + F! 0.9 Point2 16 + F! -0.2 Point3 F! 0.0 Point3 8 + F! 1.2 Point3 16 + F!
GL_TRIANGLES glBegin Point1 glVertex3dv Point2 glVertex3dv Point3 glVertex3dv glEnd ;
: TEST 0 0 700 700 glViewPort glPushMatrix
GL_DEPTH_TEST glEnable GL_DEPTH_BUFFER_BIT glClear
GL_LIGHTING glEnable GL_LIGHT0 glEnable GL_LIGHT1 glEnable GL_COLOR_MATERIAL glEnable GL_LINE_SMOOTH glEnable
0 0x7FFFFFFF 0 glColor3i
NX F@ ROTATEANGLE SF! 1.0 glX SF! 0.0 glY SF! 0.0 glZ SF! 3DROTATE
NY F@ ROTATEANGLE SF! // -120 0.0 glX SF! 1.0 glY SF! 0.0 glZ SF! 3DROTATE
NZ F@ ROTATEANGLE SF! // 100 0.0 glX SF! 0.0 glY SF! 1.0 glZ SF! 3DROTATE
0x3FFFFFFF DUP DUP glColor3i
-0.2 ENGINE.X F! 0.0 ENGINE.Y F! 0.0 ENGINE.Z F! DRAW-ENGINE
0.0 ENGINE.X F! 0.0 ENGINE.Y F! 0.0 ENGINE.Z F! DRAW-ENGINE
0.2 ENGINE.X F! 0.0 ENGINE.Y F! 0.0 ENGINE.Z F! DRAW-ENGINE DRAW-HULL DRAW-FIRE
glPopMatrix ;
' TEST TO 3D
' X+ TO K_UP ' X- TO K_DOWN ' Y+ TO K_LEFT ' Y- TO K_RIGHT ' Z+ TO K_PGUP ' Z- TO K_PGDOWN[/code]
|
|
|
|
Добавлено: Чт май 06, 2010 16:55 |
|
|
|
|
|
Заголовок сообщения: |
Re: Конкурс: рисуем космос |
|
|
Там оно еще будет сильно глючить, потому что 300 TO TIMER_INTERVAL установило адрес переменной на 300. Так что последующая запись туда нового значения через ! полезет в системную область. Это следствие особенностей ассемблерного кода кварка для QUAN и VARIABLE - они начинаются с mov eax, NNNN, причем для QUAN это само значение и есть, а для VARIABLE - адрес.
Там оно еще будет сильно глючить, потому что 300 TO TIMER_INTERVAL установило адрес переменной на 300. Так что последующая запись туда нового значения через ! полезет в системную область. Это следствие особенностей ассемблерного кода кварка для QUAN и VARIABLE - они начинаются с mov eax, NNNN, причем для QUAN это само значение и есть, а для VARIABLE - адрес.
|
|
|
|
Добавлено: Чт май 06, 2010 16:38 |
|
|
|
|
|
Заголовок сообщения: |
Re: Конкурс: рисуем космос |
|
|
Хищник писал(а): вопрос писал(а): 300 TO TIMER_INTERVAL 300 TIMER_INTERVAL ! Я тоже постоянно путаю, как-то вот сделал таймер через VARIABLE, а просится QUAN. Но "газовые процессы" смотрятся красиво Исправил, а я то думаю, что это оно не меняется
[quote="Хищник"][quote="вопрос"]300 TO TIMER_INTERVAL [/quote] 300 TIMER_INTERVAL !
Я тоже постоянно путаю, как-то вот сделал таймер через VARIABLE, а просится QUAN.
Но "газовые процессы" смотрятся красиво :)[/quote]
Исправил, а я то думаю, что это оно не меняется
|
|
|
|
Добавлено: Чт май 06, 2010 15:56 |
|
|
|
|
|
Заголовок сообщения: |
Re: Конкурс: рисуем космос |
|
|
вопрос писал(а): 300 TO TIMER_INTERVAL 300 TIMER_INTERVAL ! Я тоже постоянно путаю, как-то вот сделал таймер через VARIABLE, а просится QUAN. Но "газовые процессы" смотрятся красиво
[quote="вопрос"]300 TO TIMER_INTERVAL [/quote] 300 TIMER_INTERVAL !
Я тоже постоянно путаю, как-то вот сделал таймер через VARIABLE, а просится QUAN.
Но "газовые процессы" смотрятся красиво :)
|
|
|
|
Добавлено: Чт май 06, 2010 09:15 |
|
|
|
|
|
Заголовок сообщения: |
Re: Конкурс: рисуем космос |
|
|
Хм, так нагляднее Код: 4 VALUE V3 40 VALUE PLANET 300 TIMER_INTERVAL ! : p 250 1 DO 250 1 DO 125 I - DUP * 125 J - DUP * + 15600 < \ сама планета IF J I J I 210 RGB \ готово пиксел \ " текстура" или "вихри" I I 3 * 2 / * J 4 * + DUP 17 MOD 7 < OVER 31 MOD V3 2 * 3 / < OR SWAP 43 MOD V3 > OR IF DROP \ 0 6579300 THEN 125 I - DUP * PLANET J - DUP * + 900 < \ satelite IF DROP 0 THEN PLANET I - DUP * 125 J - DUP * + 625 < \ other satelite IF DROP 255 255 255 RGB THEN PIXEL THEN LOOP LOOP V3 1 + DUP TO V3 40 = IF ['] NOOP TO <TIMER> THEN PLANET 4 + TO PLANET ; ' p TO <TIMER>
Хм, так нагляднее [code] 4 VALUE V3 40 VALUE PLANET 300 TIMER_INTERVAL ! : p 250 1 DO 250 1 DO 125 I - DUP * 125 J - DUP * + 15600 < \ сама планета IF J I J I 210 RGB \ готово пиксел \ " текстура" или "вихри" I I 3 * 2 / * J 4 * + DUP 17 MOD 7 < OVER 31 MOD V3 2 * 3 / < OR SWAP 43 MOD V3 > OR IF DROP \ 0 6579300 THEN 125 I - DUP * PLANET J - DUP * + 900 < \ satelite IF DROP 0 THEN PLANET I - DUP * 125 J - DUP * + 625 < \ other satelite IF DROP 255 255 255 RGB THEN PIXEL THEN LOOP LOOP V3 1 + DUP TO V3 40 = IF ['] NOOP TO <TIMER> THEN PLANET 4 + TO PLANET ; ' p TO <TIMER>[/code]
|
|
|
|
Добавлено: Ср май 05, 2010 21:07 |
|
|
|
|
|
Заголовок сообщения: |
Re: Конкурс: рисуем космос |
|
|
для кварка Код: 4 VALUE V3 40 VALUE PLANET 30 VALUE RADIUS 200 TIMER_INTERVAL ! : p 250 1 DO 250 1 DO 125 I - DUP * 125 J - DUP * + 15600 < \ сама планета IF J I J I 210 RGB \ готово пиксел \ " текстура или "вихри" I I 3 * 2 / * J 4 * + DUP 17 MOD 7 < OVER 31 MOD V3 2 * 3 / < OR SWAP 43 MOD V3 > OR 125 I - DUP * PLANET J - DUP * + 900 < \ satelite OR
IF DROP 0 THEN PLANET I - DUP * 125 J - DUP * + 625 < \ other satelite IF DROP 255 255 255 RGB THEN PIXEL THEN LOOP LOOP V3 1 + DUP TO V3 40 = IF ['] NOOP TO <TIMER> THEN PLANET 4 + TO PLANET ; ' p TO <TIMER> газовый гигант (в нём происходят какие-то там процессы), вокруг него по перпендикулярным орбитам движутся 2 спутника - один светится. другой нет, в процессе происходит полное затмение одного другим
:D :) для кварка
[code] 4 VALUE V3 40 VALUE PLANET 30 VALUE RADIUS 200 TIMER_INTERVAL ! : p 250 1 DO 250 1 DO 125 I - DUP * 125 J - DUP * + 15600 < \ сама планета IF J I J I 210 RGB \ готово пиксел \ " текстура или "вихри" I I 3 * 2 / * J 4 * + DUP 17 MOD 7 < OVER 31 MOD V3 2 * 3 / < OR SWAP 43 MOD V3 > OR 125 I - DUP * PLANET J - DUP * + 900 < \ satelite OR
IF DROP 0 THEN PLANET I - DUP * 125 J - DUP * + 625 < \ other satelite IF DROP 255 255 255 RGB THEN PIXEL THEN LOOP LOOP V3 1 + DUP TO V3 40 = IF ['] NOOP TO <TIMER> THEN PLANET 4 + TO PLANET ; ' p TO <TIMER>[/code]
газовый гигант (в нём происходят какие-то там процессы), вокруг него по перпендикулярным орбитам движутся 2 спутника - один светится. другой нет, в процессе происходит полное затмение одного другим :D
|
|
|
|
Добавлено: Ср май 05, 2010 21:00 |
|
|
|
|