IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> Программирование графических приложений, В чем ? Как ? С чего начать ?
givigudze1
сообщение 26.2.2017, 16:18
Сообщение #1


гиви
*******

Группа: Форумчанин
Сообщений: 2503
Регистрация: 26.2.2011
Вставить ник
Цитата
Пользователь №: 1008153
Страна:
Пол:



Есть задача открывать графические файлы. Сам протокол вроде не сложный, некие описания можно найти. Но самое главное есть приложения которые создают эти файлы и приложения, которые могут читать - методом проб и ошибок думаю можно научится читать. Примитивов не много - линии и дуги и фигуры из линий и дуг.

В Windows есть несколько мощных программ для этого , но в них неудобная навигация. Все в этих программах работает четко, это очень качественные продукты.
В Windows есть программа с хорошей навигацией, но эта программа старая и потому не все файлы открывает, и есть артефакты при навигации.
Навигация - перемещение и масштабирование.

Если бы эти программы были бы написаны на движке AutoCAD было бы удобно и быстро, хотя артефакты может были бы. Хотя функция R - перерисовки одна из самых используемых в такого рода программах, даже самых крутых и навороченных с параметризацией и мощными языками программирования.

В Linux есть бесплатные просмотровщики, но требуется редактор. Linux очень странный, он почему то может читать редкие файлы, которые делает редкая программа в Windows.


В свое время учился программировать в Delphi - рисовал дуги линии , точки - очень медленно рисует. Потом освоил 2D в DirectX , но там загружаешь картинки, а задача постоянно менять картинку - массштабировать, двигать область просмотра по экрану. Но даже Direct-X кажется медленоватым по сравнению с тем как работает AutoCAD, ну после того как загрузился. В принципе китайцы повторили AutoCAD , они сделали продукт ZWCAD - быстро и четко работает. Можно посмотреть как работает FreeHand - тоже очень быстро , была еще программа HaraX. CorelDraw к примеру работает значительно медленнее.


Вопрос . В какой среде лучше попытаться писать программу для открытия файлов, вывода графики на экран, редактировании этой графики ?

В Linux почитал о программировании графики - там вообще все глухо, вроде должно быть все просто и много написано . Попробовал SVGALIB - поставил, первую выпавшую ошибку решил , а потом выдала MOUSE NOT INITALIZED - и все на этот раз готовых толковых ответов не нашел. Да и вообще что за свободное быстро распространяемое ПО если нужно кучу настроек. Вообще понятно почему под Linux мало игр, потому что никто толком не объясняет как писать программы работающие с графикой. Вот SONY когда свою плойку выпустила выдала разработчикам килограммовые книжки с дотошными описаниями как писать программы под плойку - результат куча годных игр.

Вообще складывается ощущение, что нужно знать какие-то более быстрые методы доступа к видеокарте. Необходимо знать какие-то методы работы с изображениями.

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


--------------------
Для кого-то мир – игра в сильного и слабого.
Для кого-то мир – она, и большего не надо.
И пусть он не заметен взгляду постороннему.
И каждый пусть найдёт для себя мир его достойный.
...
Go to the top of the page
 
+Quote Post
Dreamdemon
сообщение 1.3.2017, 13:41
Сообщение #2


Избранный
Иконка группы

Группа: Администратор
Сообщений: 3739
Регистрация: 12.11.2004
Вставить ник
Цитата
Из: Москва
Пользователь №: 2
Страна:
Пол:



Я думаю, что скорость работы с графикой напрямую зависит от формата. В форматах конкурируют друг с другом два тормозящих барьера: если формат сжатый, нужно время для его распаковки, а если формат не сжатый, повышается нагрузка на небыстрый жесткий диск. Безусловно, алгоритмы могут быть в разных библиотеках разные - где-то более эффективные, а где-то - менее. Но тормознутость, как мне кажется, больше обусловлена не самими алгоритмами работы с графикой, а средой, в которой эти алгоритмы компилируются и выполняются. Если ты новичок в программировании, то, по большому счёту, ты пытаешься миновать основы программирования и перейти сразу к работе с готовыми библиотеками. Потому что иначе новичок просто не может осваивать работу с графикой. Если ты используешь такие готовые среды, как Flash, Autocad, CorelDraw и т.д., то это настолько красиво упакованные продукты, что программирование там очень поверхностное. И, что самое плохое, если научишься писать код в одной такой среде, то переучиваться на другую может быть совсем дискомфортно, потому что в другой система кодирования может быть совсем иная. Поэтому на мой взгляд, если есть цель именно изучать программирование (а не просто конкретную графическую задачку решить), то лучше опуститься хотя бы до языков высокого уровня вроде Delphi и C++ и работать с их библиотеками.

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

Но всё-таки я тебе советую взять несколько языков программирования типа C++ и смотреть, какие там написаны готовые библиотеки для работы с графикой. Наверняка, где-то есть твоя любимая навигация. И уже осваивать такой язык. В дальнейшем понять основы программирования и переключиться на другой язык при необходимости будет гораздо реальнее, нежели, если ты в Автокаде погрязнешь.


--------------------
Go to the top of the page
 
+Quote Post
givigudze1
сообщение 2.3.2017, 18:55
Сообщение #3


гиви
*******

Группа: Форумчанин
Сообщений: 2503
Регистрация: 26.2.2011
Вставить ник
Цитата
Пользователь №: 1008153
Страна:
Пол:



Спасибо за ответ !
Навигация, скролинг и масштабирование решено еще в Sega и SupperNintendo. 1-ый пентиум уже имел вполне нормальные технологии и возможности для скролинга и скалинга. Хотя С++ тогда еще толком не было в то время. 1-ый пентиум уверенно запускал AutoCAD 2000 и другие программы.

Программирование в AutoCAD - это в принципе выход. Написать в AutoLisp код для считывания нужных файлов - работать с ними в AutoCAD как с автокадовскими объектами, а потом сконвертировать всё обратно в необходимый формат. Возможна потеря информации. Хотелось бы всё таки с объектами как с родными работать.





--------------------
Для кого-то мир – игра в сильного и слабого.
Для кого-то мир – она, и большего не надо.
И пусть он не заметен взгляду постороннему.
И каждый пусть найдёт для себя мир его достойный.
...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия   Архив форума Сейчас: 20.4.2024, 0:18
youtube-канал об отношениях Rambler's Top100