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

Aktuelle Zeit: Fr Jul 18, 2025 04:21

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



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Tutorial "Abseits eckiger Welten"
BeitragVerfasst: Di Feb 17, 2004 13:58 
Offline
DGL Member

Registriert: Di Feb 17, 2004 13:02
Beiträge: 2
Wohnort: Warburg
Hi!
Das Tutorial "Abseits eckiger Welten" von Celphic (<- verbessert ;-) )ist - wie alle seine Tuts, die ich bisher benutzt habe, ziemlich gut - nur der Teil über Flächen ist meiner Meinung nach etwas kurz geraten.
Das Einbringen des Koordinaten-Loaders ist eine gute Sache - aber ich brauche in einem Projekt genau zwei durch Kurven eingefasste Flächen - da lohnt es sich nicht, dafür extra eine zusätzliche Datei mitzuschicken.
Aber das Aufbauen des Arrays ist nicht so 'n Problem - eine Fläche kriege ich auch Ohne Laden hin - nur:welche Koordinaten sind wofür?
Eine Zeichnung wie bei den Kurven wäre sehr schön für das Tut, fionde ich.
Wenn das niocht notwendig ist, dann habe ich wohl irgendwas übersehen - jedenfalls kriege ich meine Flächen nicht so konstruiert, wie ich sie gerne hätte.

Im Endeffekt brauche ich eine Art Sichel, also eine Fläche, die durch zwei Kurven eingefasst wird.

Danke schonmal im Vorraus

jongleur

_________________
http://www.proggen.de.ms
irc://irc.German-Irc.org/proggen
International German Developer Support : Questions and Help round about Programming ( Top: Delphi/Kylix; C/C++; C#; Java; Perl; TCL; PHP; SQL/MySQL; .NET; Webprogramming, VB and last but not least: LINUX)


Zuletzt geändert von jongleur am Di Feb 17, 2004 17:48, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 17, 2004 17:36 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Öhmm...... Das Tutorial ist von mir, nicht von Phobeus, aber nur so nebenbei. Du hast recht, hier wäre sicher ein Bildchen sinnvoll. Prinzipiell Handelt es sich um ein 4x4 (Array[0..3] of Array[0..3]) Gitternetz, dessen einzelne Punkte durch jeweils 3 Koordinaten(x,y,z) angegeben sind. Deshalb finden sich in der Datei 4x4=16 Zeilen, mit jeweils 3 Koordinaten. Vielleicht hilft diese kleine Erläuterung bereits.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 17, 2004 17:45 
Offline
DGL Member

Registriert: Di Feb 17, 2004 13:02
Beiträge: 2
Wohnort: Warburg
Delphic: sorry - hab mich verschrieben/verguckt.
das habe ich soweit begriffen, dass es sich dabei dann um 16 Punkte mit je 3 Koordinaten handelt.
Mein Problem ist, dass ich nicht genau nachvollziehen kann, wie sich daraus die Fläche zusammensetzt.

Bei der Kurve kannn ich aus der Zeichnung sehen, wie die Bezugspunkte etc sitzen.
Bei der Fläche hab ich - auch nach Deiner Antwort - keine Ahnung.

Und auch das rumprobieren mit verschiedenen Koordinaten hilft mir scheinbar incht weiter.
Über eine nähere Erklärung (oder einen verweis auf anderes Tutorial) würde ich mich freuen!
Danke
jongleur

_________________
http://www.proggen.de.ms
irc://irc.German-Irc.org/proggen
International German Developer Support : Questions and Help round about Programming ( Top: Delphi/Kylix; C/C++; C#; Java; Perl; TCL; PHP; SQL/MySQL; .NET; Webprogramming, VB and last but not least: LINUX)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 17, 2004 18:13 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Redbook Kapittel 12, das dürfte zur Veranschaulichung helfen.

Aber nochmal kurz:
Code:
  1.  
  2. x00--x01--x02--x03
  3. |    |    |    |
  4. x10--x11--x12--x13
  5. |    |    |    |
  6. x20--x21--x22--x23
  7. |    |    |    |
  8. x30--x31--x32--x33
  9.  

Zeilenweise von links nach rechts gelsen stellt dieses Gitter schematisch dar, was in der Beispieldatei angegeben ist(ohne die Höhe=2. koordinate). Die genaue Position der Knotenpunkte kann bei allen Koordinaten beliebig verschoben werden, weshalb jeder Punkt mit allen 3 Koordinaten angegeben ist.
Das Gitternetz ist nichts anderes, als mehrere Nebneinandergelegter, gleichaufgelöster Bezier Curven(hier trickst OpenGl übrigens), deren Vertices von jeweils 2 aneinanderliegenden Linien zu Polygonen zusammengefasst werden.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 12, 2006 18:03 
Offline
DGL Member

Registriert: Di Jun 22, 2004 17:40
Beiträge: 51
Wohnort: Aachen
das tutorial hat mich in diesem bereich schon nen guten schritt nach vorne gebracht, schönen dank :D

ich frag mich jetz nur, wie ich auch größere flächen mit bezier hinbekommen kann (z.B. ein gebirge darstellen o.ä.)
wenn ich einfach mehrere 16-punkte-felder nebeneinander setze, habe ich doch kanten an den verbindungsstellen oder?
(so wie ich das verstanden habe, kann man nur 16 punkte verwenden.. oder gehen da auch mehr?)

ich hoffe, man versteht, was ich möchte :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 13, 2006 12:13 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hmmm... Also du könntest z.B. definieren, dass immer am Rand der Patches alle Punkte auf 0 ligene, dann gibts keine Kanten (sieht zwar immer noch supoptimal aus aber schon besser.)

Andere Möglichkeit wäre Perlin Noise.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 13, 2006 14:35 
Offline
DGL Member

Registriert: Di Jun 22, 2004 17:40
Beiträge: 51
Wohnort: Aachen
verflucht ^^
ich dachte, da gibts ne einigermaßen einfache lösung für.
naja.. nu muss ich mich wohl sehr viel mehr mit dem ganzen drumherum beschäftigen :\


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 13, 2006 17:03 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Natürlich gehen da mehr Punkte als nur 16. Aber je mehr Punkte in der Bezier Kurve liegen, desto weniger Kontrolle hat man über die Form. Daher ist 4 pro Kurve ein guter Wert und man setzt dann größere Kurven aus solchen Bezier Segmenten zusammen.
Um die Kanten wegzubekommen, muß man einfach die Kontrollpunkte an den Seiten von benachparten Patches übereinstimmen lassen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 13, 2006 18:23 
Offline
DGL Member

Registriert: Di Jun 22, 2004 17:40
Beiträge: 51
Wohnort: Aachen
also bei mir klappt das nich so ganz (falls ich das richtig verstanden habe :P )
ich hab 2 bezier-segmente gezeichnet mit jeweils 16 punkten. an einer seite haben beide teile die selben punkte (halt genau so, wie ich deine ausführungen verstanden habe).
wie schon zu erwarten war, ist da aber ne kante drin.

wie genau has du das jetz gemeint? :)

PS: ich hoffe, man erkennt auf dem bild irgendwas oO


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 13, 2006 20:16 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Wenn man den Übergang auch noch weich haben möchte, dann müssen jeweils die Punkte der vorletzen Reihe auf einer Linie liegen.

so ungefähr, von der Seite aus gesehen


Code:
  1. P1 - P2 - P3 - P4/Q1  - Q2 - Q3 - Q4


P1..P4 soll die erste Kurve sein.
Q1..Q4 soll die zweite Kurve sein.
Die beiden Kurven berühren sich am gemeinsamen Punkt P4/Q1 .

Damit der Übergang glatt ist, müssen P3 und Q2 auf einer Linie durch P4/Q1 liegen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mär 14, 2006 10:27 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Frage zwischendurch:
Gibt es die Möglichkeit die Koordinaten in den Grafikspeicher zu laden und von dort zu Zeichen( Also like VBO's )?

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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.008s | 15 Queries | GZIP : On ]