- Adjust some demo window sizes. - Replace Random.double by Double.uniform - Tweak some demos so screenshots look more interesting
32 lines
1.0 KiB
Kotlin
32 lines
1.0 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)
|
|
}
|
|
}
|
|
}
|