Что такое свойство `uvw` класса QPickTriangleEvent - PullRequest
0 голосов
/ 01 июня 2019

Класс QPickTriangleEvent имеет свойство uvw .Что это?Является ли uvw нормальным вектором треугольника?


Я регистрирую свойства QPickTriangleEvent:

Qt3DRender::QPickTriangleEvent *eventTri = static_cast<Qt3DRender::QPickTriangleEvent *>(event);
qDebug() << "Triangle Index: " << eventTri->triangleIndex();
qDebug() << "Triangle Vertex 1: " << eventTri->vertex1Index();
qDebug() << "Triangle Vertex 2: " << eventTri->vertex2Index();
qDebug() << "Triangle Vertex 3: " << eventTri->vertex3Index();
qDebug() << "Triangle UVW: " << eventTri->uvw();

Вывод:

Triangle Index:  79540
Triangle Vertex 1:  238620
Triangle Vertex 2:  238621
Triangle Vertex 3:  238622
Triangle UVW:  QVector3D(0.0390438, 0.151772, 0.809184)

Даже с проверкойвывод я не могу понять uvw из.Это нормальный вектор треугольника?


Я изучаю эти исходные коды, чтобы выяснить, что такое uvw:

triangleboundingvolume_p.h

triangleboundingvolume.cpp

1 Ответ

0 голосов
/ 01 июня 2019

В исходном коде triangleboundingvolume.cpp прокомментировано:

// RealTime Collision Detection page 192
bool intersectsSegmentTriangle(const RayCasting::QRay3D &ray, ...

Страница 193 из Книга Комментарии

... также возвращает барицентрические координаты (u, v, w) точки пересечения s, ...

и стр. 194

... Сегмент пересекает tri на расстоянии t в позиции s (s = u A + v B + w * C) ...

...