[orx-shapes] Add RectifiedContour

This commit is contained in:
Edwin Jakobs
2023-02-01 22:21:52 +01:00
parent 88e0846476
commit c3ef5053c1
3 changed files with 144 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
import org.openrndr.application
import org.openrndr.color.ColorRGBa
import org.openrndr.extra.noise.scatter
import org.openrndr.extra.shapes.hobbyCurve
import org.openrndr.extra.shapes.rectify.rectified
import kotlin.random.Random
fun main() {
application {
configure {
width = 720
height = 720
}
program {
val points = drawer.bounds.scatter(50.0, distanceToEdge = 100.0, random = Random(0))
val curve = hobbyCurve(points)
val rectified = curve.rectified()
extend {
drawer.clear(ColorRGBa.BLACK)
drawer.stroke = ColorRGBa.PINK
drawer.contour(curve)
drawer.fill = ColorRGBa.RED
drawer.circle(curve.position(seconds*0.05), 10.0)
drawer.fill = ColorRGBa.GREEN
drawer.circle(rectified.position(seconds*0.05), 10.0)
}
}
}
}

View File

@@ -0,0 +1,33 @@
import org.openrndr.application
import org.openrndr.color.ColorRGBa
import org.openrndr.extra.noise.scatter
import org.openrndr.extra.shapes.hobbyCurve
import org.openrndr.extra.shapes.rectify.rectified
import kotlin.random.Random
fun main() {
application {
configure {
width = 720
height = 720
}
program {
val points = drawer.bounds.scatter(80.0, distanceToEdge = 100.0, random = Random(0))
val curve = hobbyCurve(points, closed = true)
val rectified = curve.rectified()
extend {
drawer.clear(ColorRGBa.BLACK)
drawer.fill = null
drawer.stroke = ColorRGBa.GRAY
drawer.contour(curve)
drawer.strokeWeight = 4.0
drawer.stroke = ColorRGBa.RED
drawer.contour(curve.sub(seconds*0.1, seconds*0.1+0.01))
drawer.stroke = ColorRGBa.GREEN
drawer.contour(rectified.sub(seconds*0.1, seconds*0.1+0.01))
}
}
}
}