JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Normalen interpolieren

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
HomeLess_PunkDrummer
JLI Master Trainee


Alter: 36
Anmeldedatum: 28.11.2004
Beiträge: 583
Wohnort: Alter Joghurtbecher an der A4
Medaillen: Keine

BeitragVerfasst am: 14.11.2005, 15:23    Titel: Normalen interpolieren Antworten mit Zitat

Hey folkz.

Wenn ich ein Dreieck mit drei Normalen hab die alle verschieden sind, wie kann ich zwischen diesen interpolieren, also so dass ich genau die Normale für den Punkt hab, so dass ich mir Bezierkurven sparen kann? Ich hab den Punkt auf dem Dreieck und brauch die Normale an dem Punkt.

Thx schonmal.

Homeless_Raytracer
_________________
"Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
David
Super JLI'ler


Alter: 40
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 14.11.2005, 22:54    Titel: Antworten mit Zitat

Hi!

Ich weis nicht genau was du willst?!? Willst du für jedes Fragment auf deinem Polygon eine Normale berechnen?

Hm, mal so fix überlegt... Wink
Du könntest zu jeder Normalen die Distanz berechnen und zu jeder Koordinate den Wert der entsprechenden Normale addieren, abhängig von der Distanz.

Aber eine schöne Grümmung bekommst du damit auch nicht hin.

grüße
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 15.11.2005, 00:20    Titel: Antworten mit Zitat

Da Normalen ja eigentlich nix anderes sind, als Vektoren, würde ich sagen, dass du einfach die 3 Koordinaten einzeln interpolieren kannst. (Weiß jetzt nicht, ob David das selbe beschreiben wollte)

Jedenfalls solltest du so den die "resultierende" Normale erhalten, wenn du x, y und z der drei Normalen durch eine lineare Gleichung interpolierst. Dass es drei Normalen sind, sollte nicht stören. Man kann doch theoretisch (wie beim Satz des Pythagoras auf den Raum angewandt) die Interpolation zweimal durchführen, um alle drei Normalen miteinzubeziehen.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Slider|SD
Mini JLI'ler


Alter: 44
Anmeldedatum: 20.10.2005
Beiträge: 18
Wohnort: Gilching
Medaillen: Keine

BeitragVerfasst am: 15.11.2005, 00:31    Titel: Antworten mit Zitat

Nein, du darfst nicht einfach die einzelnen Achsen interpolieren.

Die Normalen sind ja Richtungsvektoren, die immer die Länge 1 haben. Du kannst dir das so vorstellen:
Stell dir eine Kugel vor, mit Radius 1. Deine erste normale steht beginnt nun also im Zentrum der Kugel und zeigt irgendwo auf die Kugelhülle. Das selbe gilt für die zweite Normale. Um nun also zwischen den Normalen zu interpolieren muss deine interpolierte Normale der Verbindungslinie auf der Kugelhülle folgen.
Würdest du einfach jede Achse interpolieren, würdest du nicht mehr auf der Kugelhülle fahren, sondern die Kugel durchschneiden, da dass die schnellste Verbindung zwischen zwei normalen Vektoren ist.

Lange Rede, kurzer Sinn, du solltest Quaternionen (Quaternions oder Quats genannt) aus deinen Normalvektoren erstellen, und diese Quaternionen interpolieren. Such mal im Google danach, du solltest was finden.
Wenn nicht, kann ich dir auch Code geben...

Gruß
Slider
_________________
Stefan Schwarzbach
Lead Programmer & Geschäftsführer
Grotesque - Die geniale Mischung aus Gothic , Final Fantasy und Monkey Island
Silent Dreams - We Create Dreams
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 15.11.2005, 12:52    Titel: Antworten mit Zitat

Klar sind Normalen keine X-Beliebigen Vektoren. Aber man kann den entstehenden Vektor ja schlichtweg normalisieren. Wink
Sonst könnte man mit Normalen ja so gut wie gar keine Berechnungen durchführen.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 15.11.2005, 20:55    Titel: Antworten mit Zitat

dabei aber bedacht, dass die normalen ja nur im lokalen Koordinatensystem des dreiecks wirklich Formen wie 1,0,0 usw. haben, muss also net unbedingt beim Weltkoord. dem entsprchen...

Naja, nur so ne Bemerkung am Rande.. Smile

Ich würde dir aber auch Quaternions dafür empfehlen(wie Slider|SD), hab ich sehr gute Erfahrungen mit gemacht Very Happy

Gruß DirectXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Slider|SD
Mini JLI'ler


Alter: 44
Anmeldedatum: 20.10.2005
Beiträge: 18
Wohnort: Gilching
Medaillen: Keine

BeitragVerfasst am: 16.11.2005, 13:07    Titel: Antworten mit Zitat

The Lord of Programming hat Folgendes geschrieben:
Klar sind Normalen keine X-Beliebigen Vektoren. Aber man kann den entstehenden Vektor ja schlichtweg normalisieren. Wink
Sonst könnte man mit Normalen ja so gut wie gar keine Berechnungen durchführen.


Das würde die Berechnung verfälschen, da du dannn nicht mehr in gleich großen Winkelschritten interpolieren würdest. Du willst ja nicht zwischen 2 Positionen interpolieren (das würde so gehen wir du es sagst), sodern zwischen 2 Winkel-Werten.

Das bedeutet, entweder aufwenig über Euler-Winkel, oder Quaternions.
_________________
Stefan Schwarzbach
Lead Programmer & Geschäftsführer
Grotesque - Die geniale Mischung aus Gothic , Final Fantasy und Monkey Island
Silent Dreams - We Create Dreams
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
HomeLess_PunkDrummer
JLI Master Trainee


Alter: 36
Anmeldedatum: 28.11.2004
Beiträge: 583
Wohnort: Alter Joghurtbecher an der A4
Medaillen: Keine

BeitragVerfasst am: 19.11.2005, 21:35    Titel: Antworten mit Zitat

Dude, was soll ich bei _Normalen_ mit Quats? Das sind Achsen mit einem Rotationswinkel um diese Achse, und das macht dementsprechend keinen Unterschied. Wie dem auch sei.

Wo wir gradde bei Quaternioniten sind, kann mir jemand mal erklären wie ich damit ne Kamera auf die Beine krieg, die für ein Space-Spiel tauglich ist? Hab nämlich grad wieder angefangen Edge Of Chaos zu zocken und will jetzt auch sowas cooles machen...

Gruz
_________________
"Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 20.11.2005, 16:20    Titel: Antworten mit Zitat

bruachst du dafür umbedingt Quaternions? Das einzige Problem welches dabei auftreten könnte, wäre wohl der UP-Vector. Aber den müsste man ja normalerweise bereechnet kriegen.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum