Demos: ensure all use fun main() = application {
- Adjust some demo window sizes. - Replace Random.double by Double.uniform - Tweak some demos so screenshots look more interesting
This commit is contained in:
@@ -118,26 +118,25 @@ Drawing FCurves is useful for debugging, but their typical use is for animation.
|
||||
The FCurve sampler allows us to query values for the given time value like this:
|
||||
|
||||
```kotlin
|
||||
fun main() {
|
||||
application {
|
||||
program {
|
||||
val xCurve = fcurve(
|
||||
"""
|
||||
M320 H0.4
|
||||
S2,0, 2,320
|
||||
S2,0, 2,320
|
||||
S2,0, 2,320
|
||||
S2,0, 2,320
|
||||
T0.6,320
|
||||
""".trimIndent()
|
||||
).sampler() // <--
|
||||
extend {
|
||||
drawer.circle(
|
||||
xCurve(seconds % 9.0),
|
||||
height * 0.5,
|
||||
20.0
|
||||
)
|
||||
}
|
||||
fun main() = application {
|
||||
program {
|
||||
val xCurve = fcurve(
|
||||
"""
|
||||
M320 H0.4
|
||||
S2,0, 2,320
|
||||
S2,0, 2,320
|
||||
S2,0, 2,320
|
||||
S2,0, 2,320
|
||||
T0.6,320
|
||||
"""
|
||||
)
|
||||
val xCurveSampler = xCurve.sampler()
|
||||
extend {
|
||||
drawer.circle(
|
||||
xCurveSampler(seconds % 9.0),
|
||||
240.0,
|
||||
20.0
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -194,6 +193,7 @@ For example `(M0 (h1 m1)[3])[2]` expands to `M0 h1 m1 h1 m1 h1 m1 M0 h1 m1 h1 m1
|
||||
|
||||
|
||||
# References
|
||||
|
||||
* https://x.com/ruby0x1/status/1258252352672247814
|
||||
* https://blender.stackexchange.com/questions/52403/what-is-the-mathematical-basis-for-f-curves/52468#52468
|
||||
* https://pomax.github.io/bezierinfo/#yforx
|
||||
@@ -210,6 +210,11 @@ For example `(M0 (h1 m1)[3])[2]` expands to `M0 h1 m1 h1 m1 h1 m1 M0 h1 m1 h1 m1
|
||||
|
||||

|
||||
|
||||
### DemoFCurve03
|
||||
[source code](src/jvmDemo/kotlin/DemoFCurve03.kt)
|
||||
|
||||

|
||||
|
||||
### DemoFCurveSheet01
|
||||
[source code](src/jvmDemo/kotlin/DemoFCurveSheet01.kt)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user