попробовал вывести (что там лежит):
glm::vec2 a(1.0f); // 1.0f, 1.0f
printf("a = %d \n", a);
glm::vec2 b = a +1.0f; // 2.0f, 2.0f
printf("b = %d \n", b);
float len = glm::length(a);
printf("len (a) = %f, \n", len);
float len1 = glm::length(b);
printf("len (b) = %f, \n", len1);
float dist = glm::distance(a,b);
printf("dist = %f, \n", dist);
Вот что выводит :
Как вывести вектор ???
glm::mat2 m(0,1,2,3); // даже не понял как вывести
Как вывести матрицу ???
Спасибо @vegorov-у он дал мне ответ.
Вот заголовочный файл
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp
INCLUDEPATH += $$PWD/usr/include/glm \ # если не заработает попробуй полный путь $$PWD/../../../../../usr/include/glm
вот полный код с выводом :
#define GLM_FORSE_RADIANS // углы будут задоваться в радианах
#define GLM_SWIZZLE
#include <glm/vec2.hpp>
#include <glm/matrix.hpp>
#include <glm/mat2x2.hpp>
#include <glm/geometric.hpp>
#include <iostream>
using namespace std;
int main()
{
glm::vec2 a(1.0f); // 1.0f, 1.0f
cout << "a(x) = " << a.x << " a(y) = " << a.y;
glm::vec2 b = a +1.0f; // 2.0f, 2.0f
cout << "\nb(x) = " << b.x << " b(y) = " << b.y;
printf("\n----------------");
// дополнил для себя чтоб знать скока и чего весит
float len = glm::length(a);
cout <<"\nlen = "<< len;
float len1 = glm::length(b);
cout <<"\nlen1 = "<< len1;
float dist = glm::distance(a,b);
cout <<"\ndist = "<< dist;
printf("\n----------------");
glm::vec2 c(2.0f, -1.0f);
cout << "\nc(x) = " << c.x << " c(y) = " << c.y;
glm::vec2 d = a+2.0f*c; // сложение и умножение на число
cout << "\nd(x) = " << d.x << " b(y) = " << d.y;
glm::vec2 e = -d;
cout << "\ne(x) = " << e.x << " e(y) = " << e.y;
printf("\n----------------");
glm::vec2 f = glm::normalize(e);
cout << "\nf(x) = " << f.x << " f(y) = " << f.y;
glm::vec2 a2(a.x);
cout << "\na2(x) = " << a2.x << " b(y) = " << b.y << endl;
printf("----------------\n");
/*
* ВАЖНО этот код выдаёт ошибку: ‘glm::vec2 {aka struct glm::vec<2, float, (glm::qualifier)0>}’ has no member named ‘xy’ glm::vec2 a2(a.xy);
*/
// glm::vec2 a2(a.xy);
// glm::vec2 b2(a.xy);
// glm::vec2 b2(a.y());
float dot2 = glm::dot(glm::vec2(1),d); // скаляроное произведение
cout << "dot2 = " << dot2 << endl;
float len_new = glm::length(e); // длинна вектора
cout << "len_new = " << len_new << endl;
float dist1 = glm::distance(b, c);
cout << "dist1 = " << dist1 << endl; // растояне между векторами
bool res = glm::all(glm::equal(a, b));
cout << "res = " << res << endl;
printf("----------------\n");
glm::mat2 m(0,1,2,3);
cout << "m[0] = " << m[0][0] <<" m[1] = " << m[0][1] << " m[2] = " << m[1][0] << " m[3] = " << m[1][1] << endl;
glm::mat2 n = glm::matrixCompMult(m,m); // покомпонентоное перемножение
cout << "n[0] = " << n[0][0] <<" n[1] = " << n[0][1] << " n[2] = " << n[1][0] << " n[3] = " << n[1][1] << endl;
glm::mat2 t = glm::transpose(m); // транспонирование
cout << "t[0] = " << t[0][0] <<" t[1] = " << t[0][1] << " t[2] = " << t[1][0] << " t[3] = " << t[1][1] << endl;
glm::mat2 mi = glm::inverse(m); // получаем обратную матрицу
cout << "mi[0] = " << mi[0][0] <<" mi[1] = " << mi[0][1] << " mi[2] = " << mi[1][0] << " mi[3] = " << mi[1][1] << endl;
printf("----------------\n");
glm::vec2 u = mi*c+a; // умножение матрицы на вектор
cout << "u(x) = " << u.x << " u(y) = " << u.y << endl;
return 0;
}
а вот результат :
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Третий день уже мучаюсь, не могу сообразить, подскажите пожалуйста, как отсортировать вот к примеру такие данные в массиве типа string следующим...
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском
Есть сайт, библиотека с около 1К книг (html файлов)Нужно было организовать поиск
В HTML коде увидел непонятные изображения откуда они берутся, как можно их использовать ?