[orx-shapes] Add Tunni point/line operations
This commit is contained in:
36
orx-shapes/src/jvmDemo/kotlin/tunni/DemoTunniPoint01.kt
Normal file
36
orx-shapes/src/jvmDemo/kotlin/tunni/DemoTunniPoint01.kt
Normal file
@@ -0,0 +1,36 @@
|
||||
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
|
||||
println(tp)
|
||||
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)
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user