var socket = io.connect(":30000?sketch=390497");
var s_hue,l_hue, s_sat, l_sat, s_bri, l_bri, s_opacity, l_opacity, s_brush_size, l_brush_size, s_branch_number, l_branch_number
createCanvas(windowWidth, windowHeight);
colorMode(HSB,360,100,100,100)
s_hue = createSlider(0, 360, 50);
s_hue.position(5, windowHeight - 30)
l_hue.style("color","rgb(255,255,255)")
l_hue.position(5, windowHeight - 75)
s_sat = createSlider(0, 100, 85);
s_sat.position(125, windowHeight - 30)
l_sat = createP('saturation ')
l_sat.style("color","rgb(255,255,255)")
l_sat.position(125, windowHeight - 75)
s_bri = createSlider(0, 100, 95);
s_bri.position(245, windowHeight - 30)
l_bri = createP('brightness ')
l_bri.style("color","rgb(255,255,255)")
l_bri.position(245, windowHeight - 75)
s_opacity = createSlider(2, 100, 100);
s_opacity.position(365, windowHeight - 30)
l_opacity = createP('opacity ')
l_opacity.style("color","rgb(255,255,255)")
l_opacity.position(365, windowHeight - 75)
s_brush_size = createSlider(5, 60, 40);
s_brush_size.position(485, windowHeight - 30)
s_brush_size.size(110,AUTO)
l_brush = createP('size :')
l_brush.style("color","rgb(255,255,255)")
l_brush.position(485, windowHeight - 75)
s_branch_number = createInput(12);
s_branch_number.position(675, windowHeight - 30)
l_branch_number = createP('branch quantity (1 - 100) :')
l_branch_number.style("color","rgb(255,255,255)")
l_branch_number.position(675, windowHeight - 75)
function getData(xpos, ypos ,hue,sat,bri,op,brush_size,branch_num){
function mouseDragged() {
if( !(mouseY>windowHeight-80 && mouseX< 860 )){
var data = getData(mouseX,mouseY,s_hue.value(),s_sat.value(),s_bri.value(),s_opacity.value(),s_brush_size.value(), s_branch_number.value())
socket.emit('params',data);
socket.on('params',function(data){
function draw_params(data){
fill(data.h,data.s,data.b,data.o)
var radius = pow(pow(windowWidth/2-data.x,2) + pow(windowHeight/2-data.y,2) , 0.5)
var angle = atan2(windowHeight/2-data.y, windowWidth/2-data.x)
for (var i = 0 ; i <= TWO_PI ; i = i +PI/(data.branch/2)){
var x =windowWidth/2 + radius * cos(angle +i)
var y =windowHeight/2 + radius * sin(angle+i)
ellipse(x,y,data.siz,data.siz)
rect(0, windowHeight-80 ,860,80)
fill(s_hue.value(),s_sat.value(),s_bri.value(),s_opacity.value()+25)
ellipse(635 , windowHeight-30 ,s_brush_size.value()+5, s_brush_size.value()+5)