Grafiek tekenen in opengl met c

Moderators: jkien, Xilvo

Reageer
Gebruikersavatar
Berichten: 351

Grafiek tekenen in opengl met c

De opdracht was een differentiaalvergelijking nummeriek op te lossen door een programma te schrijven dat de resulterende functie in een grafiek plot.

Nu heb ik mijn nummerieke punten in een array staan, nu moet ik het alleen nog in een mooie grafiek zien te krijgen.

Ik heb dit geprobeerd:

Code: Selecteer alles

 

for (i=1;i<nr_steps;i++){

 drawLine(t,x[i-1],t+delta,x[i]);

 t+=delta;

}


delta is een klein stapje langs de t as, x[] is de array met de datapunten.

Het probleem is dat ik nu al die stukjes lijn die hij tekent bovenelkaar langs de y-as krijg. Als ze aanelkaar geplakt zouden worden, heads-to-tail, dan zou de grafiek goed zijn (zo aan de lijnstukjes te zien).

Hoe krijg ik dit voorelkaar, wat doe ik hier fout?
Nothing to see here, move along...

Gebruikersavatar
Berichten: 6.905

Re: Grafiek tekenen in opengl met c

for (i=1;i<nr_steps;i++){

drawLine(t-delta,x[i-1],t,x);

t+=delta;

}

Het lijkt mij dat je t-delta moet doen om je logische reeks verder te zetten. Lost dit je probleem op?
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

Gebruikersavatar
Berichten: 351

Re: Grafiek tekenen in opengl met c

Helaas, nu krijg al die lijnstukjes gewoon links van y-as, alsof ik er een spiegel tegenaan gelegd heb...
Nothing to see here, move along...

Gebruikersavatar
Berichten: 6.905

Re: Grafiek tekenen in opengl met c

Is het niet simpeler om twee arrays te maken: één voor de x en de andere voor de y coördinaat? Dan zou het zeker geen probleem mogen vormen. Dan heb je voor elke index het juiste punt.

Ik zie echter niet wat er fout loopt. Mogelijk iets met die t omdat de stukjes boven elkaar worden geplot. Kan je meer code posten?
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

Gebruikersavatar
Berichten: 351

Re: Grafiek tekenen in opengl met c

Het was een beetje een domme fout van mij, ik had t als integer en delta als float. Het programma weet dan blijbaar niet wat hij daarvan moet maken als ik die bijelkaar optel. Het werkt nu helemaal. :D
Nothing to see here, move along...

Gebruikersavatar
Berichten: 6.905

Re: Grafiek tekenen in opengl met c

Ahzo dat kon ik niet zien vanuit de code die je post.

int t;

float delta;

t+=delta telt dan een float bij een integer op dus zal de float moeten geconverteerd worden naar int. Als delta<0 dan is je waarde in int waarschijnlijk 0.
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

Gebruikersavatar
Berichten: 351

Re: Grafiek tekenen in opengl met c

Had je inderdaad niet kunnen zien nee, mijn fout. Ik had er ook niet aan gedacht dat het buiten dit stukje code fout was, vandaar dat ik niet meer gepost had :D .
Nothing to see here, move along...

Reageer