LINUX.ORG.RU

На чем писать GUI для a-la карты звездного неба?

 


0

3

Здравствуйте!

На чем проще всего написать GUI-программу для чего-то типа карты звездного неба (пример)? Нужно маленькое поле зрения, подписывать яркие звезды, своя сетка и это все на ходу вращать. Просто рассчитать положение звезд для определенного направления и сделать статическую картинку - это просто (но это я делаю на арифмометре и/или кофемолке). Вопрос как сделать интерактивное GUI чтобы мышкой шустро его вращать?

Из приоритетов у меня а) простота реализации; б) мультиплатформенное; в) должно шевелиться относительно шустро (баш и сторонний просмотрщик не подойдут). Виджеты страшные как война не пугают. Видимо python или tkl (если такое умеет) или Qt. Андроид или поддержка до конца века не предполагается.

Последний раз писал GUI во времена Delphi :(

Мнения и советы? Спасибо.

Ответ на: комментарий от hobbit

Хороший вопрос. Для меня он звучит примерно как «в чем разница между DE200 и DE440 эфемеридами от JPL?» Я понятия не имею, сейчас буду смотреть. Спасибо.

sshestov ★★
() автор топика

GLFW и попенгл в непосредственном режиме. Пойдёт везде. Преобразования для отрисовки делать ненужно. Виджеты придётся наколхозить, да, но тебе же не формы бухгалтерские заполнять а игровой интерфейс делать, с относительными размерами

DumLemming ★★★
()

Современный компьютер может такое рисовать без особой оптимизации. Можно использовать любой фреймворк, который позволяет рисовать произвольные примитивы.

m0xf
()

Последний раз писал GUI во времена Delphi

а на чём сейчас пишешь ?

так-то и на pascal (fpc, lazarus) можно делать. C платформами, GUI и графиками у него всё нормально.

MKuznetsov ★★★★★
()

Для вдохновения есть marble на куте)

А уж сделать из «земли» «небо», должно быть, не оч сложно.

Быстрый гуглинг показал ещё какие-то kstars.

Ну, и эцсамое… https://github.com/Stellarium/stellarium

Ты либо не подготовился перед вопросом, либо отчаянно хочешь свой велосипед…

aol ★★★★★
()
Последнее исправление: aol (всего исправлений: 2)
Ответ на: комментарий от hobbit

QGraphicsView двумерный, QOpenGLWidget слишком низкоуровневый и прибит гвоздями к OpenGL. К обоим добавление гуи посреди сцены будет выглядеть уродско. Qt Quick же подойдёт идеально.

unC0Rr ★★★★★
()
Последнее исправление: unC0Rr (всего исправлений: 2)
Ответ на: комментарий от zurg

Всем спасибо, все слова для меня были новые, буду разбираться.

MKuznetsov спрашивал на чем сейчас пишу: основной язык это IDL (image processing, около-инженерные расчеты), немного phyton и, будете смеяться, для нужд HPC использую фортран. Первый и третий врядли буду для GUI рассматривать.

sshestov ★★
() автор топика
Ответ на: комментарий от sshestov

основной язык это IDL (image processing, около-инженерные расчеты), немного phyton и, будете смеяться, для нужд HPC использую фортран

тогда python + tkinter. Или совсем классика около-научных GUI: tcl

подобное вроде как нужно : https://wiki.tcl-lang.org/page/TclStars

или там-же по ссылкам (старое-старое) https://starchart.sourceforge.net/

первое можно непосредственно в tkinter запрячь и рулить из питона. Со вторым чуть повозится, потому-что старое

MKuznetsov ★★★★★
()

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

anonymous
()
Ответ на: комментарий от rtxtxtrx

Только вопрос «с какой целью». Мне селестия не нужна, равно как и перепрлевывать её. Моё ПО должно быть нужно 3.5 человекам.

MKuznetsov: видимо я погорячился насчет «страшные - не пугают». Такое как tcl я и на IDL написать смогу (там всё еще Motif). Возможно очень даже вариант.

sshestov ★★
() автор топика
Ответ на: комментарий от sshestov

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

rtxtxtrx ★★
()
Ответ на: комментарий от sshestov

видимо я погорячился насчет «страшные - не пугают». Такое как tcl я и на IDL написать смогу (там всё еще Motif). Возможно очень даже вариант.

вам шашечки или ехать ?

по большому счёту чем рисовать контролы (кнопки лейблы) по барабану. Тебе нужен виджет рисующий звёзды в картинку. Желательно непосредственно из ваших астрономических нотаций.

Оба примера (на tcl и С) делают именно это..

PS/ и кстати на Motif ты не сделаешь как на Tcl :-)

MKuznetsov ★★★★★
()

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

AntonI ★★★★★
()

Из приоритетов у меня а) простота реализации; б) мультиплатформенное; в) должно шевелиться относительно шустро (баш и сторонний просмотрщик не подойдут). Виджеты страшные как война не пугают. Видимо python или tkl (если такое умеет) или Qt. Андроид или поддержка до конца века не предполагается.

Если приложение на C++ или Python, то смотреть в сторону Qt - вот детали - виджеты или QML нужно для себя определить (mobile vs desktop)

Последний раз писал GUI во времена Delphi :(

И в чем проблема? К примеру известный Cartes du Ciel/ SkyChart написан на freepascal/lazarus - вполне себе кросс-платформенная штука.

alex-w ★★★★★
()
Ответ на: комментарий от aol

Ты либо не подготовился перед вопросом, либо отчаянно хочешь свой велосипед…

Велосипеды не всегда плохо, иногда это нормально, а зачастую и очень хорошо - к примеру Astrarium появился как попытка сделать свой велосипед (т.е. попробовать свои силы) и он сейчас является довольно хорошим планетарием под Windows.

alex-w ★★★★★
()
Ответ на: комментарий от dataman

Ну собственно говоря гуй может быть в виде отдельного модуля программы и таких модулей может быть не один. Т.е. тут больше архитектурных заморочек проекта - это и хорошо, и плохо (упирается в размер той части сообщества, которое занимается кодом).

alex-w ★★★★★
()
Ответ на: комментарий от sshestov

видимо я погорячился насчет «страшные - не пугают». Такое как tcl я и на IDL написать смогу (там всё еще Motif). Возможно очень даже вариант.

Так может xephem уже все нужное умеет (один из самых старых планетариев в мире UNIX и он до сих пор развивается)?

alex-w ★★★★★
()
Ответ на: комментарий от dataman

Формально говоря всяких библиотек/фреймворков для построения гуя очень много и у всех есть свои тараканы. И тут либо человек хочет попробовать что-то новое и берет соответствующий инструментарий на пробу, или же нужно сделать гуй быстро для совершенно другой задачи/проекта и тут имеет смысл плясать от проекта, т.к. именно он будет налагать стартовые ограничения для гуя.

alex-w ★★★★★
()
Ответ на: комментарий от alex-w

Кстати! Для Celestia и четыре планеты я собирался сделать по два скриншота – Земля и Луна в Celestia и Stellarium, для сравнения.
С Celestia всё просто, там управление удобное, а в Stellarium так и не смог получить вид Земли. Есть советы?

dataman ★★★★★
()