|
 | ̤²ò·è |
 | ²ò·è |
 | Ää»ß |
 | ºï½üÍ×ÀÁ |
|
2006/5/20(Sat) 19:22:06|NO.800
¡¡z=0 Ê¿Ì̤ˡ¢£³£Ä¥ª¥Ö¥¸¥§¥¯¥È¤òÆ©»ëÊÑ´¹¤·¤ÆÉ½¼¨¤·¤¿¤¤¤Î¤Ç¤¹¤¬
¤¦¤Þ¤¯¤¤¤¤Þ¤»¤ó¡£
¡¡¡Ö¥µ¥ó¥×¥ë¡×¡§Y¼´¤ËÂФ·¤Æ¥ª¥Ö¥¸¥§¥¯¥È¤ò²óž¤µ¤»¤ë
;------------------------------
#module
#deffunc lineto int p1,int p2
x = ginfo_cx + p1
y = ginfo_cy - p2
line ginfo_cx, ginfo_cy, x, y
pos x,y
return
#global
;------------------------------
;
;¡Ö¥Ç¥«¥ë¥ÈºÂɸ¤òÍѤ¤¤ë¡×
;¡Ê¿Þ¡Ë
;£ù £ú
;¢¬¡¿
;¨¦¢ª£ø
;------------------------------
;¥Ý¥ê¥´¥ó¥Ç¡¼¥¿ x , y , z
a.0 = 100,100,0
a.3 = 100,-100,0
a.6 = 0,-100,0
a.9 = -200,0,0
a.12 = 0,100,0
a.15 = 100,-100,-100
a.18 = 100,100,100
a.21 = -100,-100,100
a.24 = -100,100,-100
ay = 0.0
// Åê±ÆÃæ¿´
v = -300
repeat
redraw 0
color 255,255,255:boxf:color
ay + 0.01
pos 300,200
repeat length(a)/3
x = double(a(cnt*3))
y = double(a(cnt*3+1))
z = double(a(cnt*3+2))
// ¡ Æ©»ëÊÑ´¹
z1 = (z*cos(ay) - x*sin(ay)) / v + 1
x1 = (x*cos(ay) + z*sin(ay)) / z1
y1 = y / z1
//
lineto x1,y1
loop
redraw 1
await 10
loop
¡¡¡¤Î
¡¡(x1,x2) ¤ò z1 ¤Ç³ä¤é¤Ê¤±¤ì¤Ð¡¢¥ª¥Ö¥¸¥§¥¯¥È¤ÏÀµ³Î¤Ëɽ¼¨¤µ¤ì¤ë¤Î¤Ç¡¢
Æ©»ëÊÑ´¹¤Î¤ä¤êÊý¼«ÂΤËÌäÂ꤬¤¢¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£¤ª¤·¤¨¤Æ¤¯¤À¤µ¤¤¡£

| |
|
2006/5/21(Sun) 01:14:48|NO.804
¥Ç¡¼¥¿¤ÏÁ°¤«¤é¤Î°ÜưÎ̤ʤΤˡ¢·×»»¤ÏÃæ¿´¤«¤é¤Îµ÷Î¥¤Ç·×»»¤·¤Æ¤ë
A 100,100,0
B 100,-100,0
90Åٲ󞤵¤»¤¿¤é
A 0,100,100
B 0,-100,100
Ãæ¿´¤«¤é¤ÎBºÂɸ¤ÏB 0,0,200¡¡¤Ë¤Ê¤ë¤Ï¤º
¤·¤«¤·¡¢·×»»¤ÏÃæ¿´¤«¤é0,-100,100¤È¤È¤·¤Æ·×»»¤·¤Æ¤¤¤ë
¥Ç¡¼¥¿¤Ï¤½¤Î¤Þ¤Þ¤Çľ¤·¤Æ¤ß¤ë
#module
#deffunc lineto int p1,int p2
line ginfo_cx, ginfo_cy, p1, p2
pos p1,p2
return
#global
;------------------------------
;
;¡Ö¥Ç¥«¥ë¥ÈºÂɸ¤òÍѤ¤¤ë¡×
;¡Ê¿Þ¡Ë
;£ù £ú
;¢¬¡¿
;¨¦¢ª£ø
;------------------------------
;¥Ý¥ê¥´¥ó¥Ç¡¼¥¿ x , y , z
a.0 = 100,100,0
a.3 = 100,-100,0
a.6 = 0,-100,0
a.9 = -200,0,0
a.12 = 0,100,0
a.15 = 100,-100,-100
a.18 = 100,100,100
a.21 = -100,-100,100
a.24 = -100,100,-100
repeat length(a)/3-1 ;¥í¡¼¥«¥ëºÂɸ¤ËÊÑ´¹
a((cnt+1)*3)+= a(cnt*3):a((cnt+1)*3+1)+= a(cnt*3+1):a((cnt+1)*3+2)+= a(cnt*3+2)
loop
ay = 0.0
// Åê±ÆÃæ¿´
v = -300
repeat
redraw 0
color 255,255,255:boxf:color
ay + 0.01
psx=320.0:psy=240.0 ;¥é¥¤¥ó³«»Ï°ÌÃÖ
pos psx,psy
repeat length(a)/3
x = double(a(cnt*3))
y = double(a(cnt*3+1))
z = double(a(cnt*3+2))
// ¡ Æ©»ëÊÑ´¹
z1 = (z*cos(ay) - x*sin(ay)) / v + 1
x1 =psx+(x*cos(ay) + z*sin(ay)) / z1
y1 =psy-y / z1
//
lineto x1,y1
xx=ginfo_cx:yy=ginfo_cy:mes x1:mes y1:mes z1:pos xx ,yy
loop
redraw 1
await 10
loop

| |
|
2006/5/21(Sun) 01:34:45|NO.805
>repeat length(a)/3-1 ;¥í¡¼¥«¥ëºÂɸ¤ËÊÑ´¹
¤³¤ì¤Ï¡¢»ÈÍѤ¹¤ë»þ¤Ë
repeat length(a)/3
x += double(a(cnt*3))
y += double(a(cnt*3+1))
z += double(a(cnt*3+2))
¤Ç¤â¡¢¤¤¤ó¤À¤±¤É¤Í
(»È¤¦ÊÑ¿ô¤Ï¼Â¿ô·¿¤Ë½é´ü²½¤·¤È¤«¤Ê¤¤¤È¥À¥á¤À¤±¤É¡¦¡¦¡¦)
|
|
2006/5/21(Sun) 03:26:05|NO.806
·×»»¾å¤Î¶õ´ÖºÂɸ¤Èɽ¼¨¾å¤ÎÊ¿Ì̺Âɸ¤ò
¤´¤Ã¤Á¤ã¤Ë¤·¤Æ½èÍý¤·¤Æ¤¤¤ë¤Î¤Ç¤ª¤«¤·¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
½èÍý¤Îή¤ì¤Î¹Í¤¨Êý¤È¤·¤Æ¤Ï¶õ´ÖºÂɸ¤Î»»½Ð¤Èɽ¼¨ºÂɸ¤Î»»½Ð¤Ï
ÊÌ¡¹¤Ë¹Í¤¨¤ë¤Ù¤¤Ç¤¹¡£
;¥Ý¥ê¥´¥ó¥Ç¡¼¥¿ x , y , z
a.0 = 100,100,0
a.3 = 100,-100,0
a.6 = 0,-100,0
a.9 = -200,0,0
a.12 = 0,100,0
a.15 = 100,-100,-100
a.18 = 100,100,100
a.21 = -100,-100,100
a.24 = -100,100,-100
ay = 0.0
// Åê±ÆÃæ¿´
v = -300
repeat
redraw 0
color 255,255,255:boxf:color
ay + 0.01
pos 300,200
xo = 0.0
yo = 0.0
zo = 0.0
repeat length(a)/3
// ¶õ´ÖºÂɸ¤Î»»½Ð
// ²óžÁ°¤ÎºÂɸ
xo += double(a(cnt*3))
yo += double(a(cnt*3+1))
zo += double(a(cnt*3+2))
// ²óž¸å¤ÎºÂɸ
zr = (zo*cos(ay) - xo*sin(ay))
xr = (xo*cos(ay) + zo*sin(ay))
yr = yo
// ɽ¼¨ºÂɸ¤Î»»½Ð
// ¡ Æ©»ëÊÑ´¹
z1 = zr / v + 1
x1 = xr / z1
y1 = yr / z1
//
line 300+x1, 200-y1
loop
redraw 1
await 10
loop
|
|
2006/5/21(Sun) 12:10:14|NO.807
>¥Ç¡¼¥¿¤ÏÁ°¤«¤é¤Î°ÜưÎ̤ʤΤˡ¢·×»»¤ÏÃæ¿´¤«¤é¤Îµ÷Î¥¤Ç·×»»¤·¤Æ¤ë
¡Ö¤¦¡Á¤ó¡¢´Î¿´¤Ê¤³¤È¤Ë¤¤º¤¤Þ¤»¤ó¤Ç¤·¤¿¡×¥Í¥Ã¥È¤Ç»ñÎÁ¤ò¤à¤µ¤Ü¤Ã¤¿
¤Î¤¬Çϼ¯¤ß¤¿¤¤¤Ç¤¹¤è¡£
>½èÍý¤Îή¤ì¤Î¹Í¤¨Êý¤È¤·¤Æ¤Ï¶õ´ÖºÂɸ¤Î»»½Ð¤Èɽ¼¨ºÂɸ¤Î»»½Ð¤Ï
>ÊÌ¡¹¤Ë¹Í¤¨¤ë¤Ù¤¤Ç¤¹¡£
¡Ö¤Ê¤ë¤Û¤É¡Á¡×
¡¡K¤µ¤ó¡¢naznyark¤µ¤ó¡¢¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
¥°¥é¥Õ¥£¥Ã¥¯¥¹¤Î¥Ý¥¤¥ó¥È¤ò¤Ä¤«¤à¤³¤È¤¬½ÐÍè¤Þ¤·¤¿¡£¤Þ¤¿¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
|
|
2006/5/22(Mon) 22:12:16|NO.825
¡¡²ò·è¥Á¥§¥Ã¥¯¤òÆþ¤ì¤ë¤Î˺¤ì¤Æ¤¤¤Þ¤·¤¿¡£
|
|