xxxxxxxxxx
94
let RoudAboutRadius = 80;
let RoudAboutGap = 120;
let angleGap=20;
let i=0;
function setup() {
createCanvas(windowWidth, windowHeight);
}
function draw()
{
let centreX = windowWidth/2;
let centreY = windowHeight/2;
angleMode(DEGREES)
frameRate(10)
background(200);
fill(0)
circle(centreX,centreY, RoudAboutRadius );
noFill();
circle(centreX,centreY , RoudAboutRadius + RoudAboutGap );
let ArcDiameter = RoudAboutRadius + 2*RoudAboutGap;
arc(centreX,centreY , ArcDiameter, ArcDiameter , 0+angleGap, 90-angleGap);
let road1X = centreX + ArcDiameter/2*cos(90-angleGap)
let road1Y = centreY + ArcDiameter/2*sin(90-angleGap);
let road1Xh = centreX + ArcDiameter/2*cos(0+angleGap)
let road1Yh = centreY + ArcDiameter/2*sin(0+angleGap);
line(road1X,road1Y,road1X,windowHeight);
line(road1Xh, road1Yh,windowWidth,road1Yh)
rectMode(CENTER)
rect( )
arc(centreX,centreY , ArcDiameter, ArcDiameter , 90+angleGap, 180-angleGap);
let Road2X = centreX + ArcDiameter/2*cos(90+angleGap)
let Road2Y = centreY + ArcDiameter/2*sin(90+angleGap)
let Road2Xh = centreX + ArcDiameter/2*cos(180-angleGap)
let Road2Yh = centreY + ArcDiameter/2*sin(180-angleGap)
line (Road2X,Road2Y ,Road2X ,windowHeight);
line (Road2Xh, Road2Yh, 0,Road2Yh)
arc(centreX,centreY , ArcDiameter, ArcDiameter , 180+angleGap, 270-angleGap);
let Road3X = centreX + ArcDiameter/2*cos(270-angleGap)
let Road3Y = centreY + ArcDiameter/2*sin(270-angleGap)
let Road3Xh = centreX + ArcDiameter/2*cos(180+angleGap)
let Road3Yh = centreY + ArcDiameter/2*sin(180+angleGap)
line (Road3X,Road3Y ,Road3X ,0);
line (Road3Xh,Road3Yh ,0,Road3Yh);
arc(centreX,centreY , ArcDiameter, ArcDiameter , 270+angleGap, 360-angleGap);
let Road4X = centreX + ArcDiameter/2*cos(270+angleGap)
let Road4Y = centreY + ArcDiameter/2*sin(270+angleGap)
let Road4Xh = centreX + ArcDiameter/2*cos( 360-angleGap)
let Road4Yh = centreY + ArcDiameter/2*sin( 360-angleGap)
line (Road4X,Road4Y ,Road4X ,0);
line (Road4Xh,Road4Yh ,windowWidth,Road4Yh);
while(i<50)
{
let sidex1=random(windowWidth) % (windowWidth* 0.1);
let sidex2=random(windowWidth) % (windowWidth* 0.1) + (windowWidth* 0.9) ;
let sidey=random(windowHeight);
let radius=0;
fill(random(255),random(255),random(255));
circle(sidex1,sidey, 10);
circle(sidex2,sidey, 10);
i++;
}
if (i>=50)
{
i=0;
}
}
function windowResized() {
resizeCanvas(windowWidth, windowHeight); // Adjust canvas when window size changes
}