首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按常量偏移多段线

按常量偏移多段线
EN

Stack Overflow用户
提问于 2018-05-23 20:21:30
回答 2查看 395关注 0票数 0

我有一条多段线,我需要用常量来偏移它。假设有一条多段线代表一条高速公路的中心线,我需要偏移/平行这条中心线50个单位(向左)和-50个单位(向右)来创建车道。

我可以使用什么函数来执行此偏移/并行事务处理?我认为我应该使用MatrixXdArrayXd来存储多段线点?但也许有一个更好的对象来存储这些?我应该使用transpose()方法来实现我的并行操作吗?请注意,多段线点是二维的,而不是三维的。

EN

回答 2

Stack Overflow用户

发布于 2018-05-23 20:37:55

这真的取决于你要用这些点做什么。如果想要限制行/列数,也可以使用Matrix2XdMatrixX2d。我不知道折线上的效果,但如果你只想给每个点添加一个常量向量,你可以按行或按列添加:

代码语言:javascript
运行
复制
#include <iostream>
#include <Eigen/Core>

using namespace Eigen;

int main()
{
    MatrixXd mat(5, 2);
    VectorXd vec(2);
    vec << 10., 20;
    mat.setRandom();
    std::cout << mat << "\n\n";
    mat.rowwise() += vec.transpose();
    std::cout << mat << "\n\n";
    return 0;
}
票数 1
EN

Stack Overflow用户

发布于 2018-05-23 20:40:41

必须计算多段线上每个点的一阶导数(切线)。只有这样,任何平行的平移,在某一点的切线才有意义。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50488287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档