基于sqrt的填充椭圆像素绘制函数
2015-5-25 18:36:10
收藏:0
阅读:115
评论:1
我正在尝试在 Lua 或 VB 的代码中编写一个函数来绘制/绘制一个填充的椭圆形。我对这个数学知识了解不多,需要一些帮助。
我在谷歌上搜索了所有与使用代码绘制椭圆形相关的内容,但我找不到一个好的简单有效的 VB 或 Lua 示例来绘制填充的椭圆形。
在这个网站之前的一篇文章中,我得到了如何绘制普通椭圆的答案,但是对于填充的椭圆,没有任何结果,这就是我为什么要新开一个主题。
以下是我访问过的一些网站,但我找不到一种方法来绘制填充的椭圆形,而不重绘已经绘制的像素...
http://groups.csail.mit.edu/graphics/classes/6.837/F98/Lecture6/circle.html
http://www.blitzbasic.com/codearcs/codearcs.php?code=2817
https://scratch.mit.edu/projects/49873666/
http://www.sourcecodesworld.com/source/show.asp?ScriptID=112
这是我对普通椭圆形的代码(感谢“Johnny Strings”提供的 VB 版本):
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的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 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
下面是我过去用于 CPU 渲染器的代码,它非常高效也非常简单。
它依赖于椭圆的数学定义,因此椭圆在 x、y 中心绘制,并且宽度和高度从中心定义,而不是从另一侧定义。
绘制点函数在指定的 x、y 点处绘制像素。
local function drawaxisalignedellipse(x,y,w,h) --n 定义填充椭圆的水平线的边界。 local n=w local w2=w*w local h2=h*h --绘制中心水平线。 for i=x-w,x+w do drawpoint(i,y) end for j=1,h do --当前顶部和底部行。 local ra,rb=y+j,y-j --此循环从 n 中减去 1,直到它在形状内。 while w2*(h2-j*j)<h2*n*n and n~=0 do n=n-1 end --从 -n 绘制横线至 n 横跨椭圆 for i=x-n,x+n do drawpoint(i,ra) drawpoint(i,rb) end end end