기본적으로 타일은 질문을 요약합니다. QRect와 비슷한 QT 클래스에 빌드가 있는지 궁금하지만 3D 오브젝트 (사각형이 아닌 상자를 설명하기 위해)가 궁금합니다.qt에서 QRect에 대한 3D 유추가 있습니까?
답변
기본적으로 타일은 질문을 요약합니다. QRect와 비슷한 QT 클래스의 빌드가 있으면 궁금하지만 3D 개체 (사각형 대신 상자를 설명하는 데 사용)가 궁금합니다.
물론 있습니다. 아직 Qt는 5
다시 재 출시되지는 않지만
원하는 클래스는, Qt3D 현재 내가있는 3 차원 세계 시뮬레이션 프로젝트에서이 클래스의 활성 사용자가 있었고 꽤 괜찮 작동합니다.
고마워, 재미있어 보이고, 나는 Qt3D를 몰랐다. 이전에! –
@IlyaKobelevskiy : 아, 환영합니다 .-) – lpapp
내장 클래스를 찾고 있다면 확실하지 않지만 3D 벡터에 대한 지식 만 있으면 자신 만의 클래스를 만들 수 있습니다. 가장 어려운 기능은 &
, &=
, |
, |=
, !=
, <<
, ==
및 >>
과 같이 교차, 변환 또는 구현 연산자 일 수 있습니다.
상자의 크기와 상자의 중심에있는 좌표로 상자를 표시하는 것이 좋습니다. 그런 다음 원점 (x, y, z)에서 3D 점을 중심으로 특정 너비, 높이 및 깊이의 상자를 갖게됩니다. 3D 사각형은 높이 (Z 축)가 2 차원 직사각형이라고 가정
네, 그게 제가 피하려고했던 것입니다 - 직접 구현해라. (다른 것이 나오면 조금 기다렸다가이 대답을 받아 들인다 ... –
, 나는 다음과 같은 방법으로 (? 평행)을 구현하는 것이 :
class Box: public QRect
{
public:
Box(int x, int y, int width, int height, int length)
:
QRect(x, y, width, height),
m_length(length)
{}
int length() const { return m_length; }
private:
int m_length;
};
은 따라서 당신이 모양을 가지고, 폭이, 높이와 길이. 단어 height
은 QRect 클래스에 의해 이미 예약되어 있으므로 length
을 3 차원 매개 변수로 사용합니다. 물론이 클래스를 확장 할 수는 있지만 주요 기능은 여기에 있습니다.
이 OpenGL을 실시간 그래픽을위한 것이다 : 당신이 그런 식으로 아래로 갈 기꺼이하는 경우에
QGLCube Class Reference
실제로 거기에도 3D 기본 QML 항목이 노출? 그렇다면 Qt의 내장 클래스로 3D 객체를 만들려고하지는 않을 것입니다. –
아니요, 3D 영역을 내부적으로 정의하여 주변을 전달하고 이러한 영역을 더하거나 뺄 수 있습니다. 응용 프로그램은 콘솔이며 3D 영역 내에서 임의의 점을 생성하는 등의 작업을 수행합니다. 화면에서 렌더링을 시도하지 않습니다. –
@IlyaKobelevskiy : Qt3D를 보셨습니까? – lpapp