33 lines
1.1 KiB
Kotlin
33 lines
1.1 KiB
Kotlin
package tunni
|
|
|
|
import org.openrndr.application
|
|
import org.openrndr.color.ColorRGBa
|
|
import org.openrndr.extra.shapes.tunni.tunniLine
|
|
import org.openrndr.extra.shapes.tunni.tunniPoint
|
|
import org.openrndr.extra.shapes.tunni.withTunniLine
|
|
import org.openrndr.shape.Circle
|
|
import kotlin.math.cos
|
|
|
|
fun main() {
|
|
application {
|
|
program {
|
|
extend {
|
|
drawer.clear(ColorRGBa.WHITE)
|
|
drawer.fill = ColorRGBa.BLACK
|
|
val c = Circle(drawer.bounds.center, 200.0).contour
|
|
|
|
drawer.fill = null
|
|
for (s in c.segments) {
|
|
val tp = s.tunniPoint
|
|
drawer.circle(tp, 10.0)
|
|
val sc = s.cubic
|
|
drawer.lineSegment(sc.control[0], sc.control[1])
|
|
//drawer.segment(s.withTunniPoint(tp + (mouse.position - drawer.bounds.center)/2.0))
|
|
drawer.segment(s.withTunniLine(s.tunniLine.position(0.5) + s.tunniLine.normal * cos(seconds) * 40.0))
|
|
|
|
}
|
|
drawer.contour(c)
|
|
}
|
|
}
|
|
}
|
|
} |