Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: Che Guevara


 Thema: Gehirnsalat ( wir unter uns )
« erste « vorherige 1 ... 4799 4800 4801 4802 [4803] 4804 4805 4806 4807 ... 6582 nächste » letzte »
erste ungelesene Seite | letzter Beitrag 
[DK]Peacemaker

[dk]peacemaker
Beim zweiten Nachdenken, fehlen da vielleicht noch ein paar Sachen, aber einfache Kameras sind eigentlich oftmals direkt zu Beginn von entsprechenden Tutorials angesprochen.

Hast du denn Vorgaben, was die Kamera alles können soll?

--------------------- (Trigger Linie)
Also die 4 oben angegebenen Parameter erzeugen die Projektionsmatrix, die man eigentlich nur einmal berechnen muss, so lange man nicht Zoomen möchte. Dafür müsste es eigentlich entsprechende Funktion geben (PerspectiveLeftHand oder so.)

Die Kamera-Position, Richtung und Ausrichtung erzeugen die View-Matrix (bin oben etwas durcheinander gekommen), in DirectX nennt man das Look-At Matrix, welche mit einer ähnlich benannten Methoden erzeugt werden kann.

Die Idee ist dann eben, die Position, Richtung und Ausrichtung mittels Matrizen so zu verändern, dass es natürlich wirkt. In einem EGO-Shooter würde man z.B. grundsätzlich die Richtung ändern, bei einer Draufsicht würde man Position und Richtung gleichmäßig verschieben.

Wenn man sich die Bewegungsmöglichkeiten eines Hubschraubers als Vorbild nimmt, kann man da entsprechende Methoden für anbieten.

-----------------
Noch was, ich würde statt dem Punkt, wo die Kamera hinschaut, einen Vektor speichern, der angibt, der zu der Position addiert wird und dann das Ziel angibt. Das macht einige Berechnungen einfacher und lässt sich auch leichter vorstellen. Vorallem muss man dann bei vielen Operationen, nicht immer beide Punkte transformieren (beim Strafen z.B.).
[Dieser Beitrag wurde 3 mal editiert; zum letzten Mal von [DK]Peacemaker am 05.08.2010 15:34]
05.08.2010 15:25:04  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Renga

renga
verschmitzt lachen
Warum Hausarbeiten machen, wenns Peace doch kann? Merk ich mir fuer die Zukunft!
05.08.2010 15:33:54  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[DK]Peacemaker

[dk]peacemaker
 
Zitat von Renga

Warum Hausarbeiten machen, wenns Peace doch kann? Merk ich mir fuer die Zukunft!


Wenn deine Hausaufgaben spannend, aber nicht sonderlich aufwändig sind, mach ich das doch glatt.

/e: Darf ich jetzt eigentlich "aufwändig" schreiben, oder ist das O.K. so lange Skunky betrunken ist?
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von [DK]Peacemaker am 05.08.2010 15:36]
05.08.2010 15:35:55  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Achsel-des-Bösen

AUP Achsel-des-Bösen 06.10.2009
Ich Quote hier mal folgenden Post aus der "Informatik helfen..." Thread im pOT und will ihn hier diskutieren und mir von halbdepperten Usern reinquatschen zu lassen.

In dem Post behauptet Klappfallscheibe, dass "out" Parameter bei Methoden schlechter Stil wären:

 
Zitat von Klappfallscheibe

 
Zitat von Wraith of Seth

Was genau ist daran jetzt schlechter Stil?


Es entspricht nicht dem erwarteten Verhalten. Normalerweise gibt es nur einen Rückgabewert und übergebene Parameter bleiben unverändert. Abweichungen davon machen fremden Code nur schwer lesbar:

 
Code:
int a = 0, b = 0, c = 1, d = 2;
a = some_func(b, c, d);

Bei Verwendung einer solchen Funktionen ist auf Anhieb noch nicht einmal erkennbar, dass es mehrere Rückgabewerte gibt, geschweige denn, welche die Ein- und welches die Ausgabe-Parameter sind.

Besser wäre z.B. so etwas:

 
Code:
#include <iostream>

typedef struct {
    int a;
    int b;
} two_ints;

two_ints some_func(int c, int d);

int main(void)
{
    int x = 10, y = 20;
    two_ints r;

    r = some_func(x, y);
    std::cout << "r.a = " << r.a << ", r.b = " << r.b << std::endl;
}

two_ints some_func(int c, int d)
{
    two_ints ret;

    ret.a = c + d;
    ret.b = c - d;

    return ret;
}




Ich behaupte: Bullshit. Die "Rückgabe" über Parameter ist völlig legitim.
1.) Sollte man gefälligst mal die Doku von Methoden lesen die man verwendet.
2.) Kann man, wenn man denn wirklich sicher gehen will, Parameter die sich nicht ändern immernoch mit final/const markieren.
05.08.2010 15:43:09  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
TriggerTG

TriggerTG
http://www.kayak.com/explore/?airport=YYC#/YYC?a=any&d=any&fb=200,8730&l=any&ll=1.58183,-0.175781&ns=n&s=0&t=-20,113&z=3
05.08.2010 15:45:09  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
cms

AUP cms 14.11.2012
@Peace: Gefordert sind Standort, Blickrichtung, Ausrichtung (View Up Vector), Sichtwinkel. Außerdem soll das ganze mittels glLoadMatrix() implemtiert werden, was aber kein weiteres Problem darstellt, da dieses bereits innerhalb meiner rotate-, scale- und translate-Funktionen implementiert ist.

Eigentlich gibt OpenGL für alles Mögliche (auch oben genanntes) Funktionen vor, aber eines der Ziele der Vorlesung* ist es, die Arbeitsweise von OpenGL zu verstehen und dementsprechend etwaige Funktionen selbst zu implementieren.

In einer späteren Aufgabe soll dann noch eine Maussteurung für Rotation und Zoom implementiert werden.

*Die Vorlesung heißt "Labor Grafikprogrammierung" und ist eine Vertiefungsvorlesung für die Vorlesung "Graphische Datenverarbeitung I". Der Inhalt ist lustiges OpenGL-Programmieren mit C++.
05.08.2010 15:47:59  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[DK]Peacemaker

[dk]peacemaker
@cms, man glaubt es kaum, aber das DirectX SDK und die enthaltene Dokumentation, beschreibt sehr genau, welche Berechnungen durch die entsprechende Methode umgesetzt wird. Für eine Microsoft Framework ist das sehr ausführlich.

@Achsel: also Ausgabe über Parameter ist völlig legitim. Es ist nur selten notwendig, aber manchmal der eleganteste Weg (siehe TryGetValue, TryParse Methoden im .NET Framework), bei dem man zusätzliche Informationen bereitzustellen, die über den Return-Type hinausgehen und es auch nicht erfordern, diesen zu kapseln.

----------------

Soweit mir bekannt, müssen Parameter in jeder Sprache entsprechend für diesen Zweck markiert werden, in C++ kann ich zum Beispiel nicht einfach einen "int" übergeben und diesen verändern, da muss der "Aufrufer" schon wissen, dass ich einen Zeiger brauche, sonst bekommt er ja einen Compiler-Fehler. In .NET braucht es das "out"-Keyword, womit solche Parameter markiert werden.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von [DK]Peacemaker am 05.08.2010 15:54]
05.08.2010 15:52:36  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
cms

AUP cms 14.11.2012
 
Zitat von [DK]Peacemaker

@cms, man glaubt es kaum, aber das DirectX SDK und die enthaltene Dokumentation, beschreibt sehr genau, welche Berechnungen durch die entsprechende Methode umgesetzt wird. Für eine Microsoft Framework ist das sehr ausführlich.


Das werde ich mir mal angucken.
05.08.2010 16:04:26  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Klappfallscheibe

Arctic
 
Zitat von Achsel-des-Bösen

 
Zitat von Klappfallscheibe

Abweichungen davon machen fremden Code nur schwer lesbar:



Ich behaupte: Bullshit. Die "Rückgabe" über Parameter ist völlig legitim.
1.) Sollte man gefälligst mal die Doku von Methoden lesen die man verwendet.
2.) Kann man, wenn man denn wirklich sicher gehen will, Parameter die sich nicht ändern immernoch mit final/const markieren.


Ich hab dir mal was hervorgehoben.

 
Zitat von [DK]Peacemaker

(siehe TryGetValue, TryParse Methoden im .NET Framework)


Und sowas hätte man nicht über Exceptions lösen können?

 
Zitat von [DK]Peacemaker
Soweit mir bekannt, müssen Parameter in jeder Sprache entsprechend für diesen Zweck markiert werden, in C++ kann ich zum Beispiel nicht einfach einen "int" übergeben und diesen verändern, da muss der "Aufrufer" schon wissen, dass ich einen Zeiger brauche, sonst bekommt er ja einen Compiler-Fehler.



 
Code:
#include <iostream>

void change_x(int &x);

int main(void)
{
    int x = 10;
    std::cout << x << std::endl;

    change_x(x);

    std::cout << x << std::endl;

    return 0;
}

void change_x(int &x)
{
    x = 5;
}

Compiliert fehlerfrei.
05.08.2010 16:05:51  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
jdo_O

Arctic
Für mich ist eine out-Variable eine "Verglobalisierung" einer Variable und fühlt sich für mich, als beruflich gezwungener Java-Fanboi, falsch an. -> schlechte Kapselung meiner Meinung
05.08.2010 16:11:49  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
GarlandGreene

Mod GIGN
 
Zitat von Klappfallscheibe

 
Zitat von [DK]Peacemaker

(siehe TryGetValue, TryParse Methoden im .NET Framework)


Und sowas hätte man nicht über Exceptions lösen können?



hat man mit den Parse-Methoden ja auch so gemacht. Es ist aber einfach praktisch, sowas in nem Einzeiler machen zu können. Und da viele Anwender sich da was eigenes gebastelt haben, hat man das halt ab .Net 1.1 oder 2.0 ins Framework integriert. Mir fällt auch beim besten Willen kein Grund ein, das nicht so zu machen. Wenn ich in C# einen out-Parameter an eine Methode übergebe, ist mir allein deshalb schon mehr als klar, daß mit dem Parameter da rumgespielt wird und daß dessen Wert sich ändert.
05.08.2010 16:12:19  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[DK]Peacemaker

[dk]peacemaker
 
Zitat von Klappfallscheibe

Und sowas hätte man nicht über Exceptions lösen können?
[b]


Die gleichen Methoden existieren, ohne dass "Try", welche dann auch Exceptions werfen. In dem Fall ist das echt praktisch.

 
[b]Compiliert fehlerfrei.


Mein Fehler, hatte ich anders im Kopf, wegen besagtem "out" in C#.

Ich würde dir ja zustimmen, dass man solche Methoden nur spärlich einsetzen sollte. Ich selbst mag es zum Beispiel nicht, wenn die Ausgabe nur über den Parameter erfolgt. Lediglich, wenn ich sehr einfache Informationen transportieren muss, wie oben angegeben, würde ich davon Gebrauch machen.

Dass das schlechter Stil ist seine Methoden allgemein so zu definieren, wenn man aber über gute Möglichkeiten verfügt, diese entsprechende zu kennzeichnen ("out"), dann entsteht zumindest schon mal keine Verwirrung. Ich nehme auch an, dass Achsel kein Beispiel im Kopf hat, was über meine TryXXX hinaus geht, wo es sinnvoll wäre. Aber gerade da macht es sinn.

Dass man das ganze auch zu weit treiben kann, zeigt ein Blick in die COM-Programmierung, wo das genutzt wird um Status-Codes zurückzugeben, wofür dann extra Makros existieren wie "SUCCEEDED()", "FAILED()" etc. Furchtbar.

-------------
Ohje, ich räum den Post jetzt nicht mehr auf, ich werde halt einfach alt.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von [DK]Peacemaker am 05.08.2010 16:19]
05.08.2010 16:16:58  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Achsel-des-Bösen

AUP Achsel-des-Bösen 06.10.2009
 
Zitat von [DK]Peacemaker

Ich nehme auch an, dass Achsel kein Beispiel im Kopf hat, was über meine TryXXX hinaus geht, wo es sinnvoll wäre. Aber gerade da macht es sinn.



Plain old C: fread
05.08.2010 16:23:51  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[DK]Peacemaker

[dk]peacemaker
 
Zitat von Achsel-des-Bösen

 
Zitat von [DK]Peacemaker

Ich nehme auch an, dass Achsel kein Beispiel im Kopf hat, was über meine TryXXX hinaus geht, wo es sinnvoll wäre. Aber gerade da macht es sinn.



Plain old C: fread


Hab ich eben ungünstig formuliert;
fread
liefert ja sehr hilfreiche Informationen als Rückgabewert, ähnlich wie die TryXXX-Methoden. Ich hatte jetzt eher an solchen Unsinn wie
 
Code:
void add(int left, int right, int& sum);

gedacht.
05.08.2010 16:29:14  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Smoking

AUP Smoking 09.09.2023
Yeah, gerade auf dem Nachhauseweg mit dem Rad aufs Maul gepackt. Neben diversen Schürfwunden scheine ich mir tatsächlich die Hüfte geprellt zu haben. Laufen ist gerade nicht so angenehm.
05.08.2010 18:55:02  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Noch_ein_Kamel

Guerilla
Gott is Numbers scheisse.

"Wir nehmen Videoaufnahmen von allen möglichen Verkehrsaufnahmen und dann suchen wir Gemeinsamkeiten und tracken das Fahrzeug vom Verdächtigen" und gefühlt keinen Tag später ist das Ergebnis da...
05.08.2010 21:20:22  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Danzelot

AUP Danzelot 28.02.2014
Ach was. Die Technik ist da, sieht man ja auch in CSI.
05.08.2010 21:42:34  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
igor]2

Phoenix
Skunky, hattest du nicht neulich mit Sound, DirectX, usw. herumgespielt? Der Thread nebenan scheint deine Hilfe zu brauchen.
05.08.2010 22:29:19  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
igor]2

Phoenix
Ach. Wacken. Thread lesen hilft.
05.08.2010 22:35:29  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
 
Zitat von Y2Keeper

 
Zitat von Iceman3000

Lasst SirSiggi NIEMALS in euer HEIMNETZ oder *trommelwirbel* in "euer" Internet!!



Zu spaet. Wobei er scheinbar oefters mal vergisst sich aus diversen Seiten auszuloggen Breites Grinsen


Willkommen in deiner Welt. Augenzwinkern
05.08.2010 22:44:16  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
igor]2

Phoenix
Und ich kann Klappfallscheibe schon verstehen, geht mir naemlich aehnlich. Ich habe da einfach so eine funktionale Weltsicht drin -- Parameter gehen rein, Ergebnis kommt raus. Bei Bedarf halt als Record, Tupel, sonstwas. Out-Parameter "fuehlen sich einfach unsauber an". Wenn schon, dann wirklich mit klar vom Compiler erzwungener Markierung, also "out", oder explizit als Zeiger in C; nach Moeglichkeit auch klar in In- und Out-Argumente getrennt. Gerade das, was call-by-reference in C++ erlaubt, finde ich da schnell verwirrend, wenn man fremden Code liest. Aber Stilfragen sind ein Stueck weit halt Geschmacksfragen.
05.08.2010 22:50:01  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
igor]2

Phoenix
Und das mit TryParse/Parse hatten wir hier doch schonmal. Die Try...-Methoden sind nicht nur einfache Wrapper um die normalen Methoden, die eine Exception fressen, sondern in ihnen wird die Exception gar nicht erst erzeugt. Grund war der Overhead fuer Exceptions, sind also mehr als reine "Convenience"-Funktionen.
05.08.2010 22:52:48  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
igor]2

Phoenix
So, ich habe genug heisse Luft fuer heute abgesondert. Weitermachen.
05.08.2010 22:56:14  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
flying sheep

AUP flying sheep 04.12.2011
wow, hab selten eine seite gesehen, die so elegant das ganze webframeworkzeug einsetzt wie die hier:
http://www.wolfire.com/comic
sogar das mausrad-kippen macht das, was es soll!
05.08.2010 23:11:43  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Ashtray

ashtray2
 
Zitat von rABBI

 
Zitat von igor]2

Du hast den Code, den wir dir hier genannt haben, wirklich in einem Produktionssystem verwendet? Uh oh...


als produktiv würde ich das system jetzt nicht unbedingt bezeichnen.


BITTE? Wütend
05.08.2010 23:14:25  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
TriggerTG

TriggerTG
So. Inception gesehen.

1) Bei dem vorherigen nachschlagen des Begriffs habe ich die falsche Interpretation gewählt
2) Der Film ist nicht auf Biertrinker ausgelegt. Zumindest war der Druck auf der Blase zum Schluss (nach 2:30h) sehr groß. Hatte eigentlich eine Pause erwartet fröhlich
3) Die vielen positiven Stimmen haben eine zu hohe Erwartung in mir geschürt. Erwartet habe ich: Das Gefühl wie nach Matrix I damals. Aber das kann wohl kein Film schaffen. Schließlich war ich damals viel jünger und Technik und Inhalt war komplett neu. Inception ist trotzdem ein sehr cooler, lohnender Film. Aber wenn sich die Stadt sphärisch krümmt, beeindruckt das inzwischen leider nicht mehr sonderlich. Zu viel CG überall fröhlich
Spoiler - markieren, um zu lesen:

4) Das Sopranos-Ende hat mir nicht so gepasst. Wobei man bei den Sopranos mit gewisser Sicherheit sagen konnte, was von den Regisseuren gedacht war. Sprich man wusste, was am Ende passiert ist. Bei Inception ist es wirklich der Phantasie des Besuchers überlassen.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von TriggerTG am 05.08.2010 23:50]
05.08.2010 23:47:58  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
TriggerTG

TriggerTG
05.08.2010 23:57:20  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Danzelot

AUP Danzelot 28.02.2014
Ich hab hier ein Forum mit etwa 400 Visitors und 3000-5000 Klicks am Tag. Wenn ich da simple Textanzeigen schalte, wie viel Geld kommt da wohl rein? Genug, dass sich das selbst finanzieren kann?
06.08.2010 0:04:36  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
TriggerTG

TriggerTG
Nüscht, sofern mein Stand von vor 3-4 Jahren noch aktuell ist. Eigentlich müsste es wahrscheinlich sogar noch schlimmer geworden sein. D.h., du musst wahrscheinlich dafür zahlen da Werbung schalten zu dürfen fröhlich.
06.08.2010 0:07:58  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Danzelot

AUP Danzelot 28.02.2014
Das hatte ich befürchtet

Naja, da hat einer was geschrieben dass er bei 1000 Klicks am Tag etwa 50 Cent macht, das würde ja eigentlich reichen für das Forum.
06.08.2010 0:15:40  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: Gehirnsalat ( wir unter uns )
« erste « vorherige 1 ... 4799 4800 4801 4802 [4803] 4804 4805 4806 4807 ... 6582 nächste » letzte »

mods.de - Forum » Webdesign & Coding » 

Hop to:  

Thread-Tags:
Mod-Aktionen:
23.08.2018 12:40:15 TriggerTG hat den Thread-Titel geändert (davor: "Wiederbelebungssalat")
09.03.2017 08:55:19 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
21.05.2014 16:08:26 Redh3ad hat den Thread-Titel geändert (davor: "Hochzeitssalat")
10.05.2014 09:43:28 Redh3ad hat den Thread-Titel geändert (davor: "Gehirnsalat")
19.10.2013 21:43:03 [DK]Peacemaker hat diesen Thread repariert.
04.10.2013 20:11:45 TriggerTG hat den Thread-Titel geändert (davor: "Damiferkel-Salat")
29.08.2013 19:59:27 [DK]Peacemaker hat den Thread-Titel geändert (davor: "HerpDerpSalat")
19.08.2013 10:04:19 TriggerTG hat den Thread-Titel geändert (davor: "SirSiggiSalat")
13.08.2013 18:43:13 TriggerTG hat den Thread-Titel geändert (davor: "Kamelwochensalat")
05.08.2013 09:47:37 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
24.06.2013 16:30:39 TriggerTG hat den Thread-Titel geändert (davor: "cmssalat")
20.06.2013 12:58:35 TriggerTG hat den Thread-Titel geändert (davor: "Krissalat")
13.06.2013 10:59:25 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
08.06.2013 11:28:06 TriggerTG hat den Thread-Titel geändert (davor: "rABBIntensalat")
03.06.2013 09:56:52 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")

| tech | impressum