我正在尋找一些2D和3D線性幾何操作(2D線之間的交集,3D線和飛機之間的交叉點,像這樣的東西)的庫,我跑進Eigen看起來很酷,可擴展,易於包括多平臺等。子類特徵類型
我常想與X,Y,Z財產和與本徵數據類型載體約2/3D幾何,我不覺得他們:
#include "Eigen/Core"
...
Eigen::Vector2d p1;
double x = p1[0];
double y = p1[1];
爲了個人的方便,我想繼承Vector2d的子類,添加一些舒適的方法,如
Vec2D::x() { return this[0]; }
Vec2D::set(double x, double y) { this[0]=x; this[1]=y; }
....
或類似的方法。我不是一個C++經驗的程序員,所以我要問,如果這是正確的方式,以及如何處理模板..
你檢查了boost.geometry?這是一個很好的幾何計算庫!如果您需要3D內容,請嘗試CGAL。 – tmaric 2013-05-09 10:56:59
是啊我見過,但Eigen似乎更容易安裝在多平臺和更輕的 – nkint 2013-05-09 11:11:43