今年中国区有13人参赛20件作品,选择获奖者非常困难。所有参加的作品都展示了参加者的用心良苦和 Wolfram 语言的使用技能。有些比我预想的还要雄心勃勃,比如带有表情符号的作品会显示你是在微笑还是在皱眉头。如果它不是在我每次使用时锁定我的计算机,它是一个很不错的获奖候选作品。最后我必须根据独创性,代码是否完成了预期的工作,以及代码与典型文档示例之间的差距进行选择。值得一提的是每个参赛作品都高于平均水品,我要感谢每位参赛者让我的工作变得如此艰辛!
Great job all!
第三名
曹洪洋: 龙树(122个字符)
Graphics[Polygon /@
ReIm@NestList[
Join @@ ({##3} +
Cos[t = Random[] Pi/2] E^(I t) {I Tan@
t (#2 - {##}), {##} - #} &) @@@ # &, {{0, 1, 1 + I, I}},
18]]
这里的代码递归地创建了醒目的树状结构,使我想起了在印度尼西亚周围水域中发现的海龙。每次使用 Random 都会产生不同的图像。很不错的分形设计,每次都很快可以获取结果。
第二名
杨永康: 美丽的蓝色(115 characters)
Image[Table[
BitAnd[#, 255] & /@ ({BitAnd[#1, #2], #1 + #2, BitOr[#1, #2]} &[
Mod[x, y], Mod[y, x]]), {x, 1, 1023}, {y, 1, 1023}], "Byte"]
我选择这个是因为代码本身清晰的特性。我相信大多数程序员会将其视为图形问题,但此处是创建一幅图像。这种方法提供了一个微妙的浓淡处理(shading),以帮助创建炫美的三维效果。
第一名
肖天翼:当你无法输入任何字母和数字(126个字符)
$$ = $ = $/$; $ //= # /@ #[## &[] ~~ _][[$, $++, $]] &[\!\(\*"?$"\) \
&[[$, $ - $]]][[;; , $$, -++$!]] /. {__, _[_, $_, _], __} :> $; $ -= \
$; //. _ :> ($$ += ++$/$/$!)
这是我所见过的 Wolfram 语言编码中最不寻常的部分之一。将纯函数与ReplaceAll 和 ReplaceRepeated 一起使用时,它递归地得到自然常数|欧拉数 e 的机器精度值。这是我唯一一次看到函数中使用线性语法而不是格式化的情况。(但是它导致许多不必要的计算,而这些计算与结果无关。)它巧妙地使用纯函数和规则来获取机器精度的e.
下面这个就是 Harry 提到的与这次奖项失之交臂那个带有表情符号的作品。
陆宇:未命名(128个字符)
Dynamic[HighlightImage[#,
FindFaces@#~Labeled~
WebImageSearch[
FacialFeatures[#, "Emotion"][[1]]@"Name" <> " emoj", 1] &] &@
CurrentImage[]]