Zielen für Fortgeschrittene
Aus Spieleprogrammierer-Wiki
(Unterschied zwischen Versionen)
[gesichtete Version] | [gesichtete Version] |
(→Berechnung des Trefferzeitpunkts) |
(→Implementierung in C++) |
||
Zeile 103: | Zeile 103: | ||
== Implementierung in C++ == | == Implementierung in C++ == | ||
− | In der folgenden Beispielimplementierung wird zum Lösen der biquadratischen Gleichung die Funktion <tt>magnet::math::quarticSolve</tt> verwendet, deren Implementierung unter der unten angegebenen Referenz<ref>[ | + | In der folgenden Beispielimplementierung wird zum Lösen der biquadratischen Gleichung die Funktion <tt>magnet::math::quarticSolve</tt> verwendet, deren Implementierung unter der unten angegebenen Referenz<ref>[http://marcusbannerman.co.uk/index.php/component/content/article/42-articles/87-quartic-and-cubic-root-finder-in-c.html ''Quartic and cubic root finder in C++'']. Marcus Bannerman. MarcusBannerman.co.uk. 11. Oktober 2011.<br />Hinweis: Damit der Code in Visual C++ (2010) verwendbar ist, muss an einer Stelle in <tt>cubic.hpp</tt> der Ausdruck <tt>std::sqrt(3)</tt> durch <tt>std::sqrt(3.0)</tt> ersetzt werden. Weiterhin muss in <tt>quartic.hpp</tt> die Datei <tt><nowiki><array></nowiki></tt> anstelle von <tt><nowiki><boost/array.hpp></nowiki></tt> eingebunden werden und dementsprechend <tt>std::array</tt> anstelle von <tt>boost::array</tt> verwendet werden, wenn Boost nicht installiert ist.</ref> zu finden ist. Es wird außerdem davon ausgegangen, dass <tt>Vector</tt> eine Vektorklasse ist, auf der die üblichen Operationen definiert sind. Die statische Methode <tt>dot</tt> muss das Skalarprodukt zweier Vektoren berechnen, die Methode <tt>lengthSq()</tt> das Quadrat der Vektorlänge (das Skalarprodukt mit sich selbst). |
<sourcecode lang=cpp tab=4> | <sourcecode lang=cpp tab=4> |
Version vom 18. Juni 2014, 14:11 Uhr
Klicke hier, um diese Version anzusehen.