[C++/QT]Rysowanie w trójwymiarze - jak się za to zbarać?

0

Muszę narysować trójkąt w 3D ... jednak kompletnie nie wiem, od czego zacząć ;) Chyba nie do końca rozumiem to wszytsko ... Mam narysować osie x,y,z i dopiero potem trójkąt w tym układzie. Czytałem to: Engine 3D i tak wydumałem, że muszę sobie zorbic coś podobnego - załóżmy, że mam już funkcję przekształcającą punkt 3D na 2D - to w miarę rozumiem. Czy przy użyciu tych punktów mam stworzyć funkcję rysującą linię 3D (na 2D)? Rysowałem już coś takiego w 2D, robiłem przekształcenia rotacje, itp, nie miałem z tym problemu, jednak jeśli chodzi o 3 wymiary, strasznie się gubię. Czytałem już mnóstwo na necie, ale nadal nie wiem, jak się za to zabrać, chodzi mi o podstawy - narysowanie punktu 3D, układu 3D, trójkąta 3D ... (jak pisałem, w 2D nie miałem problemu, narysowalem nawet wypełniony trójkąt) ;) Mógłby ktoś jakoś prosto wytłumaczyć krok po kroku podstawy? NIE chodzi mi o kod, chce sam to zrobic, ale wpierw zrozumiec

0

Qt ładnie integruje się z OpenGl weź pierwszy lepszy kurs OpenGl'a wyczytaj co potrzebujesz, a potem zaimplementuj to w qt, jak? Zobacz example qt, tam jest kilka przykładów.

0

No niby tak, ale ja musze wszystkie operacje napisac sam - przykladowo, dla 2D napisalem algorytm rysowania linii, piksel po pikselu, przy jego pomocy narysowalem wypelniony trojkat, tez piksel po pikselu. O ile w 2D jakos nie mialem wiekszego problemu, to 3D za nic nie moge zrozumioec :/

0

Tylko nie bijcie ;p Oto, co wydumałem, z niemałym trudem: Przypuśćmy, że najpierw dla ułatwienia chcę narysować odcinek, gdzie mam podane 2 punkty w przestrzeni 3D, dajmy na to:

struct Punkt3D{
int x,
int y,
int z,
}

A ja mam Punkt3D a, b; gdzie moja lini będzie "biegła" z punktu a do b. I teraz - co należy zrobić?

1.Zrzutować oba punkty na płaszczyznę 2D (jak? - tego nie mogę wymyślić)
2. Narysować odcinek używając "normalnego" rysowania odcinka, jaki napisałem dla 2D.

Czy tak?

Aha, no i podstawowy problem - chciałbym, aby na tym moim rysunku znalazły się osie x,y,z, żeby był widoczny ten układ, w którym bym ta przykładową linię rysował. Czy ten układ mogę narysować używając do tego funkcji rysowania linii 2D?

1 użytkowników online, w tym zalogowanych: 0, gości: 1