Created
November 12, 2011 11:04
-
-
Save iTarum/1360389 to your computer and use it in GitHub Desktop.
Here the rings without size optimize
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SCHRIT_RADIUS = 1 | |
START_X = WIDTH/2 | |
START_Y = HEIGHT/2 | |
KVGR = 20 | |
KKGR = 20 | |
EKGR = 25 | |
AnzV = 40 | |
AnzK = 50 | |
AnzE = 50 | |
MIN_V_RADIUS = 100 | |
MAX_V_RADIUS = 200 | |
MIN_K_RADIUS = 50 | |
MAX_K_RADIUS = 100 | |
MIN_E_RADIUS = 25 | |
MAX_E_RADIUS = 50 | |
VATER_RAD_V = false | |
KIND_RAD_V = false | |
ENKEL_RAD_V = false | |
VATER_PULSIERUNGS_GR = 20 | |
KIND_PULSIERUNGS_GR = 2 | |
EPGR = 2 | |
VATER_DREH = 0.0125 | |
KIND_DREH = -0.025 | |
ENKEL_DREH = 0.05 | |
rV=1 | |
rK =3 | |
rE =5 | |
WeiterVNach =1 | |
WeiterKNach =2 | |
WeiterENach =0 | |
Dreh_Vater =0 | |
Dreh_Kind =0 | |
Dreh_Enkel =2 | |
sinX =0 | |
sinY =0 | |
SKx={} | |
SKy={} | |
dk=200 | |
-- Use this function to perform your initial setup | |
function setup() | |
iparameter("KVGR",10,1000) | |
iparameter("AnzV",1,20) | |
iparameter("AnzK",1,20) | |
iparameter("AnzE",1,20) | |
iparameter("dk",0,500) | |
iparameter("VATER_PULSIERUNGS_GR",0,200) | |
watch("KI") | |
vStart() | |
end | |
AnzV = 30 | |
AnzK = 30 | |
AnzE = 0 | |
-- This function gets called once every frame | |
function draw() | |
--vStart() | |
KKGR = KVGR /2 | |
EKGR = KKGR /2 | |
KIND_PULSIERUNGS_GR = VATER_PULSIERUNGS_GR/3 | |
EPGR = KIND_PULSIERUNGS_GR/3 | |
noSmooth() | |
if dk>0 then | |
fill(0, 0, 0, dk) | |
rect(0,0,WIDTH,HEIGHT) | |
noStroke() | |
end | |
tmrTimer_Timer() | |
end | |
function tmrTimer_Timer() | |
i=0 | |
ii=0 | |
--fill(255,0,0) | |
stroke(11, 241, 170, 255) | |
if rV < MIN_V_RADIUS then WeiterVNach = 1 end | |
if rV > MAX_V_RADIUS then WeiterVNach = -1 end | |
if VATER_RAD_V then | |
rV = rV + (WeiterVNach * SCHRIT_RADIUS) | |
end | |
Dreh_Vater = Dreh_Vater + VATER_DREH | |
for i = 1 ,AnzV do | |
SKx[i]= sinX-30+(rV*math.sin(Dreh_Vater+(math.pi*i/AnzV*2))) | |
SKy[i]= sinY-30+(rV*math.cos(Dreh_Vater+(math.pi*i/AnzV*2))) | |
ellipse(SKx[i],SKy[i],30,30) | |
end | |
if rK < MIN_K_RADIUS then WeiterKNach = 1 end | |
if rK > MAX_K_RADIUS then WeiterKNach = -1 end | |
if KIND_RAD_V then | |
rK = rK + (WeiterKNach * SCHRIT_RADIUS) | |
end | |
Dreh_Kind = Dreh_Kind + KIND_DREH | |
for ii = 1 ,AnzV do | |
TimerWeiter(ii) | |
end | |
if rE < MIN_E_RADIUS then WeiterENach = 1 end | |
if rE > MAX_E_RADIUS then WeiterENach = -1 end | |
if ENKEL_RAD_V then | |
rE = rE + (WeiterENach * SCHRIT_RADIUS) | |
end | |
Dreh_Enkel = Dreh_Enkel + ENKEL_DREH | |
if AnzE>0 then | |
for KI = (AnzV + 1 ), (AnzV * (AnzK + AnzV)) do | |
TimerNochWeiter(KI) | |
end | |
end | |
end | |
function TimerWeiter(VaterI) | |
kI =0 | |
i =0 | |
--fill(19, 255, 0, 255) | |
stroke(174, 255, 0, 255) | |
for i = 1 , AnzK do | |
kI = AnzV + ((VaterI - 1) * AnzK) + i | |
SKx[kI]=SKx[VaterI]+15+(rK*math.sin(Dreh_Kind+(math.pi*i/AnzK*2))) - 10 | |
SKy[kI]=SKy[VaterI]+15+(rK*math.cos(Dreh_Kind+(math.pi*i/AnzK*2))) - 10 | |
ellipse(SKx[kI],SKy[kI],20,20) | |
end | |
end | |
function TimerNochWeiter(KI) | |
ENr=0 | |
i=0 | |
watch("KI") | |
-- fill(217, 255, 0, 255) | |
stroke(96, 0, 255, 255) | |
for i = 1, AnzE do | |
ENr = AnzV + (AnzV * AnzK) + ((KI - 1) * AnzE) + i | |
SKx[ENr]=SKx[KI]+10+(rE*math.sin(Dreh_Enkel+(math.pi*i/AnzE*2)))-5 | |
SKy[ENr]=SKy[KI]+10+(rE*math.cos(Dreh_Enkel+(math.pi*i/AnzE*2)))-5 | |
ellipse(SKx[ENr],SKy[ENr],10,10) | |
end | |
end | |
function vStart() | |
ii=0 | |
sinX = START_X | |
sinY = START_Y | |
rV = MIN_V_RADIUS | |
WeiterVNach = 1 | |
for ii = 1 , AnzV do | |
--Load shpKreis(i) | |
SKx[ii] = sinX - 15 + (MIN_V_RADIUS * math.sin(math.pi * ii / AnzV * 2)) | |
SKy[ii] = sinY - 15 + (MIN_V_RADIUS * math.cos(math.pi * ii / AnzV * 2)) | |
end | |
if AnzK > 0 then | |
for ii = 1 , AnzV do | |
StartWeiter(ii) | |
end | |
if AnzE > 0 then | |
for ii = (AnzV + 1) , ((AnzV * AnzK) + AnzV) do | |
StartNochWeiter(ii) | |
end | |
end | |
end | |
end | |
function StartWeiter(VaterI) | |
kI=0 | |
i=0 | |
rK = MIN_K_RADIUS | |
WeiterKNach = 1 | |
for i = 1 , AnzK do | |
kI = AnzV + ((VaterI - 1) * AnzK) + i | |
--Load shpKreis(kI) | |
SKx[kI]=SKx[VaterI]+15 + (MIN_K_RADIUS * math.sin(math.pi * i / AnzK * 2)) | |
SKy[kI]=SKy[VaterI]+15 + (MIN_K_RADIUS * math.cos(math.pi * i / AnzK * 2)) | |
end | |
end | |
function StartNochWeiter(KindI) | |
ENr=0 | |
i=0 | |
rE = MIN_E_RADIUS | |
WeiterENach = 1 | |
for i = 1 , AnzE +3 do | |
ENr = AnzV + (AnzV * AnzK) + ((KindI - 1) * AnzE) + i | |
--Load shpKreis(EnkelNr) | |
SKx[ENr] = SKx[KindI]+10+(MIN_E_RADIUS*math.sin(math.pi*i/AnzE* 2)) | |
SKy[ENr] = SKy[KindI]+10+(MIN_E_RADIUS*math.cos(math.pi*i/AnzE* 2)) | |
end | |
end | |
function touched(touch) | |
vStart() | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment