akima interpolation to the WeatherBox

This commit is contained in:
minjaesong
2023-09-02 22:37:07 +09:00
parent 38c91bd8ec
commit 1e98353b50
9 changed files with 125 additions and 119 deletions

View File

@@ -149,19 +149,21 @@ internal object WeatherMixer : RNGConsumer {
weatherbox.initWith(weatherDict["generic01"]!!, 7200L)
// TEST FILL WITH RANDOM VALUES
(0..4).map { takeUniformRand(0f..1f) }.let {
weatherbox.windDir.pM1 = it[0]
weatherbox.windDir.p0 = it[1]
weatherbox.windDir.p1 = it[2]
weatherbox.windDir.p2 = it[3]
weatherbox.windDir.p3 = it[4]
(0..6).map { takeUniformRand(0f..1f) }.let {
weatherbox.windDir.pM2 = it[1]
weatherbox.windDir.pM1 = it[2]
weatherbox.windDir.p0 = it[3]
weatherbox.windDir.p1 = it[4]
weatherbox.windDir.p2 = it[5]
weatherbox.windDir.p3 = it[6]
}
(0..4).map { takeUniformRand(-1f..1f) }.let {
weatherbox.windSpeed.pM1 = currentWeather.getRandomWindSpeed(it[0])
weatherbox.windSpeed.p0 = currentWeather.getRandomWindSpeed(it[1])
weatherbox.windSpeed.p1 = currentWeather.getRandomWindSpeed(it[2])
weatherbox.windSpeed.p2 = currentWeather.getRandomWindSpeed(it[3])
weatherbox.windSpeed.p3 = currentWeather.getRandomWindSpeed(it[4])
(0..6).map { takeUniformRand(-1f..1f) }.let {
weatherbox.windSpeed.pM2 = currentWeather.getRandomWindSpeed(it[1])
weatherbox.windSpeed.pM1 = currentWeather.getRandomWindSpeed(it[2])
weatherbox.windSpeed.p0 = currentWeather.getRandomWindSpeed(it[3])
weatherbox.windSpeed.p1 = currentWeather.getRandomWindSpeed(it[4])
weatherbox.windSpeed.p2 = currentWeather.getRandomWindSpeed(it[5])
weatherbox.windSpeed.p3 = currentWeather.getRandomWindSpeed(it[6])
}
}
@@ -405,8 +407,8 @@ internal object WeatherMixer : RNGConsumer {
Vector3(x, y, z)
}
-1, 3, 7 -> { // z = 0
val z = 0.1f
val posXscr = FastMath.interpolateLinear(rr, -halfCloudSize, App.scr.width + halfCloudSize)
val z = WeatherObjectCloud.worldYtoWorldZforScreenYof0(y)
val x = WeatherObjectCloud.screenXtoWorldX(posXscr, Z_LIM)
Vector3(x, y, z)
}