小编Zie*_*ezi的帖子

如何用等距水平线填充闭合多义线?

我需要编写和算法用水平等距线填充闭合多义线.

我用矩形圆圈做了类似的事情,这里是后者的代码片段:

// circle parameters: center(point(0).x, point(0).y), radius
int offsetX = point(0).x + radius;
int offsetY = point(0).y + radius;
for(int i = -radius; i < radius; i += spacing){
    int ry = i;
    int rx = sqrt(double(radius*radius - ry*ry));
    // the parameters are pair of coordinates of the horizontal line
    fl_line(offsetX - rx, offsetY + i, 
            offsetX + rx, offsetY + i);
}
Run Code Online (Sandbox Code Playgroud)

闭合多义线的情况下,额外的难度(对我而言)是水平线的坐标不会从单个方程(圆,矩形的高度等)中提取,而是从方程中提取.具有相同"y"坐标的线,不会连续匹配.

题:

  1. 你能否提供一些有关如何创建一个用水平线填充封闭多边形线的算法的见解?

c++ algorithm computational-geometry

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

如何用数值计算1 /(√x·(x + 1))的积分;

这是感兴趣的函数的函数处理程序:

fun = @(x) 1 / (sqrt(x) * (x + 1));

q = integral(fun, 0, inf)
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

 Error using  * 
    Inner matrix dimensions must agree.
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

matlab

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

在C++中的递归函数中返回

我在这里有点困惑.我们来看看以下代码:

bool testing(int i) {

    if((i%2)==0) {
        return true;
    } else {
        --i;
        testing(i);
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时testing(5),我希望函数返回true,因为在某些时候,函数将会5变为4,所以4 % 2 == 0函数将返回,true但事实并非如此.怎么了?

c++ recursion

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

如何从作为关键字的字符串中检索令牌?

例如,如果输入是x+=5,程序应返回的数组x,+=,5.请注意,在x和之间没有空格+=,因此仅按空格分割可能不起作用,因为那样您将不得不重复遍历它以查找关键字.

我该怎么办?有没有一种有效的方法在C中执行此操作?

c string pointers split

-2
推荐指数
1
解决办法
53
查看次数