Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

Formel gesucht
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12  Weiter
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Mathe-Forum -> Formel gesucht
 
Autor Nachricht
algebrafreak
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 28.10.2004
Beiträge: 4143
Wohnort: Passau

BeitragVerfasst am: 16 Jun 2005 - 11:01:44    Titel:

Ich wünschte, ich würde verstehen, wie Du das meinst. Kannst Du es bitte präziser (vielleicht an einem Objekt und einem entsprechenden Bild) formulieren?
algebrafreak
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 28.10.2004
Beiträge: 4143
Wohnort: Passau

BeitragVerfasst am: 16 Jun 2005 - 21:16:40    Titel:

Ich habe mir den Code angeschaut. Könntest Du mir bitte die Ausgabe für folgende Karte angeben: Objekt (-100,200,100,200).
progs
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 13.06.2005
Beiträge: 61

BeitragVerfasst am: 16 Jun 2005 - 21:22:23    Titel:

Ok, ist da und es funktioniert auch einwandfrei. Nur ist -/+ vertauscht, das heißt, - ist rechts und + links. Daher hab ich gedacht, es funktioniert nicht richtig.

Hab jetzt mal den Scalefaktor etwas verkleinert, damit man das komplett sieht. Es existiert eine ziemlich große Rundung. Könnte man das evtl. noch beheben?
algebrafreak
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 28.10.2004
Beiträge: 4143
Wohnort: Passau

BeitragVerfasst am: 16 Jun 2005 - 21:37:57    Titel:

Mach einfach beim Zeichnen der Linien statt x einfach BildBreite-x. Dann ist alles in Butter. Ist die Krümmung beim obigen Beispiel der flachen direkt vor Dir stehenden Platte groß?

Tipp: Wenn Du vor hast, das Programm aktiv ins Netz zu stellen, so mußt Du aufpassen, daß dein Provider Dir aufgrund der Serverüberlastung nicht der gar aus macht Smile
algebrafreak
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 28.10.2004
Beiträge: 4143
Wohnort: Passau

BeitragVerfasst am: 16 Jun 2005 - 22:13:24    Titel:

Zitat:
Hab jetzt mal den Scalefaktor etwas verkleinert, damit man das komplett sieht. Es existiert eine ziemlich große Rundung. Könnte man das evtl. noch beheben?


scalefactor sollte möglichst groß sein. Wenn Du das Bild größer oder kleiner machen möchtest, solltest Du einen zusätlichen Faktor einbauen. Wenn das Spielen mit den Größen nichts bringt, so werde ich eine Ent-Krümmung (Polynomielle Verzerrungskompensation) berechnen.
progs
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 13.06.2005
Beiträge: 61

BeitragVerfasst am: 17 Jun 2005 - 09:14:22    Titel:

Und nochwas ist mir aufgefallen:

Normalerweise sind ja an den Seiten des Bildes die Objekte am größen und zum Mittelpunkt hin werden sie immer kleiner (vergleich mit langen Gang, der irgendwann in der Mitte zu einem Punkt verläuft). Bei mir ist es aber momentan genau anders herum, sprich in der Mitte ist es am größten.
algebrafreak
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 28.10.2004
Beiträge: 4143
Wohnort: Passau

BeitragVerfasst am: 17 Jun 2005 - 12:46:40    Titel:

Hier ist was zum Thema "Fischaugeneffekt" und Krümmung:

Zitat:
You might be surprised to find out that our eyes give roughly the same view for the same reasons. If you stand close to a long wall, facing it, more or less as shown in the screenshot above, and without turning your head or moving your eyes, examine the path the top of the wall is following, you will see that far to your left the top of the wall is heading upwards from left to right. Then look at the wall straight in front of you and you'll see the top of the wall is flat. Now look at the top of the wall to your right, and you'll see that's it's heading back down, exactly as shown above.


Zitat aus: http://www.sbdev.pwp.blueyonder.co.uk/ray.htm

Der Weg der Kompensation ist anscheinend sehr einfach und besteht darin, den Anteil zu berechnen um wieviel weniger Entfernung ein Lichtstrahl, welcher auf eine zum Spielerblickwinkel senkrechte Wand direkt auftrifft, als einer durch den gegebenen Bildpunkt zu durchlaufen braucht.

Sei l die Entfernung zum Objekt und sei g die verzerrte Entfernung durch den Winkel alpha. Gesucht ist das Verhältnis von l zu g. Das ist offenbar l/g = cos(alpha).

Somit verändern sich die Codezeilen:

Code:

$height_draw = $height * $scalefactor / $alpha;


zu

Code:

$height_draw = $height * $scalefactor / ($alpha * $fish[$i]);


und es kommt bei der Winkelberechnung eine neue Zeile hizu:

Code:

$fish[$i] = cos(atan(2 * $i * $res_width[1] / ($resolution[0] * $scalefactor)))


Und ich glaube damit sind dann die Fische weg.

Es gibt aber noch ein Problem. So eine Engine ist nicht leicht, obwohl der Code ist sehr kurz Smile

Du mußt beim Zeichnen das MINIMUM aller Auftreffentfernungen mit anderen Objekten berechnen! D.h. dein Verfahren sollte zuerst alle Objekte durchlaufen und die Entfernung (alpha) bestimmen, die die kleinste ist um dann das Objekt mit der kleinsten entfernung (und somit mit der größten höhe) zu zeichnen.

Solltest Du Fenster oder Treppen plannen, so muß man dieses Konzept nochmal um ein paar Details abändern.


Zuletzt bearbeitet von algebrafreak am 17 Jun 2005 - 12:55:16, insgesamt einmal bearbeitet
progs
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 13.06.2005
Beiträge: 61

BeitragVerfasst am: 17 Jun 2005 - 12:51:06    Titel:

Der Fisch ist davongeschwommen.

Zitat:
Du mußt beim Zeichnen das MINIMUM aller Auftreffentfernungen mit anderen Objekten berechnen! D.h. dein Verfahren sollte zuerst alle Objekte durchlaufen und die Entfernung (alpha) bestimmen, die die kleinste ist um dann das Objekt mit der kleinsten entfernung (und somit mit der größten höhe) zu zeichnen.


Da hab ich mir schon was überlegt. Muss mal schauen, wie ich das am besten hinbastle.

Zitat:
Solltest Du Fenster oder Treppen plannen, so muß man dieses Konzept nochmal um ein paar Details abändern.


Jetzt sollte das erstmal so laufen Wink. Aber wenn Du bereits eine Idee und Formel parat hast, bin ich da gerne bereit das auch gleich mit einzubauen.
algebrafreak
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 28.10.2004
Beiträge: 4143
Wohnort: Passau

BeitragVerfasst am: 17 Jun 2005 - 12:53:08    Titel:

Na, dann. Ich sehe noch was. Du solltest den letzten Faktor (höhe der textur) aufrunden. Dann sind die Texturen nicht so verzerrt.
progs
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 13.06.2005
Beiträge: 61

BeitragVerfasst am: 17 Jun 2005 - 12:55:32    Titel:

Ok, Texturverzerrung ist jetzt weg. Erstmal Danke für alles.

Und wie schon oben gesagt, solltest Du eine Formel, etc. parat haben, bin ich gerne bereit, auch Fenster, Treppen, etc. mit einzubauen Wink
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Mathe-Forum -> Formel gesucht
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12  Weiter
Seite 6 von 12

 
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.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum