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

Aktuelle Zeit: Mi Jul 09, 2025 04:44

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Mehrere Dreiecke
BeitragVerfasst: Fr Jan 24, 2003 15:22 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jan 02, 2003 13:38
Beiträge: 104
Wohnort: Bremen
Code:
  1. for i:=1 to 5 do
  2.  
  3.     begin
  4.  
  5.      setlength(seite,length(seite)+1);
  6.  
  7.      seite[high(seite)].x:=seite[high(seite)].x+20;
  8.  
  9.      seite[high(seite)].y:=0;
  10.  
  11.  
  12.  
  13.      glcolor3f(1,0,0);
  14.  
  15.      glbegin(gl_triangles);
  16.  
  17.      glvertex2d(seite[i].x,seite[i].y);
  18.  
  19.      glvertex2d(seite[i].x+20,seite[i].y+30);
  20.  
  21.      glvertex2d(seite[i].x+40,seite[i].y);
  22.  
  23.      glend();
  24.  
  25.  
  26.  
  27.     end;


damit müsste ich doch eigentlich 5 dreiecke nebeneinander zeichnen können oder? Ich hab absolut keine idee warum das nicht klappt. Es wird immer nur eins Angezeigt...

Hoffentlich weiß jemand rat :/

gruß Howi

_________________
------------------------------------------------------- <br>Wer andern eine Brawurst brät, <br>hat ein Bratwurst Bratgerät...... <br> <br>So long, Howard ^^ <br>-------------------------------------------------------


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 24, 2003 17:07 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

Versuch es mal so:

Code:
  1. for i:=1 to 5 do
  2.  
  3.  &nbsp; &nbsp;begin
  4.  
  5.  &nbsp; &nbsp; setlength(seite,length(seite)+1);
  6.  
  7.  &nbsp; &nbsp; seite[high(seite)].x:=seite[high(seite)].x * 20; // * nicht + !!
  8.  
  9.  &nbsp; &nbsp; seite[high(seite)].y:=0;
  10.  
  11.  
  12.  
  13.  &nbsp; &nbsp; glcolor3f(1,0,0);
  14.  
  15.  &nbsp; &nbsp; glbegin(gl_triangles);
  16.  
  17.  &nbsp; &nbsp; glvertex2d(seite[i].x,seite[i].y);
  18.  
  19.  &nbsp; &nbsp; glvertex2d(seite[i].x+20,seite[i].y+30);
  20.  
  21.  &nbsp; &nbsp; glvertex2d(seite[i].x+40,seite[i].y);
  22.  
  23.  &nbsp; &nbsp; glend();
  24.  
  25.  
  26.  
  27.  &nbsp; &nbsp;end;


sollte funktionieren.. denke ich... *guckt müde*

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 24, 2003 17:12 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jan 02, 2003 13:38
Beiträge: 104
Wohnort: Bremen
klappt leider nicht :(

versteh das auch nicht ganz.. ob ich nun addiere oder multipliziere..

der x-wert wird doch in beiden fällen erhöht...und davon mal ab ergibt mal20 einen ziemlichen großen x-wert...

klappt aber auch mit kleineren werten als 20 nich :(

_________________
------------------------------------------------------- <br>Wer andern eine Brawurst brät, <br>hat ein Bratwurst Bratgerät...... <br> <br>So long, Howard ^^ <br>-------------------------------------------------------


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 24, 2003 17:13 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Von was für einem Typ ist denn seite?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 24, 2003 17:16 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

also... bei "+" wirst du den unterscied nicht sehen... weil.. ähm.. keiner da ist.. *g*

Denn das X ist von vornherin 0! Das heißt, du rechnest jedesmal... 0 + 20... und peng..da ist mir auch mein fehler aufgefallen*g*

mach es so:
Code:
  1. seite[high(seite)].x:=i * 20;


Davor rechnete ich jedesmal 0*20... jetzt rechne ich 1*20.. 2*20.. 3*20.. etc.. :)

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 24, 2003 17:17 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Zitat:
Von was für einem Typ ist denn seite?


Wird denk ich mal noch so sein wie ich es ihm in nem Beispiel gemacht hatte.. :)

Code:
  1. TVertex2D = Record
  2.  
  3.  &nbsp;X, Y: Single;
  4.  
  5. end;


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 24, 2003 17:23 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Hab für Seite jetzt mal einfach ein array eines selbstdefinierten xy-Records genommen.
Also:
Code:
  1. seite[high(seite)].x:=seite[high(seite)].x+20;

Du stellst den X-Wert der höchsten Seite auf den X-Wert der höchsten Seite +20?? Da gehört wohl noch ein Minus hin...

Und wieso erstellst du das ganze mit jedem Renderdurchlauf neu?
Das musst du einmal am Start durchlaufen, weil meiner Meinung nach, sonst immer seite um 5 pro Frame erhöht wird, wo wir bei einer durchschnittlichen GraKa bei 2500 Erhöhungen pro Sekunde sind...
aber muss nicht stimmen... da bin ich mir nicht sicher... wenn SoS was dazu sagen könnte... :wink:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 24, 2003 17:24 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jan 02, 2003 13:38
Beiträge: 104
Wohnort: Bremen
jau super, ich hab 5 dreiecke :)

wenn du nun noch weißt wie ich einen abstand reinkriege, also das die nicht aneinander kleben bin ich dir ewig dankbar :lol:

_________________
------------------------------------------------------- <br>Wer andern eine Brawurst brät, <br>hat ein Bratwurst Bratgerät...... <br> <br>So long, Howard ^^ <br>-------------------------------------------------------


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 24, 2003 17:26 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
huhu,

einfach so:

Code:
  1. seite[high(seite)].x:=i * 20 + i * Abstand;


*murmelt leise und hämisch* und wieder ein Skalve der auf ewig mein ist *reibt sich die hände* :twisted:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 24, 2003 17:27 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jan 02, 2003 13:38
Beiträge: 104
Wohnort: Bremen
8)

da hätt ich auch selber druff komme können *batsch*

:idea:

_________________
------------------------------------------------------- <br>Wer andern eine Brawurst brät, <br>hat ein Bratwurst Bratgerät...... <br> <br>So long, Howard ^^ <br>-------------------------------------------------------


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 24, 2003 17:31 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hey~~ nich kaputt machen... '^^
Ich muß mir noch überlegen für was ich dich einsetze... *g*


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 24, 2003 17:44 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jan 02, 2003 13:38
Beiträge: 104
Wohnort: Bremen
Ich setz mich lieber schnell ins Ausland ab :lol:

_________________
------------------------------------------------------- <br>Wer andern eine Brawurst brät, <br>hat ein Bratwurst Bratgerät...... <br> <br>So long, Howard ^^ <br>-------------------------------------------------------


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 14 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.011s | 17 Queries | GZIP : On ]