小编ant*_*nti的帖子

Eigen,用四元数旋转vector3d?

我有一个3d点数组,作​​为std::vector<Eigen::Vector3d>.

我需要用位置和四元数来转换这些点.

我的问题是:

如何用四元数旋转这些点?有没有比以下更快的方式:

    Eigen::Vector3d Trans; // position to move by
    Eigen::Quaterniond quats;  // quat to rotate by

for (int p = 0; p < objectPoints.size(); p++)
        {
            Eigen::Vector3d pnt;
            //add pose
            pnt.x = objectPointsTri[p].x + -Trans.x();
            pnt.y = objectPointsTri[p].y + -Trans.y();
            pnt.z = objectPointsTri[p].z + -Trans.z();

            Eigen::Vector3d pntRot = // rotate pnt by the quaternion



        }
Run Code Online (Sandbox Code Playgroud)

eigen

2
推荐指数
2
解决办法
2603
查看次数

如何在C#中计算一秒的分数?

我正在计算程序中的时间码功能.为此,我需要小时,分钟,秒和每秒24次的额外值.

我的小时,分​​钟,秒是:

public void GetTime()
{
    Hours = float.Parse(DateTime.Now.ToString("HH"));
    Minutes = float.Parse(DateTime.Now.ToString("mm"));
    Seconds = float.Parse(DateTime.Now.ToString("ss"));
    Frames = ???
}
Run Code Online (Sandbox Code Playgroud)

如何计算帧值?(如果可能的话,不使用计时器)

谢谢.

c# datetime

1
推荐指数
1
解决办法
110
查看次数

使用多个'while()'循环不好的做法?

我正在编写两个相互协作的应用程序.一个是c ++,另一个是C#.由于涉及流数据,我在多个地方使用代码,例如:

while (true)
{
 //copy streamed data to other places

}
Run Code Online (Sandbox Code Playgroud)

我注意到这些程序使用了大量的cpu,并且响应缓慢.使用这种循环是不好的编程?我应该添加一个:

Sleep(5);
Run Code Online (Sandbox Code Playgroud)

在每一个?这有助于cpu的使用吗?

谢谢!

c# c++ cpu-usage while-loop

1
推荐指数
1
解决办法
733
查看次数

将-1或1之间的负数或正数归一化?

我有流数据,浮点值介于-2和+4之间.我需要编写一个函数来将这些值归一化到-1和+1之间.

我有:

float normalize(float input)
{
    int min = -1;
    int max = 1;
    float normalized_x = (input - min) / (max - min);
    return normalized_x;
}
Run Code Online (Sandbox Code Playgroud)

但这给了我不正确的值,范围从-0.4到+2.3,粗略.我的功能需要调整什么?

谢谢.

c++ normalization

1
推荐指数
1
解决办法
2991
查看次数

将c ++从Linux移植到windows,'__ align__'

我试图将一些代码从Linux移植到Windows,但我遇到了麻烦.

这一行:

uint8_t patch_[patch_size_*patch_size_] __attribute__ ((aligned (16)));
Run Code Online (Sandbox Code Playgroud)

给我:

Error   C3861   'aligned': identifier not found

Error   C3646   '__attribute__': unknown override specifier 
Run Code Online (Sandbox Code Playgroud)

这是Linux到Windows的问题吗?我找不到任何一个aligned__attribute__任何地方的定义.

(我想尝试移植的代码是:https://github.com/uzh-rpg/rpg_svo)

c++ linux windows gcc porting

1
推荐指数
1
解决办法
158
查看次数

C++查找文件夹中所有类型的文件?

我试图列出文件夹中某种类型的所有文件,以便我可以遍历它们.这当然应该很简单,但我无法理解.我找到了一些使用dirent.h的例子,但是我需要用直接的c ++来做.

最好的方法是什么?

谢谢.

c++ file-io

0
推荐指数
1
解决办法
315
查看次数

特征,点积方法:

我正在将一些伪代码转换为实际的c ++.

伪造的是:

float ac_ab_0 = acos(clamp(dot(
        normalize(c - a),
        normalize(b - a)), -1, 1));
Run Code Online (Sandbox Code Playgroud)

我的代码是:

Eigen::Vector3f a = Eigen::Vector3f(0, 0, 0);
Eigen::Vector3f b = Eigen::Vector3f(0, -5.579, -6.747);
Eigen::Vector3f c = Eigen::Vector3f(0, -13.637, -9.751);
Run Code Online (Sandbox Code Playgroud)

我正在尝试:

float ac_ab_0 = acos(std::clamp(std::dot(
        normalize(c - a),
        normalize(b - a)), -1, 1));
Run Code Online (Sandbox Code Playgroud)

但我被困住了.应该怎么做: normalize(c - a) 看起来像Eigen::Vector3f

c++ eigen

0
推荐指数
1
解决办法
160
查看次数

标签 统计

c++ ×5

c# ×2

eigen ×2

cpu-usage ×1

datetime ×1

file-io ×1

gcc ×1

linux ×1

normalization ×1

porting ×1

while-loop ×1

windows ×1