こんばんわ、iron2です。
プラ子の液晶は320X243が正しいサイズです。
公表情報より大きいのはステータスメニュー
バーがあるためです。
で、もう少し手を加えた現状の最高速版です。
20秒は切れませんでしたが、オリジナルと比べると
見ててたのしいのであまり遅く感じません。
実数版の良いところは枝葉の重なりぐわいとか枝葉の
枝がくっきりわかりたのしめます。
高速化ネタはしょぼいのではずかしいかぎりですが
sentaro様のプラ子でお試しください。コピペでいける
はずです。
電卓の(-),E-3の表示が化けるので手直ししてます。
転送後、手直しが必要かもです。
よろしくお願いします。
// title : draw_shidaCG_PI_J1.ppl
// 2017-10-03 15:18:44
// Create by akatuki(sama)
// Modify by iron2
// date 2017/12/02
// main
EXPORT draw_shidaCG_PI_J1()
BEGIN
// Clean the (G0):
RECT(G0);
PRINT();
LOCAL i,cnt,r,tmp;
LOCAL x,y,xmax,xmin,ymax,ymin;
LOCAL width,height,ww,hh,ww2,hh2;
LOCAL col,col1,col2,col3,col4;
LOCAL xp,yp;
// initial ooord
x := 0;
y := 0;
width := 320;
height := 240;
// loop counte
cnt := 30000;
// working
tmp := -3000;
xmin := -3000;
xmax := 5000;
ymin := 0;
ymax := 8000;
ww := width*100000/(xmax-xmin);
hh := height*100000/(ymax-ymin);
ww2 := ww*0.00001;
hh2 := hh*0.00001;
col1 := RGB(0,0,0);
col2 := RGB(255,0,0);
col3 := RGB(0,225,0);
col4 := RGB(0,0,255);
LOCAL T1,T2;
T1 := TICKS();
FOR i FROM 1 TO cnt STEP 1 DO
r := RANDOM(999.0);
CASE
IF(r <10) THEN
tmp :=0;
y :=(160*y)*0.001;
col := col1;
END;
IF(r<70) THEN
tmp :=((200*x)-(260*y))*0.001;
y :=(((230*x)+(220*y))*0.001)+1600;
col := col2;
END;
IF(r<150) THEN
tmp :=((-150*x)+(280*y))*0.001;
y :=(((260*x)+(240*y))*0.001)+440;
col := col3;
END;
DEFAULT
tmp :=((850*x)+(40*y))*0.001;
y :=(((-40*x)+(850*y))*0.001)+1600;
col := col4;
END;
x:=tmp;
xp:=(x-xmin)*ww2;
yp:=(y-ymin)*hh2;
PIXON_P(yp,xp,col);
END;
T2 := TICKS();
TEXTOUT_P((T2-T1)*1E-3+"(SEC)",5,5,0,RGB(0,0,255));
TEXTOUT_P("draw_shidaCG1_PI_J1(color)",80,5,0,RGB(255,0,127));
TEXTOUT_P("ESC->EXIT",240,25,0,RGB(0,200,0));
// key wait loop
REPEAT UNTIL GETKEY() == 4;
FREEZE;
//WAIT();
END;