类似的函数,如sp.linalg.norm,sp.cross在C++

similar functions like sp.linalg.norm, sp.cross in C++

本文关键字:sp norm cross C++ linalg 函数      更新时间:2023-10-16

在python中,我们有包含sp.linalg.norm,sp.cross的库scipy提升库中是否有类似的功能C++?

似乎没有。

但是,OpenCV有你需要的东西!

L2标准:http://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.html#norm
十字: http://docs.opencv.org/2.4/modules/core/doc/basic_structures.html#Point_

#include <opencv2/opencv.hpp>
int main(int argc, const char *argv[])
{
    cv::Point3d p1(1, 0, 0);
    cv::Point3d p2(0, 1, 0);
    cv::Point3d cross_prod = p1.cross(p2);
    std::cout 
        << "<" << cross_prod.x 
        << ", " << cross_prod.y 
        << ", " << cross_prod.z 
        << ">"
        << std::endl;
    std::cout << "L2 norm: " << cv::norm(cross_prod) << std::endl;
    return 0;
}

输出:

<0, 0, 1>
L2 norm: 1