Code Sketch
BHAVESH ART
Category: Art
// --- Kojo Vector Art: Lord Vishnu's Sudarshan Chakra (360� Rotating Animation) ---
cleari()
setBackground(Color(5, 2, 12)) // ????? ??????? ??????????
// ?. ??????? ????????? ????????? ?????? ??? (Cosmic Energy Core)
def drawCoreAura(): Unit = {
// ??????? ??????-???? ???
val outerAura = Picture.circle(130)
outerAura.setFillColor(Color(70, 0, 200, 35))
outerAura.setPenColor(noColor)
outerAura.setPosition(0, 0)
draw(outerAura)
// ???? ?????? ??????? ???
val midAura = Picture.circle(85)
midAura.setFillColor(Color(0, 180, 255, 60))
midAura.setPenColor(noColor)
midAura.setPosition(0, 0)
draw(midAura)
// ????????? ??????? ???? (Center Cosmic Hub)
val innerCore = Picture.circle(35)
innerCore.setFillColor(Color(255, 230, 150)) // ?????? ???
innerCore.setPenColor(Color(255, 255, 255))
innerCore.setPenThickness(2)
innerCore.setPosition(0, 0)
draw(innerCore)
}
// ?. ??????? ????????? ?????? ????? (Golden Rings & Sacred Geometry)
def drawSudarshanRings(): Unit = {
// ????? ?????? ???? ?
val ring1 = Picture.circle(70)
ring1.setFillColor(noColor)
ring1.setPenColor(Color(255, 215, 0)) // ?????
ring1.setPenThickness(3)
ring1.setPosition(0, 0)
draw(ring1)
// ??????? ???????? ???? ?
val ring2 = Picture.circle(95)
ring2.setFillColor(noColor)
ring2.setPenColor(Color(255, 140, 0)) // ?????-?????
ring2.setPenThickness(2)
ring2.setPosition(0, 0)
draw(ring2)
}
// ?. ??? ??????? ?????? ??? ??? ??????? (Sharp Golden Blades & Rays Rotating 360�)
def drawChakraBlades(rotationAngle: Double): Unit = {
val totalBlades = 36 // ????? ??????? ???? (Blades)
val radiusInner = 70.0
val radiusOuter = 115.0
for (i <- 0 until totalBlades) {
// ??? ??? ???? ????????????
val angle = Math.toRadians((i * (360.0 / totalBlades)) + rotationAngle)
val nextAngle = Math.toRadians(((i + 0.5) * (360.0 / totalBlades)) + rotationAngle)
// ?. ????? ??????? ?????? ???? (Sharp Blades)
val blade = Picture.fromVertexShape { p =>
p.beginShape()
p.vertex(radiusInner * Math.cos(angle), radiusInner * Math.sin(angle))
p.vertex(radiusOuter * Math.cos(nextAngle), radiusOuter * Math.sin(nextAngle))
p.vertex((radiusInner + 10) * Math.cos(angle + 0.2), (radiusInner + 10) * Math.sin(angle + 0.2))
p.endShape()
}
blade.setFillColor(Color(255, 215, 0, 220)) // ?????? ??????
blade.setPenColor(Color(255, 100, 0))
blade.setPenThickness(1)
draw(blade)
// ?. ????????? ????? ???????? ????? ????????? (Fire & Lightning Rays)
val rayX = (radiusOuter + 25) * Math.cos(nextAngle)
val rayY = (radiusOuter + 25) * Math.sin(nextAngle)
val ray = Picture.line(rayX - (radiusOuter * Math.cos(nextAngle)), rayY - (radiusOuter * Math.sin(nextAngle)))
ray.setPenColor(Color(255, 255, 200, 180))
ray.setPenThickness(1)
ray.setPosition(radiusOuter * Math.cos(nextAngle), radiusOuter * Math.sin(nextAngle))
draw(ray)
}
}
// ?. ????? ???? (Title Text)
def drawText(): Unit = {
val title = Picture.text("NAMO NARAYANAYA", 20)
title.setPenColor(Color(255, 215, 0))
title.setPosition(-105, 150)
draw(title)
val subtitle = Picture.text("360� ROTATING SUDARSHAN CHAKRA", 11)
subtitle.setPenColor(Color(0, 210, 255))
subtitle.setPosition(-110, 125)
draw(subtitle)
}
// ?. ???� ??????? ????????? ??? (360 Degree Continuous Rotation Engine)
animateWithState(0.0) { angle =>
erasePictures() // ????? ???????
drawCoreAura() // ?. ??????? ???
drawSudarshanRings() // ?. ?????? ?????
drawChakraBlades(angle) // ?. ???� ??????? ??????? ?????? ????
drawText() // ?. ????? ??? ?????
(angle + 4.0) % 360.0 // ??? ??? ????? ???? ??????
}