[C++] [UNIX] Графика
скорее всего в жизни это вряд ли пригодится, но хотелось бы просто уметь, по той аналогии, что когда-то давно рисовали в школе на паскале или бейсикеПросто шоб было - не подход в программировании. Если ты скажешь конкрентную задачу, то тебе точно помогут.
В отличае от учебного бейсика, где это было встроенно специально для обучения, данные возможности реализуются отдельными библиотеками. Какие из них тебе нужны - зависит от задачи.
ЗЫ Вот вам и школьное образование.
лько под FreeBSD, поэтому порекомендуйте что-нибудь соответствующее, где с этим можно ознакомится,По аналонгии с Паскалем и Бейсиком на Сях не рисуют. Более того, в самом стандерте языка графика не описывается. Так что возможности рисования полностью зависят от библиотеки. Если ты хочешь близкое к Паскалю, то на мехмате на 3 курсе рисуют. И даже книжечка есть типа программирование под X Windows. По этот способ не переносим. Можно использовать переносимые библиотеки типа QT, Gtk для оконных интерфейсов. Там есть елементы для рисования.
главное, не очень старое, иначе много придется ис
проще наверно через SDL такую графику реализовать
man curses
o rly?
примерчик . переименовать в .tar.gz
линковать так:
gcc ... -lX11
По аналонгии с Паскалем и Бейсиком на Сях не рисуют.когда это в стандартный поскаль стали входить функции рисования? Нечего его ровнять с бейсиком.
когда это в стандартный поскаль стали входить функции рисования?а кто такой "стандартный поскаль"?
разве для паскаля есть стандарт?
Прикинь, да?
---
"Расширь своё сознание!"
Прикинь, да?ссылочку дай. А то что-то я впервые про это слышу. А также расскажи, где он используется (если учесть, что самое древнее, что используется - это турбопаскаль 5.5 - первый (вроде) компилер паскаля, который объекты поддерживает, а там графика через подключаемый модуль реализуется)
а кто такой "стандартный поскаль"?да, прикинь. Однако он солишком архаичный чтобы его использовать.
разве для паскаля есть стандарт?
---
...Я работаю антинаучным аферистом...
Номер я тебе могу найти, только он тебе нужен?номер чего?
Ты по ссылкам, что ли, ходить не умеешь?
---
...Я работаю...
Из собственного опыта могу сказать, что когда мне потребовалось построить графики, я поступил следующим образом. В проге, которая делала вычисления, я перенаправил вывод в файл, а затем написал скрипт на Perl-е, где есть замечательная библиотечка GD::Graph, которая по полученным данным просто строила график и сохраняла его в gif-ку.
Затем полученная gif-ка вставлялась в tex и после этого печаталось. Как вариант, может тебя устроит и такой подход.
Ну, вообще-то GD::Graph — это API к библиотеке gdlib, написанной на C.
Если не получится через popen, создать пару псевдотерминалов.
---
"Аллах не ведёт людей неверных."
В ней легко рисуются простейшие рисунки + она кроссплатформенная.
Он ведь может просто не знать, что даже текстурками вращать и световые источники ставить теперь совсем несложно.
Шолегг, хочешь рисовать 3D-графику проще, чем кружочки и линии? Если да - подскажем как.
Стандарта ИСО или АНСИ.окей, посмотрел я эти стандарты.
Ты по ссылкам, что ли, ходить не умеешь?
Никакого упоминания о работе с графикой не нашел.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."
И что, никаких мыслей, с чем это связано?видимо по той причине, что рисовать можно лишь подключив внешнюю библиотеку, т.е. во встроенный набор функций рисование не входит. О чем я и говорил ранее.
А если рисовать нечем?
---
...Я работаю антинаучным аферистом...
И что, никаких мыслей, с чем это связано?
видимо по той причине, что рисовать можно лишь подключив внешнюю библиотеку, т.е. во встроенный набор функций рисование не входит. О чем я и говорил ранее.
Гы, лол. В стандарте нет некой функции, потому что она доступна только через внешние библиотеки. Чуве, у тебя проблемы с причинно-следственной связью.
Кстати, поглядел стандарт Full BASIC. Оказывается, в этом стандарте действительно есть графика.
ya rly!
Для графики OpenGL хорошо.
Если хочется порисовать виджеты — то wxWindows — кроссплатформенная библиотека. Сам ее использовал через питонский интерфейс wxPython, но она вполне Сишная, opensourc'ная и документации навалом достаточно хорошего качества.
При небольшой пряморукости OpenGL встраивается в wxWidgets, примеры есть в сети.
Получишь виджеты хорошего качества + картинки хорошего качества.
Спасибо за хорошую идею!
![](/images/graemlins/smile.gif)
Советую Qt. Ее плюс — кросплатформенность. Минус — надо изучать библиотеку, структуру приложения на ней. Но она того стоит. Там есть практически всё для обыденной жизни программиста, т. е. для программ общего назначения (файлы, строки, контейнеры, алгоритмы, межпроцессное взаимодействие, графика и конечно элементы пользовательского интерфейса).
![](/images/icons/laugh.gif)
std::cout << "%!PS-Adobe-2.0\n";
std::cout << "%%Creator: Das bin Ich!\n";
std::cout << "%%Title: Yo-Yo\n";
std::cout << "%%Pages: 1\n";
std::cout << "%%PageOrder: Ascend\n";
std::cout << "%%BoundingBox: 0 0 240 200\n";
std::cout << "%%EndComments\n";
std::cout << "\n";
std::cout << "2 setlinewidth\n";
std::cout << "10 10 moveto\n";
std::cout << "110 10 lineto\n";
std::cout << "110 110 lineto\n";
std::cout << "10 110 lineto\n";
std::cout << "closepath\n";
std::cout << "stroke\n";
std::cout << "\n";
std::cout << "150 10 moveto\n";
std::cout << "0 1 3 {\n";
std::cout << " 60 0 rlineto\n";
std::cout << " 360 5 div rotate\n";
std::cout << " } for\n";
std::cout << "closepath\n";
std::cout << "fill\n";
std::cout << "\n";
std::cout << "showpage\n";
std::cout << "\n";
std::cout << "%%EOF\n";
![](/images/graemlins/grin.gif)
![](/images/graemlins/cool.gif)
единственный минус - неинтерактивно. Нельзя от клавиатуры/мышки кроп покрутить, приблизить/удалить..
Сделать псевдотерминал и пихать команды в gs/gnuplot.
---
...Я работаю антинаучным аферистом...
Если много объектов - например, траингуляция на ~3000 элементов, то оперативно только OpenGL и т.п.
Оставить комментарий
Rico
я пока еще новичок в с++, но очень интересно было бы научиться рисовать графику на с++: различные объекты по точкам (линии, окружности... задавать цвет линий, отображаемого текста и фона, и т.п.скорее всего в жизни это вряд ли пригодится, но хотелось бы просто уметь, по той аналогии, что когда-то давно рисовали в школе на паскале или бейсике
сейчас работаю только под FreeBSD, поэтому порекомендуйте что-нибудь соответствующее, где с этим можно ознакомится,
главное, не очень старое, иначе много придется исправлять
Thanks in advance