Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Suchergebnisse

Suchergebnisse 1-20 von insgesamt 568.

Werbeanzeige

21.02.2021, 17:17

Forenbeitrag von: »Sk!p«

Projektion 2D-Punkt auf Ebene

Hi, kann jemand nachvollziehen, wie folgendes Snippet funktioniert? Was es insgesamt tut, kann ich mir einigermaßen erschließen, aber für die Zwischenschritte fehlt mir etwas die Intuition. Insbesondere habe ich mich gefragt, ob man das dot-product nicht normalisieren müsste, bevor man damit weiterrechnet. Welche Projektion repräsentiert es denn sonst? Und warum wird es dann von plane.d subtrahiert. Kurz, wie "funktioniert" diese Rechnung? Kann mir da jemand auf die Sprünge helfen? C-/C++-Quellt...

30.07.2018, 18:59

Forenbeitrag von: »Sk!p«

Perspektivische Projecktion: Tangens-Rechenregel

Ahja, besser noch mal Abstand nehmen und den Text lesen und verstehen. Die Grafik ist aber auch maximal verwirrend. Zu den Formeln: Es gibt im Editor für den Beitrag ein Latex-Tag. Innerhalb dessen kannst du normales Tex-Markup schreiben. Zitiere einfach meinen Beitrag und schau dir den Quelltext an.

30.07.2018, 15:42

Forenbeitrag von: »Sk!p«

Perspektivische Projecktion: Tangens-Rechenregel

Von hier stammt das Bild aus dem Anhang. Wie kommt man denn auf die Gleichung §\tan{\frac{a}{2}} = \frac{1}{d}§ ? Ich hätte gesagt, es gilt §\tan{\frac{a}{2}} = \frac{d}{2}§

19.09.2017, 11:22

Forenbeitrag von: »Sk!p«

Kreise/Kugeln, Duplikate entfernen

Richtig, Quad/Octrees kamen mir auch schon in den Sinn, aber das wäre dann doch etwas mit Kanonen auf Spatzen geschossen. In der Praxis wird meine Kugel-Menge ohnehin immer weniger als 100 Elemente enthalten. Im Beispiel von David wäre es übrigens egal, welche Kugeln rausfliegen bzw. ich führe dann noch eine Wertigkeit pro Kugel mit und es soll bei übereinanderfallenden Kugeln die "beste" übernommen werden.

18.09.2017, 23:08

Forenbeitrag von: »Sk!p«

Kreise/Kugeln, Duplikate entfernen

Hi, folgendes Problem: Ich habe eine Menge von 2D-Kreisen oder 3D-Kugeln und möchte möglichst effizient Duplikate aus der Menge entfernen (bzw. eine neue Menge ohne Duplikate erzeugen). Ein Duplikat liegt dann vor, wenn sich jeweils zwei der Kreise/Kugeln schneiden. Hat jemand eine Idee, wie ich so was umsetzen kann? Ich müsste ja so was Ähnliches wie einen Hash bauen. Ich könnte im vorliegenden Fall zwar notfalls auch den navien O(n²)-Algorithmus umsetzen, aber vielleicht geht es ja mit wenig A...

04.06.2016, 21:59

Forenbeitrag von: »Sk!p«

Kameradaten remote übertragen

Klingt schon mal nicht schlecht. Wir unterstützten aber noch mehr Standards als Ethernet (insbesondere USB) und hätte gerne eine Lösung für alles. Darüber hinaus fand ich die Interface-Spezifikation bei CORBA auch immer relativ eklig. Das ist längerfristig einfach sehr schwer zu warten, ganz besonders wenn Client & Server von unterschiedlichen Parteien implementiert werden. Das ist bei SOAP doch ähnlich?! Mich wundert es aber, dass es da so wenig Informationen zu gibt. Ich recherchiere jetzt sch...

04.06.2016, 12:37

Forenbeitrag von: »Sk!p«

Kameradaten remote übertragen

Hallo, ich habe eine Applikation, die Kameras ansteuern und verwalten kann. Hier würde ich jetzt gerne noch ein Netzwerk-Layer dazwischen schalten. D.h. alle Kamerasysteme sollen direkt mit leichtgewichtigen Instanzen angesteuert werden, die im Prinzip nur die Rohdaten der Kamera entgegennehmen, puffern, vielleicht noch vorverarbeiten. Die Hauptarbeit wie Weiterverarbeitung, Anzeige, etc. soll dann auf einem Remote-Controller erfolgen. Wie das Ganze dann im Detail designed wird, steht natürlich ...

25.03.2016, 14:28

Forenbeitrag von: »Sk!p«

Factory mit variadic template arguments

Zitat von »dot« Erklär vielleicht mal, wofür genau du eigentlich die abstract Factory zu brauchen meinst, dann können wir uns evtl. eine Lösung überlegen... Das hab ich ja mit meinem letzten Beitrag zu erklären versucht. Es geht mir darum, dass ich die Instanziierung der Klassen kontrollieren will. Wir haben Klassen, die nur dann instanziierbar sein sollen, wenn zum Zeitpunkt der Instanziierung ein Hardware-Key am System hängt. D.h. die Instanziierung ist dann nicht mehr einfach C-/C++-Quelltex...

23.03.2016, 21:16

Forenbeitrag von: »Sk!p«

Factory mit variadic template arguments

Ich bin mir nicht sicher, ob klar ist, was ich meine. Deshalb noch mal zur Verdeutlichung: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 class AbstractCreator { virtual ~AbstractCreator(); virtual Class* create( Type type, Foo foo ) const = 0; }; class BasicCreator : public AbstractCreator { public: virtual Class* create( Type type, Foo foo ) const override { return new Class( type, foo ); } }; class CheckedCreator : public AbstractCreator { pu...

23.03.2016, 15:02

Forenbeitrag von: »Sk!p«

Factory mit variadic template arguments

Zitat von »anti-freak« Wenn ich dich richtig verstehe, suchst du folgendes: C-/C++-Quelltext 1 2 3 4 5 6 7 8 template <class Class, typename... Args> Class& createUnit(Args&&... _args) { auto ptr = std::make_unique<Class>(std::forward<Args>(_args)...); auto& ref = *ptr; // speichere den ptr irgendwo return ref; } Ja genau, wobei createUnit bei mir dann in einer Klassenhierarchie steht und als virtuelle Methode überladen wird. Dass das nicht mehr geht, sobald variadic templates im Spiel sind, is...

22.03.2016, 19:09

Forenbeitrag von: »Sk!p«

Factory mit variadic template arguments

An der Lösung für folgendes Design-Problem beiße ich mir jetzt schon länger die Zähne aus und fange langsam an, daran zu zweifeln, dass es eine (schöne) Lösung dafür gibt. Ich versuche es möglichst kurz und verständlich zu halten. Eine meiner zu instanziierenden Klassen: C-/C++-Quelltext 1 2 3 4 5 class Class { public: Class(Type type, Foo foo); }; Interface, um Details über die Instanziierung zu kapseln: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class AbstractCreator { virtual ~Abstract...

14.09.2015, 11:10

Forenbeitrag von: »Sk!p«

RAII über method-scope

@drakon: Das ist aber auch nur begrenzt möglich bzw. wird designtechnisch dann ziemlich hässlich, denn die asynchrone Operation ist in dem Fall reine Berechnungslogik. Damit würde ich dann ja GUI-Zeugs oder sonstige Ressourcen mit reinziehen, was da logisch überhaupt nicht hingehört. Die Lösung von dot ist auch eine der wenigen, die mir eingefallen ist. Auch dann schickt man zwar GUI-Krempel oder sonstige Ressourcen in die Berechnung, die da nicht wirklich hingehören und hat einen Methodenparame...

13.09.2015, 18:49

Forenbeitrag von: »Sk!p«

RAII über method-scope

Hi, die meisten kennen ja vermutlich das Konzept. Einfaches Beispiel: C-/C++-Quelltext 1 2 3 4 5 6 void foo() { WaitCursorObject wco; someComplicatedOperations(); finalize(); } Wie kann ich dieses Konzept aber weiterhin nutzen, wenn ich z.B. so eine Architektur habe: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 void foo() { // WaitCursorObject wco; ? showWaitCursort(); // so kompliziert, dass es intern einen Berechnungsthread startet oder auf irgendeinem anderen // Weg ...

09.07.2015, 15:31

Forenbeitrag von: »Sk!p«

2D-Array in feiner werdenden Gittern iterieren

Das sieht ziemlich abgefahren aus, wäre aber so ziemlich exakt das, was ich suche. Hast du das selbst geschrieben oder ist das von irgendwo kopiert? Magst du mal erklären, was z.B. die ganzen Template-Parameter bedeuten. So ganz blick ich durch die abgefahrene Index-Berechnung noch nicht durch.

06.07.2015, 12:20

Forenbeitrag von: »Sk!p«

2D-Array in feiner werdenden Gittern iterieren

Ja, das ist schon ziemlich genau das, was ich suche. Ich würde mir jetzt nur wünschen, dass ich meine Iterationsgröße abhängig von der Eingangsgröße machen kann und nicht z.B. wie bei Adam7 alias dem PNG-Interlacing-Algo immer in fixen 8x8 Patches iterieren muss. Geht das auch irgendwie?

04.07.2015, 15:18

Forenbeitrag von: »Sk!p«

2D-Array in feiner werdenden Gittern iterieren

Zitat von »BlueCobold« Das geht rekursiv ganz prima. Die Frage ist eher: wozu? Um z.B. dem User ein Objekt anzuzeigen, was vorher an allen Punkten evaluiert werden muss. Und damit dieser nicht warten muss, bis alles komplett fertig ist, zeigt man ihm eben ein Schritt für Schritt feineres Raster an, damit er möglichst schnell reagieren kann. Eine rekursive Lösung ist mir auch schon eingefallen, aber rekursive Algos kann man eben nicht immer auf so großen Matrizen nehmen, weil es irgendwann zu vi...

02.07.2015, 17:27

Forenbeitrag von: »Sk!p«

2D-Array in feiner werdenden Gittern iterieren

Hallo, sagen wir, ich habe ein 4096x4096-2d-Array (wobei die Größe idealerweise beliebig sein kann) und möchte es zuerst in einem groben, dann sukzessive immer feineren, regelmäßigem Gitter iterieren und dabei jeden Index genau einmal besuchen. Für so was muss es doch irgendwo schon einen Algo geben, aber ich finde leider nichts. Für den 1D-Fall lässt sich das sehr simpel umsetzen, indem man Startindex und Schrittgröße geeignet wählt. Die Verallgemeinerung auf 2D funktioniert aber nicht mehr ohn...

28.04.2015, 14:35

Forenbeitrag von: »Sk!p«

In die Position unterhalb des Mauszeigers zoomen

Professionelle Skizze: index.php?page=Attachment&attachmentID=3306 Mein derzeitiger Objektzoom ist so implementiert, dass er einfach die z-Position der Kamera verändert. Ich will jetzt aber mit der Maus einen Punkt anvisieren, der beim zoomen immer unterhalb der Maus bleibt und dort auch reinzoomt. D.h. ich muss höchstwahrscheinlich den roten Offset zwischen diesen beiden Ansichten noch setzen. Wie komme ich da aber dran bzw. wie berechne ich ihn? Ich habe Kamera- und Objektposition und natürlic...

14.10.2014, 15:32

Forenbeitrag von: »Sk!p«

Methoden mit Default-Arguments in dll

Ich habs mir mal per DependencyWalker angeschaut, aber sonderlich viel erkenne ich da nicht. Die Funktion ist in der DLL ohne Anhängsel vorhanden und hat auch den zusätzlichen Parameter. Nur dass der per Default gesetzt ist, kriege ich da nicht angezeigt, allerdings auch nicht bei der Funktion, für die es funktioniert. Das mit extern "C" heißt, ich würde die DLL-Funktion aus einem Extern-C-Bereich aufrufen? Ich kann noch mal nachschauen, aber das halte ich eigentlich für ausgeschlossen. /edit: P...

10.10.2014, 15:28

Forenbeitrag von: »Sk!p«

Methoden mit Default-Arguments in dll

Hallo, ich habe da ein seltsames Problem. Wir benutzten seit Ewigkeiten eine dll in unserem Projekt, die über build-Skripte generiert und eingebunden wird. Man kann also davon ausgehen, dass das alles funktioniert. Nun wollte ich eine Funktion daraus um ein Default-Argument erweitern, aber sobald die dll beim Ausführen eingebunden wird, behauptet er, den Prozedureinsprungpunkt für diese Funktion nicht mehr zu finden. Es funktioniert, wenn ich einfach eine zusätzliche Funktion mit einem Parameter...

Werbeanzeige