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: http://4programmers.net/Delphi/Gotowce/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
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.
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 :/
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?
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.