Zielen für Fortgeschrittene

Aus Spieleprogrammierer-Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
[gesichtete Version][gesichtete Version]
(Implementierung in C++)
(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>[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).
+
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.</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:12 Uhr

Klicke hier, um diese Version anzusehen.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge