找回密码
 加入
搜索
查看: 5546|回复: 15

[效率算法] 分享阴阳图算法

 火.. [复制链接]
发表于 2010-5-12 02:43:38 | 显示全部楼层 |阅读模式
#include <WinAPI.au3>

$hDC = _WinAPI_GetDC(0)

For $i = 1 To 500
        For $j = 1 To 500
                $iT = (2 * 3.14) * $i / 500
                $iR = (2 * $j) / 500
                If f($iT, $iR) Then
                        $iX = Round(Cos($iT) * $iR * 50) + 300
                        $iY = Round(Sin($iT) * $iR * 50) + 300
                        _WinAPI_DrawLine($hDC, $iX, $iY, $iX + 1, $iY + 1)
                EndIf
        Next
Next
_WinAPI_ReleaseDC(0, $hDC)

Func f($iT, $iR)
        Return ((Cos($iT - $iR) - Sin($iT)) * ($iR ^ 4 - 2 * ($iR ^ 2) * _
                Cos(2 * $iT + 2.4) + 0.9) + (0.62 * $iR) ^ 1000 < 0)
EndFunc        ;==>f
今天在Metrix67的blog中看到了这个算法,验证了一下,果真精彩至极,分享出来,希望一起探讨下这个函数的构造过程。以下就是这个函数的结果了:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2010-5-12 03:24:18 | 显示全部楼层
有点像极坐标系转直角坐标系
发表于 2010-5-12 06:33:37 | 显示全部楼层
漂亮........
发表于 2010-5-12 09:36:24 | 显示全部楼层
雷达扫描啊~ 有意思~~
 楼主| 发表于 2010-5-12 09:49:29 | 显示全部楼层
回复 4# afan


    雷达扫描?这是什么?
发表于 2010-5-12 09:55:13 | 显示全部楼层
回复 5# pusofalse


    类似雷达扫描线,以轴心旋转,扫描到物体就显示其位置,呵呵
当然这个肯定不是这个原理~
发表于 2010-5-12 09:58:54 | 显示全部楼层
那个弧线能否居内画线,现在的好像是居外的,似乎出界断层了~ 还有,脚本退出后仍有残影的问题~
发表于 2010-5-12 10:54:44 | 显示全部楼层
那个弧线能否居内画线,现在的好像是居外的,似乎出界断层了~ 还有,脚本退出后仍有残影的问题~
afan 发表于 2010-5-12 09:58


我也觉得是这样的,谁能够改进 一下!
发表于 2010-5-12 23:40:39 | 显示全部楼层
本帖最后由 C.L 于 2010-5-13 00:21 编辑

果然很精彩的代码,认识的看了一下,上面的还好理解,不过func f 内的代码就看得不大懂了

有点像极坐标系转直角坐标系
netegg 发表于 2010-5-12 03:24


同感,是用极坐标($iR,$iT)来算出是否该点在计算范围内,如果是真,则转换成直角坐标来画点,只是func f 内的算法太复杂了,我看不懂
发表于 2010-5-13 08:31:31 | 显示全部楼层
没搞明白什么东东,脚本运行没有什么反应............
发表于 2010-5-13 12:44:17 | 显示全部楼层
像我这样的菜鸟看不懂,得去问问张三丰,要不然去陈家沟看看
发表于 2010-5-15 07:53:55 | 显示全部楼层
平面几何,,,都忘光了
发表于 2010-5-15 09:58:50 | 显示全部楼层
这个代码经典。算法看了也看不懂。。。数学还是不好啊。
发表于 2010-5-15 12:09:47 | 显示全部楼层
好像还不大完美的样子
发表于 2010-5-20 12:23:56 | 显示全部楼层
真的 在这个世界上生存 一定要学好 语文 数学 英语
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-16 04:29 , Processed in 0.082223 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表