Как можно реализовать такую 3Д анимацию?

Три сферы должны взаимодействовать друг с другом. Если мышь перемещается по сферам, они отскакивают, а если они касаются друг друга, они приобретают цвет другого элемента.

Как можно реализовать такую анимацию? Может есть готовые решения для таких анимаций? Если у вас есть подобный пример буду очень признательна!
  • Вопрос задан
  • 467 просмотров
Решения вопроса 1
RAX7
@RAX7

Держи, сделал небольшой набросок.
а если они касаются друг друга, они приобретают цвет другого элемента

Эту часть уже лень делать. Хотя это не сложно, нужно только добавить еще две таких же кляксы и посчитать расстояние между их центрами, что бы понять пересекаются ли они и нужно ли у них менять цвет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Это, скорее, плоские фигуры. Массивы точек, расположение и искажение которых задаётся мат. формулами.
Тут нет загораживания одной «сферой» другой: все точки видны, просто поверх друг друга рисуются. Нет «обратной стороны» Луны.

Начните с поиска подходящей визуализации одной «сферы».

В недеформированном виде, это, наверное, просто круг, заполненный точками «по мелким клеточкам».
Точки, расстояние которых до центра не превышает порог R.

Искажение такое плавное можно получить, используя шум Перлина. Он даст плавные псевдослучайные неповторяющиеся «волны». Для каждой точки сетки считать значение двумерного шума и сдвигать точку на эти значения (x, y). Получатся волны на тряпочке )
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы