Вы задаете вопрос, как если бы эти два примера были связаны, но на самом деле вы
1) имитируете капли дождя, видимые в воздухе (следы падений; просто, но реализм очень сильно зависит от освещения)
для этого вы должны смоделировать следующие события:
for each time step:
create new drops
move existing drops vertically down
remove (or/and animate) the drops hitting the ground
, как указано в других ответах, новые капли (размер и положение) могут быть созданы с различными алгоритмами.Что касается скорости, они движутся с постоянной скоростью.наконец, чтобы показать свои следы, вам нужно взглянуть на простые проекции
2), имитирующие всплеск волн (имитация воды, и в примере показана отражающая поверхность)
Длядля этого вам нужно только знать, где падают капли и насколько они велики, остальное - распространение волн.Однако это действительно заметно только при наличии отражения, и это может быть немного сложно.
ПРИМЕЧАНИЯ. Есть много вещей, которые определяют реализм, но в основном это сводится к деталям.Например, дождь обычно виден четко только в странных условиях освещения - вблизи ламп или на контрастном фоне.В противном случае это довольно уныло.
Также детали во взаимодействии - разбрызгивание на поверхности, которые он ударяет, которые могут оставить пузыри (если достаточно близко, чтобы заметить), или создать волны.
Другой пример -если вы посмотрите на этот учебник , который не совсем реалистичен, но иллюстрирует одну точку, вы увидите, что даже если дождь больше похож на снег, он демонстрирует «плоскостность» вашего первого примера (который не имеет глубины).
Итак, все дело в деталях.
Попробуйте смоделировать то, что у вас есть, с точки зрения событий, которые вы должны смоделировать, а затем решите смоделировать каждое из них в отдельности -Например, использование фракталов для посева дождя может быть излишним, но если вы хорошо смоделируете свою работу, вы начинаете со случайного посева, а затем заменяете более точными / сложными методами.