小编Cyr*_*ril的帖子

查找2D无组织点云的轮廓

我有一组2D点,没有组织,我想找到这个集合的"轮廓"(不是凸包).我不能使用alpha形状,因为我有一个速度目标(在普通计算机上不到10毫秒).我的第一种方法是计算网格并找到轮廓正方形(正方形,其中空方块作为邻居).所以我认为我有效地缩减了我的点数(大致从22000到3000).但是我仍然需要改进这个新的集合.

轮廓点为绿色

我的问题是:如何在绿点中找到真实的轮廓点?

geometry computational-geometry

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

VBA Excel"需要变量"

在VBA excel程序中遇到麻烦.

Sub code(s)
...
code = t
End Sub
Run Code Online (Sandbox Code Playgroud)

然后 :

Sub CommandButton1_Click()
...
For i = 0 To size
    current_y = code(string_array(i))
...
End Sub
Run Code Online (Sandbox Code Playgroud)

当我运行程序时,我收到此错误"需要变量"(不确定,我正在使用日语版的excel).突出显示Sub CommandButton1_Click,并在CommandButton1_Click中选择代码.无法弄清楚为什么,虽然它必须简单......

vb.net excel vba

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

重载==和!=,但程序只使用前者

我的代码看起来像这样

template <typename T>
class FArray
{
/* ... */
    inline bool operator == (const FArray& b) const
    {
        return std::equal(begin(),end(),b.begin());
    }
    inline bool operator != (const FArray& b) const
    {
        return !(*this == b);
    }
};
Run Code Online (Sandbox Code Playgroud)

然后我有一些单元测试,我正在测试平等和不平等

FArray<double> a, b, c;
/* ... */
ASSERT_TRUE(a == b)
ASSERT_TRUE(a != c)
Run Code Online (Sandbox Code Playgroud)

第二个断言不使用重载运算符!=,它只使用==,我认为返回它的否定(我在重载函数中添加了一个断点,我的程序没有通过它).但如果我不重载一个或另一个,我无法编译.这是标准行为吗?我在网上找不到任何相关信息.

我正在使用Visual Studio 2017 15.5.6,Visual C++ 2017 - 00369-60000-00001-AA639.

c++ inline visual-studio-2017

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