Plasma effect: Difference between revisions
Content added Content deleted
Line 1,166: | Line 1,166: | ||
=={{header|Ring}}== |
=={{header|Ring}}== |
||
<lang ring> |
<lang ring> |
||
# Project : Plasma effect |
|||
# Date : 2018/01/09 |
|||
# Author : Gal Zsolt (~ CalmoSoft ~) |
|||
# Email : <calmosoft@gmail.com> |
|||
# Project : Plasma effect |
# Project : Plasma effect |
||
# Date : 2018/01/09 |
# Date : 2018/01/09 |
||
Line 1,181: | Line 1,176: | ||
new qapp |
new qapp |
||
⚫ | |||
{ |
|||
win1 = new qwidget() |
win1 = new qwidget() |
||
{ |
{ |
||
setwindowtitle("Plasma effect") |
setwindowtitle("Plasma effect") |
||
setgeometry(100,100,500,600) |
setgeometry(100,100,500,600) |
||
label1 = new qlabel(win1) |
label1 = new qlabel(win1) |
||
{ |
{ |
||
setgeometry(10,10,400,400) |
setgeometry(10,10,400,400) |
||
settext("") |
settext("") |
||
} |
} |
||
new qpushbutton(win1) |
new qpushbutton(win1) |
||
{ |
{ |
||
setgeometry(150,500,100,30) |
setgeometry(150,500,100,30) |
||
settext("Draw") |
settext("Draw") |
||
setclickevent("Draw()") |
setclickevent("Draw()") |
||
} |
} |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
func draw |
|||
⚫ | |||
⚫ | |||
⚫ | |||
} |
|||
⚫ | |||
Func Draw |
|||
⚫ | |||
pen = new qpen() { setcolor(color) setwidth(1) } |
|||
paint = new qpainter() |
|||
⚫ | |||
⚫ | |||
begin(p1) |
|||
setpen(pen) |
|||
w = 256 ### 256 |
|||
⚫ | |||
h = 256 ### 256 |
|||
⚫ | |||
time = 0 |
|||
⚫ | |||
for x = 0 to w -1 |
|||
for y = 0 to h -1 |
|||
time = 0 |
time = time + 0.99 |
||
value = sin(dist(x + time, y, 128, 128) / 8) + |
|||
sin(dist(x, y, 64, 64) / 8) + |
|||
for x = 0 to w -1 |
|||
sin(dist(x, y + time / 7, 192, 64) / 7) + |
|||
sin(dist(x, y, 192, 100) / 8) + 4 |
|||
c = floor(value * 32) |
|||
r = c |
|||
g = (c*2)%255 |
|||
b = 255-c |
|||
color2 = new qcolor() |
|||
color2.setrgb(r,g,b,255) |
|||
pen.setcolor(color2) |
|||
setpen(pen) |
|||
drawpoint(x,y) |
|||
next |
|||
next |
|||
endpaint() |
|||
} |
|||
label1 { setpicture(p1) show() } |
|||
return |
|||
endpaint() |
|||
⚫ | |||
label1 { setpicture(p1) show() } |
|||
return |
|||
func dist(a, b, c, d) |
func dist(a, b, c, d) |
||
d = sqrt(((a - c) * (a - c) + (b - d) * (b - d))) |
d = sqrt(((a - c) * (a - c) + (b - d) * (b - d))) |
||
return d |
return d |
||
</lang> |
</lang> |
||
Output: |
Output: |