Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 08:06

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 126 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5 ... 9  Nächste
Autor Nachricht
BeitragVerfasst: Do Jul 16, 2009 11:04 
Offline
DGL Member

Registriert: Mi Jul 15, 2009 18:29
Beiträge: 52
Guten Tag,

Ich habe einen Progamm das eine Approximationskurve zeichnet und einen Polynom zeichnet
(2.Grads) aber ich soll ein Polynom 5 Grads zeichnen bzw bis n-ten Grad zeichnen. Wie kann ich das machen ?
könnte einer von euch mir vielleicht irgendwie behilflich sein?
Wäre euch echt sehr dankbar.
Ich könnte meine msn addy geben für die hilfe oder auch den quellcode hier reinschreiben ??
mit freundlichen grüßen
julia k


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 16, 2009 11:50 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Okt 04, 2006 15:42
Beiträge: 78
Wohnort: Bonn
Programmiersprache: Python, C++, Delphi
Naja, du kannst dir doch einfach den Y-Wert des Polynoms für jede beliebige Stelle ausrechnen?
Woran hängt es?

BTW, hier deine Todsünden:
- Keine passende Überschrift
- Viel zu wenig Information
- Du fragst nach Kontakt via MSN; das hier ist aber ein Forum, keine Börse, wo du
deinen persönlichen Programmiersklaven findest
- Möglicherweise sogar falsche Kategorie. Du lässt ja nicht richtig durchblicken, was dein
Problem ist - und in wie fern es mit OpenGL zusammenhängt :)


Zuletzt geändert von waran am Do Jul 16, 2009 11:56, insgesamt 2-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 16, 2009 11:51 
Offline
DGL Member

Registriert: Sa Aug 09, 2008 09:07
Beiträge: 112
OT:
Vielleicht könntest du den Titel deines Beitrags ändern, der ist nicht wirklich aufschlussreich^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 16, 2009 12:45 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Wenn du es für ein Polynom zweiten Grades kannst, solltest du es auch für eines n-ten Grades machen können. Das ist nämlich exakt das gleiche. Du musst nur die Berechnung der Y-Werte verändern. Mit OpenGL hat das überhauptnichts zu tun. (Da du es für andere Polynoma ja auch kannst).

OT: Um die Liste fortzuführen:
- nicht zweimal im Forum registrieren und das gleiche Problem auf die gleiche Art nochmal zu lösen versuchen

Wie wärs wenn du mal zeigst was du schon hast und wo dein Problem liegt?! Würdest du das tun würdest du gleich merken das dein Problem anscheinend nichts mit OpenGL zu tun hat,


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 16, 2009 12:46 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 20, 2005 13:18
Beiträge: 1054
Wohnort: Dresden
Programmiersprache: C, C++, Pascal, OPL
Ich denke, dass sich Julia K. hier schon mal zu Wort gemeldet hat (viewtopic.php?t=8514), dort aber "etwas" kritisiert wurde und es nun unter neuem Namen noch einmal probiert.

Um dich mal nicht total zu entmutigen: Unserer aller ersten Schritte in Foren waren hollprig und du kommst schon noch zu deiner Hilfe, du bist zumindest auf dem richtigen Weg (oder nicht mehr auf dem ganz falschen), nun fehlt noch ein wenig Drumrum und eine genauere Problembeschreibung. Und wegen MSN: Wenn du unbedingt schnelle Hilfe zu kleinen (!!!) Dingen brauchst, gibt es zu dem Forum auch einen IRC-Channel: #delphigl im euirc. Dort ist eigentlich fast immer (ab Mittag) einer on, der dir vielleicht helfen mag.

LG Ziz

_________________
Denn wer nur schweigt, weil er Konflikte scheut, der macht Sachen, die er hinterher bereut.
Und das ist verkehrt, denn es ist nicht so schwer, jeden Tag zu tun als ob's der letzte wär’.
Und du schaust mich an und fragst ob ich das kann.
Und ich denk, ich werd' mich ändern irgendwann.

_________________Farin Urlaub - Bewegungslos


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 16, 2009 16:35 
Offline
DGL Member

Registriert: Mi Jul 15, 2009 18:29
Beiträge: 52
danke für die ganzen tipps ;)
hier ist meine matrix von der LR-Zerlegung.
was müsste ich denn da ändern, wenn ich fragen darf?
habe mich mit diesem thema zwar befasst aber komme net ganz damit klar, der prof. hat mir
auch ein bisschen geholfen aber komme nicht weiter =(

Code:
  1.  
  2.     for (p = 0; p <= n-1; p++)
  3.     {
  4.         for (k=p+1; k <= n; k++)
  5.         {
  6.             a[k][p]=a[k][p]/a[p][p]; /*(* = lkm *);*/
  7.             for (m=p+1; m<=n; m++)
  8.             {
  9.                 a[k][m]=a[k][m]-a[k][p]*a[p][m]; /* = a[m]km *); */
  10.             }
  11.         }
  12.     }
  13.     for(k=0;k<=n;k++)
  14.     {
  15.         s=rs[k];
  16.         for(m=0;m<=k-1;m++)
  17.         {
  18.             s=s-a[k][m]*z[m];
  19.         }
  20.         z[k]=s;
  21.     }
  22.     for(k=n;k>=0;k--)
  23.     {
  24.         s=z[k];
  25.         for(m=k+1;m<=n;m++)
  26.         {
  27.             s=s-a[k][m]*koeff[m];
  28.         }
  29.         koeff[k]=s/a[k][k];
  30.     }
  31.          
  32.    
  33.     glBegin(GL_LINE_STRIP);    
  34.     x=cpts[0][0]-1;
  35.     y=koeff[n];
  36.         for (m=n-1; m>=0; m--)
  37.         {
  38.             y=y*x+koeff[m];
  39.         }
  40.  
  41.     glVertex2f(x,y);
  42.     h=(cpts[ncpts-1][0]+1-cpts[0][0])/100;
  43.     for (k=1; k<=100; k++)
  44.     {
  45.         x=cpts[0][0]-1+k*h;
  46.         y=koeff[n];
  47.         for (m=n-1; m>=0; m--)
  48.         {
  49.             y=y*x+koeff[m];
  50.         }
  51.      glVertex2f(x,y);
  52.      }      
  53.    
  54.      glEnd();
  55.      glFlush();
  56. }
  57.  



müsste ich unten die y-werte ändern?


Zuletzt geändert von juleffm am Do Jul 16, 2009 16:40, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 16, 2009 16:37 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Mensch, das kann doch so keiner lesen ohne anfälle zu bekommen. Es wurde in dem anderen Thread schonmal gesagt, es gibt hier "Code"-Tags. du setzt ein [ code] vor deinen quelltext und ein [/ code] hinter deinen quelltext (bitte das Leerzeichen vor dem c von code wegmachen) und dann siehst das ganze schon viel leserlicher aus. Es sei denn, du beuntzt wirklich keine leerzeichen oder sowas zum Einrücken.

greetings

//Edit: und Deklarationen und ähnliches zu den Variablen wäre super, damit man nicht die Typen raten muss :)

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 16, 2009 16:41 
Offline
DGL Member

Registriert: Mi Jul 15, 2009 18:29
Beiträge: 52
besser so ? =))


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 16, 2009 16:49 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Du sagtst überhauptnicht was der Code tun soll, es gibt keine Kommentare und die Variablen haben nur einen nichtssagenden Buchstaben. Dazu gibts noch Funktionen ("cpts()") bei denen keiner weiß was sie machen. Du sagst "ich komme nicht weiter", nur keiner weiß wo. Es ist ziemlich Anstrengend sich klar zu machen was der Code überhaupt tun soll... (geht jedenfalls mir so)

Sofern das Problem bei dir doch OpenGL sein sollte: Rechne die y-Werte aus und rufe ein glVertex2f(x, y) mit diesem Wert und dem dazugehörigen x-Wert auf. Da du GL_LINE_STRIP an hast wird daraus dann dein Graph.


Zuletzt geändert von Markus am Do Jul 16, 2009 16:51, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 16, 2009 16:51 
Offline
DGL Member

Registriert: Mi Jul 15, 2009 18:29
Beiträge: 52
würde es was bringen den ganzen code hochzuladen bzw. darf ich das?
weil da haben leute davor gesagt ich darf das nicht.
dann könntet bzw du es mal zum laufen bringen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 16, 2009 16:52 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Was funktioniert denn nicht? Das ist mir von anfang an schon schleierhaft.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 16, 2009 16:55 
Offline
DGL Member

Registriert: Mi Jul 15, 2009 18:29
Beiträge: 52
also es funktioniert alles, ich habe eine approximationsgerade und ein polynom 2. grads doch der prof. hat gesagt wir sollen das polynom von n-ten bis zu 5. grad machen. bei 2.grad hat der prof geholfen aber den rest bekomm ich net hin =(


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 16, 2009 17:02 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Das funktioniert genauso wie bei einem Polynom zweiten Grades. Du rechnest für alle x-Werte die du haben möchtest den y-Wert aus und rufst dann glVertex2f(x, y) für alle Paare auf - exakt das gleiche wie bei einem Polynom zweiten Grades. Es wird sicherlich noch andere Wege geben, aber diesen hast du ja selbst in deinem Code.

Es scheint also so als läge des Problem wo anders.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 16, 2009 17:06 
Offline
DGL Member

Registriert: Mi Jul 15, 2009 18:29
Beiträge: 52
wie müsste ich es denn dann programmieren, also wie würde denn mein code dann aussehen?
hier ist der ganze code von meiner polynom aufgabe:
bin neu in dieser branche und bin voll verzweifelt

Code:
  1.  
  2. void drawParabel()
  3. {
  4.     /* Draw the curve using OpenGL evaluators */
  5.     int i,k,m,n=2,l,r,p;
  6.     float a[11][11], s, rs[11],z[11],koeff[11],h,x,y;
  7.     glColor3f(0.0,0.0,1.0);
  8.    
  9.     // linke Matrix
  10.     for (k = 0; k <= n; k++)
  11.     {
  12.         for (m = 0; m <= n; m++)
  13.         {
  14.             s=0;
  15.             for (l = 0; l <ncpts; l++)
  16.             {
  17.                 s = s + pow(cpts [l] [0], k + m );
  18.             }
  19.              a[k][m] = s;
  20.         }
  21.     }
  22.      
  23.     // rechte Matrix
  24.  
  25.     for (m = 0; m <= n; m++)
  26.     {
  27.         s=0;
  28.         for (l = 0; l <ncpts; l++)
  29.         {
  30.             s = s + pow(cpts [l] [0], m ) * cpts [l] [1];
  31.         }
  32.         rs[m]=s;
  33.     }
  34.    
  35.     // Matrix berechnen
  36.    
  37.     for (p = 0; p <= n-1; p++)
  38.     {
  39.         for (k=p+1; k <= n; k++)
  40.         {
  41.             a[k][p]=a[k][p]/a[p][p]; /*(* = lkm *);*/
  42.             for (m=p+1; m<=n; m++)
  43.             {
  44.                 a[k][m]=a[k][m]-a[k][p]*a[p][m]; /* = a[m]km *); */
  45.             }
  46.         }
  47.     }
  48.     for(k=0;k<=n;k++)
  49.     {
  50.         s=rs[k];
  51.         for(m=0;m<=k-1;m++)
  52.         {
  53.             s=s-a[k][m]*z[m];
  54.         }
  55.         z[k]=s;
  56.     }
  57.     for(k=n;k>=0;k--)
  58.     {
  59.         s=z[k];
  60.         for(m=k+1;m<=n;m++)
  61.         {
  62.             s=s-a[k][m]*koeff[m];
  63.         }
  64.         koeff[k]=s/a[k][k];
  65.     }
  66.          
  67.    
  68.     glBegin(GL_LINE_STRIP);    
  69.     x=cpts[0][0]-1;
  70.     y=koeff[n];
  71.         for (m=n-1; m>=0; m--)
  72.         {
  73.             y=y*x+koeff[m];
  74.         }
  75.  
  76.     glVertex2f(x,y);
  77.     h=(cpts[ncpts-1][0]+1-cpts[0][0])/100;
  78.     for (k=1; k<=100; k++)
  79.     {
  80.         x=cpts[0][0]-1+k*h;
  81.         y=koeff[n];
  82.         for (m=n-1; m>=0; m--)
  83.         {
  84.             y=y*x+koeff[m];
  85.         }
  86.      glVertex2f(x,y);
  87.      }      
  88.    
  89.      glEnd();
  90.      glFlush();
  91. }
  92.  


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 16, 2009 17:23 
Offline
DGL Member

Registriert: Mi Jul 15, 2009 18:29
Beiträge: 52
bist du noch da '?


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 126 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5 ... 9  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 15 Queries | GZIP : On ]