如何找到矩形内的所有点?
2017-4-13 14:20:2
收藏:0
阅读:67
评论:3
我已经看过了这个主题的所有其他文章,但是我什么也没有找到。我的问题是,给定一个矩形的四个角点,无论其旋转角度如何,如何找到位于矩形内或矩形上的任何点。我之所以这样问是因为我有一个表示地图的数组,每个索引代表一个点位置,我想能够在这张地图上放置一个矩形并填充任何它覆盖的点。如果能提供伪代码以及数学知识,我将不胜感激。我熟悉Java和RBX.Lua。
点赞
用户7187817
我不知道这是否是你要找的...
但解决这个问题的简单方法是连接四个点并应用简单的泛洪或边界填充算法。
注意:所有这些算法都属于计算机图形学。 这种技术将比逐个填充内部点的方法更快,并消除了计算矩形外部点的需要。
在应用填充之前,您需要使用线条绘制算法绘制边界线,并将边界的值设置为 newcol(新颜色),然后可以使用以下填充算法。
void floodfill(int x,int y,int old,int newcol)
{
int current;
// assign current with the color of x,y point
if(current==old)
{
// assign x,y point with newcol
floodfill(x+1,y,old,newcol);
floodfill(x-1,y,old,newcol);
floodfill(x,y+1,old,newcol);
floodfill(x,y-1,old,newcol);
}
}
您可以使用上述方法,您只需传递矩形内部点(x,y)和要替换为新颜色的旧颜色即可。 假设您提到的颜色值是数组中的整数值。
2017-04-13 14:49:09
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?


将下面翻译成中文并且保留原本的 markdown 格式
只要谷歌搜索“填充矩形算法”,您就会找到很多解决方案和示例。
其中一种简单的方法是:
对于您的栅格(图像)的每一行(或列),计算与矩形的交点。
这将使您得到一组要填充的区间。
也许阅读这篇文章会有所帮助http://fivedots.coe.psu.ac.th/~montri/Teaching/240-422/filling1.pdf。