Backend + Frontend для создания солнечной системы?
Цель:
Создать "солнечную систему" в пространстве с помощью C++ (т.е. вычислить всё необходимое), затем передать клиенту уже готовые расчёты для построения "системы" .
Зачем?
Надумал такой ход, дабы юзеру не пришлось вычислять всё на устройстве, особенно на мобильных устройствах.
Вопрос:
Возможно ли? И как?
Знания:
Javscirpt(es6), html5, css3(всякие прибомбасы, типа препроцессоров и фреймов), и начальные знания nodeJs, сейчас перешёл на C++ по срочной надобности.
Не знаю, что вы хотите услышать. Ну допустим так. Например.
1. Пишем на C++ математическую модель, которая будет выполнять все расчёты, держать объекты, просчитывать движение тел. С помощью него же запихуваем всю эту инфу в JSON.
2. Судя по всему нужно чтобы система постоянно в любой момент времени могла отдать информацию. Поэтому она либо пишется в файлы, например в каждый момент времени (с разницей в секунду допустим) создаётся JSON файл на сервере с переписью всех объектов. Либо отдельным потоком запускается сервер, который по обращению HTTP выдаёт JSON.
3. Получив JSON на стороне браузера (не знаю, как вы будете это делать, может специальный сайт или сервис) парсим его и рисуем объекты в канвасе.
Во, ништяк. Так значит это возможно.
Вопрос состоял для меня из того, надо ли мне изучать углублённо C++ для дальнейшего или же можно обойтись одним nodeJs?? Ведь на сколько я знаю он в вычислениях не силён.
Umid: да возможно то всё. только это всё та ещё головная боль, особенно если учитывать что канвас, прямо говоря не самый быстродейственный способ для рисования.
на счёт nodejs не могу ничего сказать, но C++ в плане быстродействия и расчётов рвёт всех. а в такой задаче достаточно много вычислений.
Максим Черепанцев: если мы не хотим в результате получить статическую картинку, бэкенд и фронтенд должны общатся. Или что мы отправим с сервера так, что бы за один раз все окупить? Число PI? Возведение в степень?
Dark Hole: вы говорили что-то про сокеты, а теперь уже задаёте вопрос что будем отправлять. отправлять (самое оптимальное в данном случае) будет нужно местоположения объектов
Максим Черепанцев: это вопрос к тому, что мы будем отправлять. Если единичный запрос - то ок, XNR сойдет. Если нет - сокеты.
А местоположение объектов - это очень важная и сложновычисляемая инфа, да?
Очень плохая идея - экономить на фронтенде и переносить все на бэкенд. Скорость интернета не позволит вам по существу сэкономить, а то и уйдет в минус.
Что касается 3D в браузерах... то для этой цели есть THREE.js
Umid: один JSON файл? Не проще ли просто статическую картинку? Нет, дорогой, если вы хотите просчитывать динамическую картинку, то бэкенд должен общатся с фронтендом. Иначе будет то же, что и статическая картинка.
Мне кажется, вы просто не понимаете, что мы будем просчитывать на сервере, иначе бы не говорили таких вещей.
Umid: ну прямо скажем не один и запросы к этому файлу (или файлам) нужно будет отправлять постоянно и чем чаще тем будет более "правильно" отрисовываться картинка
Umid: гениально! Я сразу же сказал, что ничего путного не выйдет. А то поводили нас за нос, потратили наше время и, главное, ответом не сделали. Зря потратил время :(