From 99218570078e89cef1c10b31a501aca7b8bb4a54 Mon Sep 17 00:00:00 2001 From: Edwin Jakobs Date: Thu, 21 Oct 2021 21:05:17 +0200 Subject: [PATCH] Fix demos --- .../src/demo/kotlin/DemoSkeleton01.kt | 1 + .../src/demo/kotlin/DemoStraightSkeleton01.kt | 1 + .../src/demo/kotlin/GitArchiverDemo01.kt | 6 ++-- .../orx-olive/src/demo/kotlin/DemoOlive01.kt | 4 +-- .../src/demo/kotlin/DemoDelaunay01.kt | 1 - ...ssonDiskSampling02.kt => DemoScatter01.kt} | 7 +++-- .../src/commonMain/kotlin/HobbyCurve.kt | 28 ++++++++----------- .../src/demo/kotlin/DemoBasic01.kt | 4 +-- .../src/demo/kotlin/DemoColorShift01.kt | 4 +-- 9 files changed, 28 insertions(+), 28 deletions(-) rename orx-noise/src/demo/kotlin/{DemoPoissonDiskSampling02.kt => DemoScatter01.kt} (84%) diff --git a/orx-jumpflood/src/demo/kotlin/DemoSkeleton01.kt b/orx-jumpflood/src/demo/kotlin/DemoSkeleton01.kt index 8c4ed819..a87a553b 100644 --- a/orx-jumpflood/src/demo/kotlin/DemoSkeleton01.kt +++ b/orx-jumpflood/src/demo/kotlin/DemoSkeleton01.kt @@ -1,6 +1,7 @@ import org.openrndr.application import org.openrndr.color.ColorRGBa import org.openrndr.draw.ColorType +import org.openrndr.draw.createEquivalent import org.openrndr.draw.isolatedWithTarget import org.openrndr.draw.renderTarget diff --git a/orx-jumpflood/src/demo/kotlin/DemoStraightSkeleton01.kt b/orx-jumpflood/src/demo/kotlin/DemoStraightSkeleton01.kt index f813d6c4..9842bdf3 100644 --- a/orx-jumpflood/src/demo/kotlin/DemoStraightSkeleton01.kt +++ b/orx-jumpflood/src/demo/kotlin/DemoStraightSkeleton01.kt @@ -1,6 +1,7 @@ import org.openrndr.application import org.openrndr.color.ColorRGBa import org.openrndr.draw.ColorType +import org.openrndr.draw.createEquivalent import org.openrndr.draw.isolatedWithTarget import org.openrndr.draw.renderTarget diff --git a/orx-jvm/orx-git-archiver/src/demo/kotlin/GitArchiverDemo01.kt b/orx-jvm/orx-git-archiver/src/demo/kotlin/GitArchiverDemo01.kt index f9ebbc71..35d88fc9 100644 --- a/orx-jvm/orx-git-archiver/src/demo/kotlin/GitArchiverDemo01.kt +++ b/orx-jvm/orx-git-archiver/src/demo/kotlin/GitArchiverDemo01.kt @@ -1,8 +1,10 @@ -import org.openrndr.applicationSynchronous + +import org.openrndr.application import org.openrndr.extensions.Screenshots import org.openrndr.extensions.SingleScreenshot +import org.openrndr.extra.gitarchiver.GitArchiver -fun main() = applicationSynchronous { +fun main() = application { program { if (System.getProperty("takeScreenshot") == "true") { extend(SingleScreenshot()) { diff --git a/orx-jvm/orx-olive/src/demo/kotlin/DemoOlive01.kt b/orx-jvm/orx-olive/src/demo/kotlin/DemoOlive01.kt index 4bbd2423..635a5f21 100644 --- a/orx-jvm/orx-olive/src/demo/kotlin/DemoOlive01.kt +++ b/orx-jvm/orx-olive/src/demo/kotlin/DemoOlive01.kt @@ -1,11 +1,11 @@ import org.openrndr.Extension import org.openrndr.Program import org.openrndr.application -import org.openrndr.applicationSynchronous + import org.openrndr.extensions.SingleScreenshot import org.openrndr.extra.olive.Olive -fun main() = applicationSynchronous { +fun main() = application { configure { width = 768 height = 576 diff --git a/orx-jvm/orx-triangulation/src/demo/kotlin/DemoDelaunay01.kt b/orx-jvm/orx-triangulation/src/demo/kotlin/DemoDelaunay01.kt index ba49fdae..0c969266 100644 --- a/orx-jvm/orx-triangulation/src/demo/kotlin/DemoDelaunay01.kt +++ b/orx-jvm/orx-triangulation/src/demo/kotlin/DemoDelaunay01.kt @@ -5,7 +5,6 @@ import org.openrndr.extra.noise.poissonDiskSampling import org.openrndr.extra.triangulation.Delaunay import org.openrndr.math.Vector2 import org.openrndr.shape.Circle -import org.openrndr.shape.Rectangle fun main() { application { diff --git a/orx-noise/src/demo/kotlin/DemoPoissonDiskSampling02.kt b/orx-noise/src/demo/kotlin/DemoScatter01.kt similarity index 84% rename from orx-noise/src/demo/kotlin/DemoPoissonDiskSampling02.kt rename to orx-noise/src/demo/kotlin/DemoScatter01.kt index 2fdb8f57..396f2574 100644 --- a/orx-noise/src/demo/kotlin/DemoPoissonDiskSampling02.kt +++ b/orx-noise/src/demo/kotlin/DemoScatter01.kt @@ -1,18 +1,19 @@ import org.openrndr.application import org.openrndr.color.ColorRGBa -import org.openrndr.extra.noise.poissonDiskSampling import org.openrndr.math.Vector2 import org.openrndr.math.mod_ -import org.openrndr.shape.Circle + +import org.openrndr.extra.noise.scatter import org.openrndr.shape.Ellipse import kotlin.math.cos +import kotlin.random.Random fun main() { application { program { extend { val shape = Ellipse(Vector2(width/2.0, height/2.0), 200.0, 150.0 + cos(seconds)*125.0).shape - val points = shape.poissonDiskSampling(10.0) + val points = shape.scatter(20.0, random = Random(0)) drawer.clear(ColorRGBa.BLACK) drawer.stroke = null drawer.fill = ColorRGBa.PINK diff --git a/orx-shapes/src/commonMain/kotlin/HobbyCurve.kt b/orx-shapes/src/commonMain/kotlin/HobbyCurve.kt index b6f2106e..ce4f95a1 100644 --- a/orx-shapes/src/commonMain/kotlin/HobbyCurve.kt +++ b/orx-shapes/src/commonMain/kotlin/HobbyCurve.kt @@ -22,20 +22,16 @@ fun hobbyCurve(points: List, closed: Boolean = false, curl: Double = 0. val m = points.size val n = if (closed) m else m - 1 - val diffs = arrayOfNulls(n) - val distances = arrayOfNulls(n) - for (i in 0 until n){ - diffs[i] = points[(i+1) % m] - points[i] - distances[i] = diffs[i]!!.length - } + val diffs = Array(n) { points[(it+1) % m] - points[it] } + val distances = Array(n) { diffs[it].length } val gamma = arrayOfNulls(m) for (i in (if (closed) 0 else 1) until n){ val k = (i + m - 1) % m - val n1 = diffs[k]!!.normalized + val n1 = diffs[k].normalized val s = n1.y val c = n1.x - val v = rotate(diffs[i]!!, -s, c) + val v = rotate(diffs[i], -s, c) gamma[i] = atan2(v.y, v.x) } if (!closed) gamma[n] = 0.0 @@ -49,10 +45,10 @@ fun hobbyCurve(points: List, closed: Boolean = false, curl: Double = 0. val j = (i + 1) % m val k = (i + m - 1) % m - a[i] = 1 / distances[k]!! - b[i] = (2 * distances[k]!! + 2 * distances[i]!!) / (distances[k]!! * distances[i]!!) - c[i] = 1 / distances[i]!! - d[i] = -(2 * gamma[i]!! * distances[i]!! + gamma[j]!! * distances[k]!!) / (distances[k]!! * distances[i]!!) + a[i] = 1 / distances[k] + b[i] = (2 * distances[k] + 2 * distances[i]) / (distances[k] * distances[i]) + c[i] = 1 / distances[i] + d[i] = -(2 * gamma[i]!! * distances[i] + gamma[j]!! * distances[k]) / (distances[k] * distances[i]) } lateinit var alpha: Array @@ -91,10 +87,10 @@ fun hobbyCurve(points: List, closed: Boolean = false, curl: Double = 0. val c1s = mutableListOf() val c2s = mutableListOf() for (i in 0 until n){ - val v1 = rotateAngle(diffs[i]!!, alpha[i]).normalized - val v2 = rotateAngle(diffs[i]!!, -beta[i]!!).normalized - c1s.add(points[i % m] + v1 * rho(alpha[i], beta[i]!!) * distances[i]!! / 3.0) - c2s.add(points[(i+1) % m] - v2 * rho(beta[i]!!, alpha[i]) * distances[i]!! / 3.0) + val v1 = rotateAngle(diffs[i], alpha[i]).normalized + val v2 = rotateAngle(diffs[i], -beta[i]!!).normalized + c1s.add(points[i % m] + v1 * rho(alpha[i], beta[i]!!) * distances[i] / 3.0) + c2s.add(points[(i+1) % m] - v2 * rho(beta[i]!!, alpha[i]) * distances[i] / 3.0) } return ShapeContour(List(n) { Segment(points[it], c1s[it], c2s[it], points[(it+1)%m]) }, closed=closed) diff --git a/orx-temporal-blur/src/demo/kotlin/DemoBasic01.kt b/orx-temporal-blur/src/demo/kotlin/DemoBasic01.kt index 649eb34e..cfd1f70c 100644 --- a/orx-temporal-blur/src/demo/kotlin/DemoBasic01.kt +++ b/orx-temporal-blur/src/demo/kotlin/DemoBasic01.kt @@ -1,9 +1,9 @@ -import org.openrndr.applicationSynchronous +import org.openrndr.application import org.openrndr.extensions.SingleScreenshot import org.openrndr.extra.temporalblur.TemporalBlur import org.openrndr.math.Polar -fun main() = applicationSynchronous { +fun main() = application { program { if (System.getProperty("takeScreenshot") == "true") { extend(SingleScreenshot()) { diff --git a/orx-temporal-blur/src/demo/kotlin/DemoColorShift01.kt b/orx-temporal-blur/src/demo/kotlin/DemoColorShift01.kt index 919af561..a6460836 100644 --- a/orx-temporal-blur/src/demo/kotlin/DemoColorShift01.kt +++ b/orx-temporal-blur/src/demo/kotlin/DemoColorShift01.kt @@ -1,4 +1,4 @@ -import org.openrndr.applicationSynchronous +import org.openrndr.application import org.openrndr.color.ColorRGBa import org.openrndr.draw.tint import org.openrndr.extensions.SingleScreenshot @@ -6,7 +6,7 @@ import org.openrndr.extra.temporalblur.TemporalBlur import org.openrndr.math.Polar import kotlin.math.cos -fun main() = applicationSynchronous { +fun main() = application { program { if (System.getProperty("takeScreenshot") == "true") { extend(SingleScreenshot()) {