Just nu i M3-nätverket
Gå till innehåll

Hjälp med grafik i C++


Ohne

Rekommendera Poster

Jag håller på med ett program som ska rita ut koordinater grafiskt i visual c++. Jag undrar hur man kan visualisera dessa koordinater i ett koordinatsystem (3-dim). Tacksam för svar!

 

Länk till kommentar
Dela på andra webbplatser

jerker olofsson

Det enklaste är att helt enkelt dividera x- och y- koordinaterna med z och multiplicera med ett "perspektiv-värde" (field of view).

 

int xs = screenwidth/2+x/(z*fov);

int ys = screenheight/+y/(z*fov);

 

Men den mest använda lösningen är att transformera koordinaterna genom att multiplicera dem med en projektionsmatrix.

 

Exempel:

http://www.qzx.com/pc-gpe/perspect.txt

http://www.cs.kuleuven.ac.be/cwis/research/graphics/INFOTEC/viewing-in-3d/node8.html

http://www.cs.unc.edu/~marc/tutorial/node39.html

 

 

Länk till kommentar
Dela på andra webbplatser

Ok...hmm. Vet inte om jag fattade mig otydligt, men hur som helst skulle jag vilja ha ett exempel på visual c++ kod som ritar ut ett koordinatsystem med diverse koordinater. Matematiken bakom fenomenet kan jag slå upp i min linjär algebra bok. ;-)

 

Länk till kommentar
Dela på andra webbplatser

Thomas Tydal

Du vill alltså veta hur man drar streck i Windows?

 

Till det använder man GDI:

http://search.msdn.microsoft.com/search/Redirect.aspx?title=Windows+GDI&url=http://msdn.microsoft.com/library/en-us/gdi/wingdistart_9ezp.asp

 

Funktionen MoveToEx placerar dig på valfri plats på skärmen och LineTo drar ett streck därifrån till angiven plats.

 

Här är för övrigt =ett= kodexempel på att rita linjer där du även får se hur pennor funkar (pennor är det man ritar med):

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/pens_0kj7.asp

 

[inlägget ändrat 2006-05-15 16:59:16 av Thomas Tydal]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...