#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中看到了这个算法,验证了一下,果真精彩至极,分享出来,希望一起探讨下这个函数的构造过程。以下就是这个函数的结果了:
|