Russian Qt Forum

Qt => Общие вопросы => Тема начата: 8Observer8 от Март 28, 2014, 06:22



Название: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 28, 2014, 06:22
Привет!

У Макса Шлее есть пример с рисованием пирамиды в 3D (книга "Qt 4.8", глава 23 "Работа с OpenGL"). Я хочу переделать этот пример. В моём примере будет запущено две такие программы. Одна, как клиент, а другая, как сервер. Клиент подсоединяется к серверу. Когда пользователь клиента (или сервера) вращает мышкой пирамиду, то начинают вращаться обе пирамиды и у клиента и у сервера.

Координаты у него задаются один раз при создании пирамиды:
Код
C++ (Qt)
GLuint OGLPyramid::createPyramid(GLfloat fSize/*=1.0f*/)
{
   GLuint n = glGenLists(1);
 
   glNewList(n, GL_COMPILE);
   glBegin(GL_TRIANGLE_FAN);
   qglColor(Qt::green);
   glVertex3f(0.0, fSize, 0.0);
   glVertex3f(-fSize, -fSize, fSize);
   glVertex3f(fSize, -fSize, fSize);
   qglColor(Qt::yellow);
   glVertex3f(fSize, -fSize, -fSize);
   qglColor(Qt::blue);
   glVertex3f(-fSize, -fSize, -fSize);
   qglColor(Qt::white);
   glVertex3f(-fSize, -fSize, fSize);
   glEnd();
 
   glBegin(GL_QUADS);
   qglColor(Qt::red);
   glVertex3f(-fSize, -fSize, fSize);
   glVertex3f(fSize, -fSize, fSize);
   glVertex3f(fSize, -fSize, -fSize);
   glVertex3f(-fSize, -fSize, -fSize);
   glEnd();
   glEndList();
 
   return n;
}
 

А вот как потом до них добраться? Есть ли способ получения координат в любой момент времени? Скорее всего, мне нужно будет передавать координаты, когда происходит событие mouseMoveEvent().

Заранее спасибо за ответы!


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Old от Март 28, 2014, 06:26
Вам нужно будет передовать положение и направление камеры.


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 28, 2014, 06:28
Какой ещё камеры :) Я только пример открыл, там в книге про камеру ничего не написано :)

Скажите, пожалуйста, что такое камера? И как до неё добраться? Чем она задаётся? У неё есть координаты?


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Old от Март 28, 2014, 06:41
Какой ещё камеры :) Я только пример открыл, там в книге про камеру ничего не написано :)
А я книгу эту в глаза не видел и понятия не имею, что там в примере. :)
Смысл в том, что нужно передовать не новые координаты сцены, а параметры матрицы трансформации или параметры камеры.


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 28, 2014, 06:50
Я скопирую весь код примера сюда. Добавил класс OGLPyramid на форму в Widget через "Promoted to..." Где здесь параметры матрицы трансформации или параметры камеры? Видимо, матрица трансформации это: "glTranslatef(0.0, 0.0, -3.0)"). А точно "или", а не "и"? Что такое "параметры камеры"?

main.cpp
Код
C++ (Qt)
#include "MainWindow.h"
#include <QApplication>
 
int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
   MainWindow w;
   w.show();
 
   return a.exec();
}
 

OGLPyramid.h
Код
C++ (Qt)
#ifndef OGLPYRAMID_H
#define OGLPYRAMID_H
 
#include <QGLWidget>
 
class OGLPyramid : public QGLWidget {
private:
   GLuint  m_nPyramid;
   GLfloat m_xRotate;
   GLfloat m_yRotate;
   QPoint  m_ptPosition;
 
protected:
   virtual void   initializeGL   (                       );
   virtual void   resizeGL       (int nWidth, int nHeight);
   virtual void   paintGL        (                       );
   virtual void   mousePressEvent(QMouseEvent* pe        );
   virtual void   mouseMoveEvent (QMouseEvent* pe        );
   GLuint createPyramid  (GLfloat fSize = 1.0f   );
 
public:
   OGLPyramid(QWidget* pwgt = 0);
};
 
#endif // OGLPYRAMID_H
 

OGLPyramid.cpp
Код
C++ (Qt)
#include <QtGui>
#include "OGLPyramid.h"
 
// ----------------------------------------------------------------------
OGLPyramid::OGLPyramid(QWidget* pwgt/*= 0*/) : QGLWidget(pwgt)
 , m_xRotate(0)
 , m_yRotate(0)
{
}
 
// ----------------------------------------------------------------------
/*virtual*/void OGLPyramid::initializeGL()
{
   qglClearColor(Qt::black);
   glEnable(GL_DEPTH_TEST);
   glShadeModel(GL_FLAT);
   m_nPyramid = createPyramid(1.2f);
}
 
// ----------------------------------------------------------------------
/*virtual*/void OGLPyramid::resizeGL(int nWidth, int nHeight)
{
   glViewport(0, 0, (GLint)nWidth, (GLint)nHeight);
   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();
   glFrustum(-1.0, 1.0, -1.0, 1.0, 1.0, 10.0);
}
 
// ----------------------------------------------------------------------
/*virtual*/void OGLPyramid::paintGL()
{
   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
   glMatrixMode(GL_MODELVIEW);
   glLoadIdentity();
   glTranslatef(0.0, 0.0, -3.0);
 
   glRotatef(m_xRotate, 1.0, 0.0, 0.0);
   glRotatef(m_yRotate, 0.0, 1.0, 0.0);
 
   glCallList(m_nPyramid);
}
 
// ----------------------------------------------------------------------
/*virtual*/void OGLPyramid::mousePressEvent(QMouseEvent* pe)
{
   m_ptPosition = pe->pos();
}
 
// ----------------------------------------------------------------------
/*virtual*/void OGLPyramid::mouseMoveEvent(QMouseEvent* pe)
{
   m_xRotate += 180 * (GLfloat)(pe->y() - m_ptPosition.y()) / height();
   m_yRotate += 180 * (GLfloat)(pe->x() - m_ptPosition.x()) / width();
   updateGL();
 
   m_ptPosition = pe->pos();
}
 
// ----------------------------------------------------------------------
GLuint OGLPyramid::createPyramid(GLfloat fSize/*=1.0f*/)
{
   GLuint n = glGenLists(1);
 
   glNewList(n, GL_COMPILE);
   glBegin(GL_TRIANGLE_FAN);
   qglColor(Qt::green);
   glVertex3f(0.0, fSize, 0.0);
   glVertex3f(-fSize, -fSize, fSize);
   glVertex3f(fSize, -fSize, fSize);
   qglColor(Qt::yellow);
   glVertex3f(fSize, -fSize, -fSize);
   qglColor(Qt::blue);
   glVertex3f(-fSize, -fSize, -fSize);
   qglColor(Qt::white);
   glVertex3f(-fSize, -fSize, fSize);
   glEnd();
 
   glBegin(GL_QUADS);
   qglColor(Qt::red);
   glVertex3f(-fSize, -fSize, fSize);
   glVertex3f(fSize, -fSize, fSize);
   glVertex3f(fSize, -fSize, -fSize);
   glVertex3f(-fSize, -fSize, -fSize);
   glEnd();
   glEndList();
 
   return n;
}
 


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Old от Март 28, 2014, 06:59
Почитайте про glMatrixMode. Да и вообще по opengl.

А конкретно в этом случае достаточно по сети передавать m_xRotate и m_yRotate.


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 28, 2014, 07:07
Почитайте про glMatrixMode. Да и вообще по opengl.
Когда-то давно нашёл книгу "OpenGL. СуперКнига" (третье издание на русском). Но в ней очень сложно написано, и она очень толстая. Посоветуйте, пожалуйста, что-нибудь простое с большим количеством примеров :)

А конкретно в этом случае достаточно по сети передавать m_xRotate и m_yRotate.
Огромное спасибо! Буду передавать m_xRotate и m_yRotate :) Как мне это в голову не пришло :)


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Old от Март 28, 2014, 07:13
Когда-то давно нашёл книгу "OpenGL. СуперКнига" (третье издание на русском). Но в ней очень сложно написано, и она очень толстая. Посоветуйте, пожалуйста, что-нибудь простое с большим количеством примеров :)

Не посоветую. Слишком давно я интересовался этой темой. Но гугл, я уверен, вам легко поможет. :)

Add: придумайте/найдите интересный для вас большой проект, не занимайтесь ерундой. ;)


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 28, 2014, 07:17
Спасибо! Думаю, тему литературы по OpenGL действительно лучше здесь не развивать :)

Add: придумайте/найдите интересный для вас большой проект, не занимайтесь ерундой. ;)
Я сейчас именно этим и занимаюсь :), то есть придумываю и ищу проект. Я хочу объединить OpenGL и сеть. Не знаю, во что это может выльеться. Мне интересна сеть, сбор данных и визуализация данных с помощью 3D графики. Если Вы мне подкинете пищу для размышлений - я буду только рад! Можно и в этой теме. Я её не буду закрывать :)


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Igors от Март 28, 2014, 10:01
Координаты у него задаются один раз при создании пирамиды:
Это часто называют "модельные" координаты. Вообще есть "система координат" - это 3 оси, часто взаимо-перпендикулярные (ортогональные) но не обязательно. Сами оси меряются в "мировой" системе координат, которая может быть левой или правой - как условились. Направление мировых осей тоже условно. Обычно Y идет вверх, но у AutoDesk это Z. Переход из одной системы координат в другую выполняется с помощью матрицы (даже фильм такой был  :)). Все линейные операции (сдвиг, поворот, масштаб) описываются матрицей. OpenGL тоже понимает матрицы (хоть и сделано там через задницу). Поэтому не нужно всякий раз менять исходные координаты - достаточно изменить матрицу(ы)

А вот как потом до них добраться? Есть ли способ получения координат в любой момент времени? Скорее всего, мне нужно будет передавать координаты, когда происходит событие mouseMoveEvent().
Нет. Исходные (модельные) координаты передаете 1 раз, а для каждого поворота - матрицу.

Я сейчас именно этим и занимаюсь :), то есть придумываю и ищу проект. Я хочу объединить OpenGL и сеть. Не знаю, во что это может выльеться. Мне интересна сеть, сбор данных и визуализация данных с помощью 3D графики. Если Вы мне подкинете пищу для размышлений - я буду только рад! Можно и в этой теме. Я её не буду закрывать :)
Сеть, OpenGL - все это популярно, но обычно это приложение/прибамбасы к задаче (пусть нужные). А задач 3D у меня море, до многого руки не доходят. Вот только вряд ли Вы будете рады таким задачам - там работать надо, это не в СУБД керосин заливать  :)


Название: Re: Передача координат вершин фигуры по сети
Отправлено: carrygun от Март 28, 2014, 10:16
Если Вы мне подкинете пищу для размышлений - я буду только рад! Можно и в этой теме. Я её не буду закрывать :)

Сделать такое же (http://blog.qt.digia.com/blog/2014/03/26/qt-data-visualization-1-0-released/), только LGPL.


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 28, 2014, 14:44
Если Вы мне подкинете пищу для размышлений - я буду только рад! Можно и в этой теме. Я её не буду закрывать :)
Сделать такое же (http://blog.qt.digia.com/blog/2014/03/26/qt-data-visualization-1-0-released/), только LGPL.
О, совсем свежая статья. Пара дней ей. Интересно. Думаю, в будущем может пригодиться. Спасибо! :)

Igors, спасибо большое! Где про эти матрицы хорошо написано? Не попадалось Вам хорошей литературы для новичков? Я думаю, ничего плохого не будет если Вы в этой теме поделитесь ссылками на ресурсы и названиями книг :) Я, конечно, гуглил. NeHe, например, нашёл. С чего начать? Мне очень интересна тема OpenGL.



Название: Re: Передача координат вершин фигуры по сети
Отправлено: Igors от Март 28, 2014, 15:15
Где про эти матрицы хорошо написано? Не попадалось Вам хорошей литературы для новичков? Я думаю, ничего плохого не будет если Вы в этой теме поделитесь ссылками на ресурсы и названиями книг :)
А я их никогда и не читал. Когда-то (давно) мне попались исходники SDK с объяснениями типа тех что я дал выше, вот и все.

С чего начать? Мне очень интересна тема OpenGL.
Одна из самых гнусных вещей которой мне не удается избежать. Творчества ноль, тупое запоминание огромного числа ф-ций и столь же тупое переписывание примеров. OpenGL - всего лишь "визуализация" и то "с оглядкой на железо". Что бум визуализировать? И зачем? Откуда возьмутся модели, анимации, шейдинг и многое другое? Увлекающиеся OpenGL обычно не знают ответа на эти простые вопросы


Название: Re: Передача координат вершин фигуры по сети
Отправлено: kamre от Март 28, 2014, 21:17
С чего начать? Мне очень интересна тема OpenGL.
Например, с вот этого tutorial (http://www.arcsynthesis.org/gltut/index.html).


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 28, 2014, 21:22
С чего начать? Мне очень интересна тема OpenGL.
Например, с вот этого tutorial (http://www.arcsynthesis.org/gltut/index.html).

Спасибо большое! А есть ли туториалы для новичков с ориентацией на Qt?


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Old от Март 28, 2014, 21:25
Спасибо большое! А есть ли туториалы для новичков с ориентацией на Qt?
Зачем?
От Qt требуется создать окно (контекст opengl), все остальное делается средствами opengl.


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 28, 2014, 21:31
Пожалуй, Вы правы. Классы-обёртки Qt можно по Qt-примерам и Qt-документации посмотреть.

Я бы себе вот эту книжку купил, если бы умел заказывать на amazon.com и были бы деньги) В сети её не нашёл: http://www.amazon.com/OpenGL-Tutorials-using-Omid-Sakhi-ebook/dp/B00DHR9S9C


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Old от Март 28, 2014, 21:38
В сети есть ответы на любые вопросы. :)
Не занимайтесь собирательством книг, лучше начинайте делать программу: придумайте идею, проектируйте, пишите код.
Заглядывайте в книги за ответами на конкретные вопросы, а не читайте их от корки до корки.
Вам нужна интересная тема, для вас интересная.


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 28, 2014, 21:54
Спасибо огромное! Очень дельные советы! Буду придерживаться :)


Название: Re: Передача координат вершин фигуры по сети
Отправлено: OKTA от Март 28, 2014, 22:03
Может находил, на мало ли

http://www.gamedev.ru/code/articles/OpenGL_Qt4
http://habrahabr.ru/post/132674/


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 28, 2014, 22:11
Большое спасибо! Первую ссылку находил, а вторую нет :) Первую находил ещё летом, просто скопировал код, запустил, работало. Читал описание, но почти ничего не понял. Завтра попробую отдалять и приближать пирамиду (с помощью колёсика мыши) и чтобы в другом окне тоже менялось. С вращением нормально работает:

(http://i7.pixs.ru/storage/8/6/2/160png_4833834_11448862.png)


Название: Re: Передача координат вершин фигуры по сети
Отправлено: kamre от Март 28, 2014, 22:15
А есть ли туториалы для новичков с ориентацией на Qt?
Про использование OpenGL в Qt можно почитать:
http://qt-project.org/doc/qt-5/qtgui-openglwindow-example.html
http://www.kdab.com/opengl-in-qt-5-1-part-1/

Выше уже написали, что ориентации на Qt особо нет в OpenGL tutorials, т.к. это независимые вещи. В Qt есть некоторые классы для удобства, но их совсем не обязательно использовать.


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 28, 2014, 22:28
Спасибо большое! :)

Я ещё такие примеры нашёл:

- примеры NeHe (на панели справа): http://nehe.gamedev.net/
- примеры NeHe на русском: http://pmg.org.ru/nehe/

- примеры NeHe на Qt:
- http://www.digitalfanatics.org/projects/qt_tutorial/chapter14.html
- http://qt-project.org/wiki/NeHe_in_Qt

P.S. Пока не знаю насколько эти примеры могут пригодиться :)


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 29, 2014, 06:53
Если пользователь у себя в программе приближает (отдаляет) фигуру, то зачем другому пользователю видеть у себя эти изменения? Не представляю где бы нужна была такая функциональность.

Но зато здесь появляется вопрос: при увеличении фигуры в клиенте мы не можем просто передать серверу только лишь: xRotate и yRotate или матрицу ориентации. Нам нужно передавать положение наблюдателя (камеры). Как в OpenGL узнать координаты наблюдателя относительно начала координат?


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Old от Март 29, 2014, 07:35
Но зато здесь появляется вопрос: при увеличении фигуры в клиенте мы не можем просто передать серверу только лишь: xRotate и yRotate или матрицу ориентации.
Нужно будет передать еще дистанцию, которую и устанавливать на сервере в glTranslatef.
Но можно передавать и матрицу трансформации, там уже будут учтены все повороты и перемещения.

Нам нужно передавать положение наблюдателя (камеры). Как в OpenGL узнать координаты наблюдателя относительно начала координат?
Почитать документацию. :)
По умолчанию камера находится в центре системы координат.
Мы можем двигать фигуру относительно статичной камеры или двигать камеру относительно статичной фигуры или двигать и то и другое. В вашем примере, камера статична, находится в центре системы координат, а двигается фигура.


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 29, 2014, 07:52
Что там относительно чего двигается, я пока не понимаю :)

Про матрицу трансформации попытаюсь найти что-нибудь доходчивое. Спасибо! :)


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Old от Март 29, 2014, 07:55
Попробуйте это: http://u3d.agava.ru/doc/theory/matrix_ops.shtml


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 29, 2014, 08:00
Спасибо огромное! Ох, уж эти матрицы :)


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Igors от Март 29, 2014, 09:54
Завтра попробую отдалять и приближать пирамиду (с помощью колёсика мыши) и чтобы в другом окне тоже менялось. С вращением нормально работает:
Не будем притворяться, понимания это не добавляет, дело сводится к запоминанию вызова glXXX который "это делает" :) А если действительно хотите понять, то вот задачка

Есть фигура (хоть та же пирамида) матрица которой известна (т.е. она уже как-то смещена/повернута). Написать 2 ф-ции

1) Вращения фигуры вокруг мировой оси Y  
2) Вращения фигуры вокруг локальной оси Y

Полагаем что ось вращения проходит через центр фигуры, а угол поворота - аргумент ф-ций

[OFF]Не, не потянет [/OFF]


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 29, 2014, 09:59
Спасибо большое за упражнение! Но я пока не знаю, чем отличаются локальная и мировая ось. Точнее, не знаю, что такое локальная ось. Мировая ось связана с началом системы координат.


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Old от Март 29, 2014, 10:35
Igors, насколько я помню, вы сами только недавно открыли для себя вращение объектов вокруг мировых осей. Вам для этого понадобились десятилетия. :)
А вы хотите, что бы человек осилил, который про матрицы только услышал.


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Igors от Март 29, 2014, 10:52
Спасибо большое за упражнение! Но я пока не знаю, чем отличаются локальная и мировая ось. Точнее, не знаю, что такое локальная ось. Мировая ось связана с началом системы координат.
Я так и знал: "не знаю", "не могу", лапки кверху. Зато как к дусту тянется! А ведь программист без владения предметной частью немногого стоит.

Локальная ось Y идет от центра основания пирамиды в ее верхнюю точку. Мировая идет "снизу вверх". Как уже говорилось, эти соглашения условны - можно выбирать любые, пусть выбраны наиболее популярные.


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 29, 2014, 10:56
Программа должна сама вращать фигуру? То есть плавно поворачивать (по таймеру) вокруг собственной оси Y и мировой осью Y?


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Igors от Март 29, 2014, 11:01
Программа должна сама вращать фигуру? То есть плавно поворачивать (по таймеру) вокруг собственной оси Y и мировой осью Y?
Как хотите - хоть по кнопке.


Название: Re: Передача координат вершин фигуры по сети
Отправлено: 8Observer8 от Март 29, 2014, 11:10
У меня в списке дел есть создание примера с программным вращением пирамиды. Попытаюсь сделать так, как Вы описали. Потом, когда делать начну, то уточню детали :)


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Old от Март 29, 2014, 11:27
Зато как к дусту тянется!
"Хулиган! А еще очки надел!.. " (с) Иван Васильевич меняет профессию  ;D

Вас самого раздражает ваше незнание и вы язвите об этом по поводу и без. Все что не смогли осилить сами вы считаете враждебным.

А ведь программист без владения предметной частью немногого стоит.
Ваш пример доказывает обратное. Вы еще и кичитесь незнанием.


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Igors от Март 29, 2014, 13:41
"Хулиган! А еще очки надел!.. " (с) Иван Васильевич меняет профессию  ;D
Вот решили Вы взять человека и рассматриваете кандидатов

1) Знает std, дуст, мульен опций командной строки и.т.п. Но повернуть фигуру не может. Ладно, человек не работал с этим, пусть разберется. Результат - нечто нагугленное причем через неск дней и с выражением недовольства на лице.

2) Программирует еле-еле, об std лишь немного слышал. Зато выписывает матрицу поворота за неск минут по ходу дела объясняя нюансы о которых я и не подозревал.

Соотношение сил здесь несоразмеримое :) Вся эта лабуда, которой так гордятся мальчики-зайчики, и которую Вы пытаетесь мне тыкать в нос - она и близко не лежала с основательными знаниями/пониманием, и цена ей "рупь ведро". 


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Old от Март 29, 2014, 13:58
3 вариант. Это человек, который может рассказать вам про матрицы, то что вы и не знали и прекрасно знающий С++, std, boost, opengl, ...
Вот к этому нужно стремиться, а не к тем двум калекам, про которых вы писали.

И вы так и не объяснили, чем вас так возбуждает тот же boost, что вы его почти в каждой теме поминаете? Своей не доступностью? :)


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Bepec от Март 29, 2014, 14:18
4) человек знающий о матрицах только то, что они существуют и умеющий hello world на С++. Но через неделю с возможностью спрашивать и получать ответы у вас, поворачивает фигуру в любом направлении, трансформирует и преобразовывает с помощью пары написанных им программ.

5) "Мне нужен ученик, который не знает ничего, но знает где об этом можно посмотреть" © какой-то мудрец ( Энштейн что ли :) ).



Название: Re: Передача координат вершин фигуры по сети
Отправлено: Igors от Март 29, 2014, 14:59
И вы так и не объяснили, чем вас так возбуждает тот же boost, что вы его почти в каждой теме поминаете? Своей не доступностью? :)
Если человек "активно" его изучает, то как правило на предметную/содержательную часть у него не остается ни времени, ни желания. Поэтому давно уже выработался рефлекс: если лепит в каждой строчке boost:: (std::, template) - результата не жди, будет только бесконечное само-совершенствование, на работу он болт положит. Нередко это сопровождается банальным зазнайством, человек мнит что он "в круге избранных", "знает язык" и все такое. Его не смущает что его код падает и глючит, ведь там такая крутизна, такой уровень обобщений! А нужно это в задаче или нет - мало волнует.

Да, а сам по себе boost хорош, просто "чреват". Это как водка - ну принял стакан-другой, но зачем же нажираться как свинья?

4) человек знающий о матрицах только то, что они существуют и умеющий hello world на С++. Но через неделю с возможностью спрашивать и получать ответы у вас, поворачивает фигуру в любом направлении, трансформирует и преобразовывает с помощью пары написанных им программ.
Ну hello world Вы умеете и знаете что матрицы существуют - прошу доказать свои тезисы на деле  :)


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Bepec от Март 29, 2014, 16:28
Вы упускаете делать, которую вы не сможете сделать - отвечать на вопросы :D Не отмахиваться и пулять, а отвечать :)


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Old от Март 29, 2014, 16:28
Если человек "активно" его изучает, то как правило на предметную/содержательную часть у него не остается ни времени, ни желания.
Откуда вам это знать? :) Вы никогда активно "его" не изучали.

Поэтому давно уже выработался рефлекс: если лепит в каждой строчке boost:: (std::, template) - результата не жди, будет только бесконечное само-совершенствование, на работу он болт положит.
Это не рефлекс - это комплекс. На самом деле это самый обычный язык С++.

Нередко это сопровождается банальным зазнайством, человек мнит что он "в круге избранных", "знает язык" и все такое.
Большинство программистов на С++ знают С++, а "илиткой" себя считают, как раз неосиляторы. Которые, придумывая надуманные причины, что бы оправдать свою некомпетентность.
Это как у школьников. На вопрос: "Ты сколько раз подтягиваешся?", он начинает рассказывать, что подтягиваться, плохо и это делают только лохи, а нормальные парни обходятся без подтягиваний. :)

Его не смущает что его код падает и глючит, ведь там такая крутизна, такой уровень обобщений! А нужно это в задаче или нет - мало волнует.
Ну тут только руки. Хреновый код можно писать и с шаблонами и без. Ну вам ли это не знать. :)

Да, а сам по себе boost хорош, просто "чреват". Это как водка - ну принял стакан-другой, но зачем же нажираться как свинья?
С чего вы взяли? На хабрВ вашей библии прочитали? :)

P.S. Я не пытаюсь вас переубедить. Вы выбрали себе C++ Lite, делаете там что-то за деньги, это ваше дело. Мне наплевать.
Я не понимаю, для чего вы пытаетесь отговаривать молодежь от полноценного изучения С++? Причем, чье-то желание изучить непознанное вами, вызывает у вас истерику, вы начинаете придумывать обидные прозвища инструментам, называть их уничижительно. Откуда такие комплексы? :)


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Igors от Март 30, 2014, 09:59
Вы упускаете делать, которую вы не сможете сделать - отвечать на вопросы :D Не отмахиваться и пулять, а отвечать :)
Так Вы ничего и не спрашивали :) Задайте хороший вопрос - и я постараюсь дать хороший ответ.

Откуда вам это знать? ...
И.т.п - Вы раздражены, пытаетесь задеть собеседника, не удается - раздражаетесь еще больше. Зачем? Отдохните, выпейте чаю или водочки, не скандальте.

Это как у школьников. На вопрос: "Ты сколько раз подтягиваешся?", он начинает рассказывать, что подтягиваться, плохо и это делают только лохи, а нормальные парни обходятся без подтягиваний. :)
Так и есть
Цитировать
- ты сколько вызовов std:: знаешь?
- ну... 200
- а я 300!
Но это же глупо  :) 

Я не понимаю, для чего вы пытаетесь отговаривать молодежь от полноценного изучения С++?
То что Вы считаете полноценным - по мне прямая дорога к слабоумию :) И есть "изучение" и "работа/задача", это вещи разные. И есть "знать" и "сделать" - тоже разные


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Igors от Март 30, 2014, 10:03
Ладно, вернемся к теме. Вот такой мини-вопросик, который может быть полезным 

А как можно "увидеть" матрицу? Ну или визуализировать, ведь по набору чисел ничего не ясно


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Old от Март 30, 2014, 12:04
Вы раздражены, пытаетесь задеть собеседника, не удается - раздражаетесь еще больше. Зачем?
А где вы видите раздражение? :)
Это констатация факта, или вы активно изучали boost?
Вот и выходит, вы этого не пробовали, а мнение свое с видом эксперта высказываете. :)

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

То что Вы считаете полноценным - по мне прямая дорога к слабоумию :)
Да, C++ сложный язык, поэтому я и не предлагаю вам его освоить. :)
Я выше писал уже, мне все равно.


Название: Re: Передача координат вершин фигуры по сети
Отправлено: Old от Март 30, 2014, 19:26
Ладно, вернемся к теме.
Ладно, давайте.

А как можно "увидеть" матрицу? Ну или визуализировать, ведь по набору чисел ничего не ясно
Вот так сразу, в следующем же предложении, предлагаете по оффтопить? :)