tsql – 怎样行使T-SQL天生Mandelbrot?
发布时间:2021-03-05 11:58:18 所属栏目:编程 来源:网络整理
导读:进修一点T-SQL,并以为一个风趣的操练就是用它天生一个Mandelbrot集. 原本已经有人(最近呈现了).我会让其他人宣布它作为谜底,但我很好奇可以做出哪些优化. 可能,您将怎样使代码更具可读性? 我将选择最可读(但相等紧凑)的版本作为已接管的谜底(太糟糕了,我们还
进修一点T-SQL,并以为一个风趣的操练就是用它天生一个Mandelbrot集. 原本已经有人(最近呈现了).我会让其他人宣布它作为谜底,但我很好奇可以做出哪些优化. 可能,您将怎样使代码更具可读性? 我将选择最可读(但相等紧凑)的版本作为已接管的谜底(太糟糕了,我们还没有代表嘉奖!)除非有人真的带来了很好的优化. 奖金指向那些教我一些关于T-SQL的谜底. -亚当 办理要领Create PROCEDURE dbo.mandlebrot @left float,@right float,@Top float,@Bottom float,@Res float,@MaxIterations Integer = 500 As Set NoCount On Declare @Grid Table ( X float Not Null,Y float Not Null,InSet Bit Primary Key (X,Y)) Declare @Xo float,@Yo float,@Abs float Declare @PtX Float,@PtY Float Declare @Iteration Integer Set @Iteration = 0 Select @Xo = @Left,@Yo = @Bottom While @Yo <= @Top Begin While @Xo <= @Right Begin Select @PtX = @Xo,@PtY = @Yo While @Iteration < @MaxIterations And (Square(@PtX) + Square(@PtY)) < 4.0 Begin Select @PtX = Square(@PtX) - Square(@PtY) + @Xo,@PtY = 2* @PtX * @PtY + @Yo Select @Iteration,@PtX,@PtY Set @Iteration = @Iteration + 1 End Insert @Grid(X,Y,InSet) Values(@Xo,@Yo,Case When @Iteration < @MaxIterations Then 1 Else 0 End) Set @Xo = @Xo + @res Set @Iteration = 0 End Select @Xo = @Left,@Yo = @Yo + @Res End Select * From @Grid (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |