Plasma effect: Difference between revisions

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