簡體   English   中英

C++ 中是否有標准的 3d 矢量類

[英]Is there a standard 3d vector class in C++

在一個現有的項目中,我看到一個類 Vector_3d,模板化,具有向量的常用操作(在代數的意義上)。 在分析之后,我注意到大量時間都花在了這個類上。

我想知道在 C++ 中是否有像 3d 矢量這樣的基本概念的眾所周知的實現。 實際上,使用向量的良好實現而不是嘗試優化向量可能更容易。

編輯:這是在某些對象的幾何表示的上下文中。 但它獨立於任何可視化。 我會看看是否有辦法避免過於頻繁地調用各種方法。 我將看看建議的軟件包。

3d 向量類沒有太大的改進空間(基本上,點/叉積相當容易,矩陣乘法也是如此)。 如果在該類上花費了太多時間,那么您使用它的代碼可能存在缺陷。 你檢查過嗎

  • 復制與引用
  • 錯誤的關聯(如乘矩陣然后所有向量乘以結果矩陣,而不是所有向量乘以矩陣鏈)

我知道 Qt 中有QVector3D ,這可能會對您有所幫助(順便說一下,他們還為常見的 3D 幾何操作提供了 Vector 2D 和 4D)

Dave Eberly 的http://www.geometrictools.com/是此類課程的絕佳資源。

我偏愛Eigen 此外,它僅包含標題並具有內置的矢量化支持。

Boost::QVM 也可以是一個選項: http : //boostorg.github.io/qvm/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM