小编Sil*_*man的帖子

当我添加新输入时,如何在Matlab图中逐渐淡出先前的输入

假设我有这个非常简单的循环

for i=1:10
    [xO, yO, xA, yA, xB, yB, xC, yC] = DoSomething(i);
    line([xO,xA,xB,xC],[yO,yA,yB,yC]);
    pause(0.1);
end
Run Code Online (Sandbox Code Playgroud)

我正在绘制的坐标对应于多体系统的关节,我正在模拟它们随时间的位置(请参见此处的样本示例):

周期性情节

由于一些链接以周期性方式移动,因此在视觉上跟踪移动会变得混乱.出于这个原因,现在出现了一个问题:如何绘制线条,当绘制新线条时,前面的线条会逐渐消失?换句话说,我有一个从最近绘制的数据(最不透明)到最旧数据的渐变(越来越透明,直到它完全淡出).

这种方式当一条新线在与旧数据相同的位置绘制时,我会注意到它是一个新线.

matlab plot transparency line matlab-figure

16
推荐指数
3
解决办法
695
查看次数

如何在 C++ 中赋值之前验证 const 成员变量的初始化

假设我有一个带有 const int 成员变量的简单类:

class MyClass{
    public:
        Myclass(int x, int y);
    private:
        const int importantNumber;
        int anotherNumber;
};

MyClass::MyClass(int x, int y) :importantNumber{x}
{
    this->anotherNumber = y;
}
Run Code Online (Sandbox Code Playgroud)

由于int importantNumberis const,我只能在构造函数创建对象期间设置它(使用成员初始化列表,如上所示)。

现在的问题是:在实际使用该值创建 importantNumber 之前,如何为构造函数的参数 x 添加验证?是否可以创建一个static int MyClass::validation(int a)并在构造函数的成员初始化列表上使用它,例如importantNumber{validation(x)}

即使有可能,还有更好的方法吗?

c++ validation constructor constants member

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