射线法
大致情况如下 1 首先确认不在边界上 不在边界点上
2 作射线 算交点 技术内 偶数外
要考虑 特殊情况 如交点过 边界点 射线重合边界等
没有银弹
通常算法好 代码就麻烦哦
够有写点代码的
在VC++中使用样条曲线画了一个闭合图形,现在想当鼠标点在这个闭合区域时可以移动这个区域,可以使用CRgn里的函数,将多边形变成区域,也就是说要先将这个用曲线围成的区域使用直线插补算法将它变成多边形才能算,要将点用数据串起来,还要算他的点的个数,
如果你的闭合区域给出了具体的数学表达式,假设这个区域是二维的,我们用y,x的关系来表示这个区域。首先假设你这个点是(X1,Y1),那么接下来你要做的就是求出当X=X1时,Y的范围,看Y1是否在里面;接着再求Y=Y1时X的范围,看X1是否在里面。同时满足就可说明这个点在这个闭合区域内。
如果你的闭合区域给出了具体的数学表达式,假设这个区域是二维的,我们用y,x的关系来表示这个区域。首先假设你这个点是(X1,Y1),那么接下来你要做的就是求出当X=X1时,Y的范围,看Y1是否在里面;接着再求Y=Y1时X的范围,看X1是否在里面。同时满足就可说明这个点在这个闭合区域内。