Questions tagged «graphical-output»

这项挑战涉及在屏幕上绘制图片或生成图像文件。对于纯ASCII艺术比赛,请使用[ascii-art]。如果参与者可以在图形和ASCII艺术作品之间进行选择,请同时使用两个标签。对于图像输入,请使用[图像处理]。

4
绘制3D网-柏拉图式固体
这是难度更大的Drawing 3d nets-Archimedean实体的基本版本。 我对3d蚊帐有一个缺点,当将其剪裁和折叠后,可以用纸或卡片制作3d形状。任务很简单,编写最短的程序即可绘制5个柏拉图固体的网。输出应该是您选择的任何合理格式的图像文件(png,jpg等)。 在http://en.wikipedia.org/wiki/Platonic_solid中描述了所有五个形状。他们的蚊帐看起来像这样(摘自http://www.newscientist.com/gallery/unfolding-the-earth/2)。 输入: 1到5之间的整数。假设形状按其边数的顺序编号。因此,1将是四面体,5将是二十面体。 输出:包含该形状网的图像文件。只需包括内部线条的轮廓即可。无需用颜色填充 您可以使用自己喜欢的任何编程语言,也可以使用不是专门为这次比赛而制作的任何库。两者都应该在线免费提供(从两种意义上来说)。 我会在一周的时间内接受最少字符数的答案。 优胜者。只有一个参赛者,但是很棒。优胜者是……Raufio,因为我最喜欢的代码高尔夫球是什么。

2
创建最少可压缩的图片
“一幅画值得一千个单词” —俗话说得好。平均单词长约四个字符,因此图像传达了4kB的信息。但是,图片可以传达多少熵而不是信息? 您的任务是生成一个图像,该图像的大小恰好为4,000字节,并且具有最大的熵。您可以使用选择的任何语言,库或图像格式,并且只要您在此处上传图像,就可以输出到控制台或文件。 计分 您的分数是使用DEFLATE算法和默认设置(特别是命令)以GNU tar1.28 gzip版和1.6 版压缩图像时的压缩率(4000÷压缩大小)tar -czvf out.tar.gz image。最小的压缩比获胜。

9
绘制Peano曲线
介绍 在几何学中,Peano曲线是Giuseppe Peano在1890年发现的第一个空间填充曲线示例。Peano曲线是从单位间隔到单位平方的连续的连续函数,但不是内射的。Peano受到Georg Cantor的早期结果的启发,认为这两个集合具有相同的基数。由于此示例,一些作者使用短语“ Peano曲线”更笼统地指代任何空间填充曲线。 挑战 该程序采用一个整数输入n,并输出代表nPeano曲线第th次迭代的图形,该图形从该图像最左侧所示的侧面2开始: 输入值 n给出Peano曲线迭代次数的整数。可选,其他输入在“奖金”部分中描述。 输出量 nPeano曲线的第三次迭代的图形。工程图可以是ASCII艺术图,也可以是“真实”工程图,以最简单或最短的时间为准。 规则 输入和输出可以任何方便的格式给出(为您的语言/解决方案选择最合适的格式)。 无需处理负值或无效输入 完整的程序或功能都是可以接受的。 如果可能,请提供一个在线测试环境的链接,以便其他人可以尝试您的代码! 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 奖金 由于这不应该是在公园散步(至少使用我能想到的大多数语言),因此可为以下各项奖励积分: -100字节,如果您的代码生成的Peano曲线构造的gif达到n。 -100字节,如果您的代码为任何矩形绘制了空间填充曲线(显然,Peano曲线仅适用于正方形)。您可以假设输入采用以下形式:n l wwhere n具有与之前相同的含义(迭代次数),但是where l和w成为绘制曲线的矩形的长度和宽度。如果为l == w,这将成为规则的Peano曲线。 负分数是允许的(但有可能...)。 编辑 请在的解决方案中包含程序的输出n == 3 (l == w == 1)。

7
在山坡上的小盒子
马尔维娜·雷诺兹(Malvina Reynolds)最初写了一首讽刺歌曲,名为Little Boxes,讲述郊区蔓延,歌词如下: 在山坡上的 小盒子,由发粘的小盒子做成的, 在山坡上的 小盒子,同样的小盒子。 有一个绿色的和一个粉红色的一个 ,一个蓝色的和一个黄色的, 它们都是由粘性的制成的, 它们看起来都一样。 在给定n>1代表房屋大小的整数输入的情况下,您的工作是使用以下颜色(以0xRRGGBB表示)输出四个“小盒子”: Green -- 0x00FF00 Pink --- 0xFF00FF (technically magenta) Blue --- 0x0000FF Yellow - 0xFFFF00 如果您的特定控制台没有这些确切的颜色,则可以使用最接近的可用颜色(例如ANSI转义码)。 这些房屋的建造n _代表着地板和屋顶。它们被代表墙壁的n/2(向上)|字符包围。屋顶总是2很高的,/在左边缘是两个,在右边缘是两个\,n-2 -代表了屋顶峰。随着房屋的变大,屋顶的相对大小也变小。这是有意的。 这是一间大小的房子2: /\ /__\ |__| 这是尺寸3: /-\ /___\ | | |___| 这是尺寸7: /-----\ /_______\ | | | | | | |_______| …

13
斐波那契产品
您可以将大于0的数字分解为正Fibonacci数字的唯一和。在这个问题中,我们通过重复减去最大可能的正斐波那契数来做到这一点。例如: 1 = 1 2 = 2 3 = 3 4 = 3 + 1 12 = 8 + 3 + 1 13 = 13 100 = 89 + 8 + 3 现在,我将斐波那契乘积称为与上面相同的列表,但加法运算被乘积代替。例如,f(100) = 89 * 8 * 3 = 2136。 编写一个给定正整数n的程序或函数,该函数将返回该数字的斐波那契乘积。 测试用例: 1: 1 2: 2 3: 3 4: …
13 code-golf  math  sequence  fibonacci  code-golf  word  code-golf  cipher  code-golf  string  math  subsequence  code-golf  regular-expression  code-golf  brainfuck  assembly  machine-code  x86-family  code-golf  math  factorial  code-golf  math  geometry  code-golf  math  arithmetic  array-manipulation  math  number  optimization  stack  metagolf  code-golf  tips  assembly  code-golf  tips  lisp  code-golf  number-theory  path-finding  code-golf  number  sequence  generation  code-golf  math  geometry  code-golf  grid  permutations  code-golf  code-golf  graphical-output  geometry  fractal  knot-theory  code-golf  math  arithmetic  code-golf  interpreter  balanced-string  stack  brain-flak  code-golf  math  set-theory  code-golf  math  array-manipulation  code-golf  code-golf  string  natural-language  code-golf  code-golf  math  linear-algebra  matrix  code-golf  string  encode 

3
在盒子里画一个螺旋
这种几何螺旋看起来很复杂,但是绘制起来却相当简单。采取以下框: 在框的角和逆时针在下一个角上方的某个设置距离之间绘制一条直线。 向内继续此模式,始终与下一行的拐角保持该设定距离。这里还有几行。 如您所见,随着图案的继续,螺旋线接近中心,绘制的框开始旋转。请注意,无论角度如何,距离都​​保持恒定。 挑战 灵感(也要感谢向我介绍这个概念的出色人<3) 给定从1到25的数字(可能是分数)输入,将图像写入使用此模式的磁盘或在屏幕上显示输出,其中距每个角的距离是盒子的一个初始边的距离除以输入。向内继续图案,直到与指定拐角的距离大于下一个边的长度。 规则 您可能不使用内置函数来进行这种螺旋式创建,但可以使用图像处理内置函数。 如果写入磁盘,则必须以.jpg,.gif,.tiff,.pbm,.ppm和.png中的任何一种格式输出图像。 初始边长必须至少为500像素。 初始拐角可能是您选择的任意一个。 与往常一样,不允许使用“标准漏洞”。

4
获取吸气剂
任务 我想每个人都喜欢自动代码生成并节省工作时间。您白天必须创建许多类和成员,而又不想getters手动创建所有这些类和成员。 任务是编写一个程序或函数,该程序或函数getters将为您自动为所有类成员生成。 输入 在我们的语言中,对象非常简单。类和成员的名称必须以字符开头,[a-zA-Z]并且只能包含字符[a-zA-Z0-9]。这是一个例子: class Stack { public overflow; protected trace; private errorReport; } 输出 这是基于给定示例的有效输出: class Stack { public overflow; protected trace; private errorReport; public function getOverflow() { return this->overflow; } public function getTrace() { return this->trace; } public function getErrorReport() { return this->errorReport; } } 吸气剂 getter方法的要求是: …
13 code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

9
简短的绘图程序
您刚刚邀请了文科专业到您家,您正在告诉他/她 “你知道,我是一个很棒的程序员,我可以做x和y和z ...” 他/他很快就感到无聊,并问您: “如果您真的是一个伟大的程序员,可以编写一个程序让我画图,我只需要使用鼠标在屏幕上画线,并以任何方式选择不同的颜色即可。” 您的代码可能会导入标准库。您的代码可能要求通过键盘选择颜色。 这是代码高尔夫球;最短的代码胜出。 项目符号要点 通过在按住鼠标左键的同时四处移动鼠标来绘制线条。 不需要布雷森汉姆的直线算法,任何内置算法都可以解决问题 如果用户可以通过任何方式更改线的粗细,则可以获得* 0.8的奖励,但这不是强制性的。 我想自己实现线条画应该更好,但是如果您愿意,可以导入一个库,只需在代码描述中说明即可。 最小值为5种不同的颜色(红色,绿色,蓝色,白色,黑色)。如果您随机更改它们,则会得到* 1.2的罚款。您可以根据需要进行更改(按钮和按键都可以)。 最好将它们按在点或徒手画之间进行鼠标绘制(即,就像您在绘画中所做的那样),并为您提供* 0.7的奖励,但任何其他方法都可以:(例如)单击两个点并在这些点之间绘制一条线? 绘图画布必须为600x400 更改颜色应该只更改将来要绘制的线条的颜色。 强制执行“全部清除”命令不是强制性的,但如果您实施该命令,则将获得* 0.9奖励。

11
科赫雪花的图形表示
产生科赫雪花 科赫雪花是一个三角形,每个三角形n的每一边中间都添加了另一个等边点:http : //en.wikipedia.org/wiki/Koch_snowflake#Properties 我们已经有一个kolmogrov复杂 科赫雪花的挑战的n=4。新的挑战是绘制n介于1和之间的任何Koch雪花10。 规则 雪花可能未在程序或文件中进行硬编码-它们必须由您的程序生成。 您的程序必须支持n1到10之间的所有大小。 边数必须由用户通过std-in输入。 您必须在屏幕上打印雪花的图形表示。 n等于,1、2、3和4的样本科赫雪花(绿线仅是为了清楚起见,请勿复制它们): 如果出现决胜局,具有最高投票数的程序将获胜(流行比赛)。

2
图上的张力,第二部分:橡皮筋
这是有关“拉紧功能”的两个挑战中的第二个挑战。这是稍微简单的第一部分。 让我们在位置(x 1,y 1)至(x m,y m)上将m钉子钉入板中。将橡皮筋绑在第一个和最后一个上,并在其他钉子周围伸展,使橡皮筋依次穿过所有钉子。请注意,橡皮筋现在描述了二维空间中的分段线性参数化函数(x(t),y(t))。 现在在位置(x 1,y 1)至(x n,y n)处将另外n个钉子钉入板中。如果现在我们除去所有第一个和最后一个钉子(橡胶的末端绑在这两个钉子上)之外的所有m个钉子,橡皮筋将缩短,直到其紧紧缠绕在新钉子上,从而产生另一个分段线性函数。 作为一个例子,取M = 12条初始钉在位置(0,0),(2,-1),(3/2,4/3),(7/2,1/3),(11/2, 16/3),(1、16 / 3),(0、1),(7,-2),(3、4),(8、1),(3,-1),(11、0),并且n = 10个另外的钉子在位置(1、1),(3、1),(4、4),(1、3),(2、2),(5,-1),(5、0 ),(6,2),(7,1),(6,0)。以下三个图显示了上述过程: 对于较大的版本:右键单击->在新选项卡中打开 如果您在可视化时遇到一些困难,这是橡皮筋收紧的动画: 挑战 给定两个“钉子”列表,如果绷紧的橡皮筋从横穿第一个列表中所有钉子的形状开始,则在第二个列表周围绘制绷紧的橡皮筋。 您可以编写程序或函数,并通过STDIN,ARGV或函数参数接受输入。您可以在屏幕上显示结果,也可以将图像保存到文件中。 如果将结果栅格化,则每侧至少需要300像素。最终的橡皮筋和钉子必须至少覆盖图像水平和垂直方向的75%。x和y的长度比例必须相同。您需要在第二组(至少使用3x3像素)中显示钉子,并在字符串中显示至少1像素宽的指甲。您可以包括也可以不包括轴。 颜色是您的选择,但是您至少需要两种可区分的颜色:一种用于背景,一种用于指甲和细绳(尽管这些颜色可能具有不同的颜色)。 您可能会假设第二个列表中的所有钉子都距离橡皮筋的初始形状至少10 -5个单位(这样就不必担心浮点精度了)。 这是代码高尔夫球,因此最短的答案(以字节为单位)获胜。 更多例子 这是另外两个示例: {{1, 1}, {3, 3}, {2, 4}, {1, 3}, {4, 0}, {3, -1}, {2, 0}, {4, 2}} {{2, 1}, …

1
快递信使
快递信使 程序必须接受任何字符串作为输入,并输出在Courier中显示输入字符串的像素图像。所有包含abdegopqABDPQR被黑色像素包围的“孔”(如等)的字母也必须用黑色填充。 输入值 本程序必须能够接受任何ASCII字符串作为输入。输入可以是您想要的任何方式,只要程序代码本身不必为了接受其他输入而进行更改即可。(例如,将要读取的文件的文件名除外。)没有标准漏洞。您可以假定每个输入至少包含一个可打印的字母。 输出量 输出必须是黑白(无灰度)像素图形,该图形必须显示用Courier编写的字符串(黑色,背景白色),并填充指定的“孔”。整个字符串的字体大小必须恒定(这意味着每个不同的字母没有不同的缩放比例),以便完整大小的字母(例如ABCDEFGHIJKLMNOPRSTUVWXYZ,j和Q更大)的高度必须至少为10px。(您不必将其写入文件,只要将其显示为像素图形即可,任何形式的显示都是可以的,例如JavaScript中的画布。)请将此图形与您的答案一起发布。 允许访问courier.ttf /字体库。 该程序还必须计算黑色像素的数量,并将其写入控制台或最终首选的输出方法。 得分了 分数的评估如下:完整的程序代码必须用作程序的输入字符串。黑色像素的数量将成为您的得分。不允许包含不可打印或非ASCII字母的程序代码。(以及标准漏洞。)分数越低越好。

2
青蛙游戏
如何为优质的街机游戏Frogger带来Code高尔夫风格的复兴! 您的任务是使用尽可能少的代码字符来创建此经典游戏的版本。使用您选择的语言(允许使用库,例如jQuery等)。 要求 您有3条生命,并且由于以下原因失去1条生命: 移动到游戏场景之外。 被车辆撞到。 跳入水中。 跳到已经有人居住的家中。 时间不多了。 青蛙用箭头键移动。 在五个住所之间(在顶部的草之间的空间)有固定的间隔,存在一个“传送”错误。 向前移动时,您将获得10分;在发现虫子时,您将获得200点奖励积分;空旷的家中,您将获得500点积分。 计时器滴答作响,每个级别都更快(车辆,青蛙和原木的移动级别也应该更快)。 车辆应有5条车道,有3条带原木的车道和2条带海龟的车道。 每个车道应以随机选择的速度移动(在一定原因内)。 当可用房屋被占用时,青蛙会出现在起点,您可以从该点控制那只青蛙。 当所有五个房屋都被占用后,计时器将重新启动,房屋将变空。游戏结束时,将计算并显示各个级别的分数。 附加信息 不需要开始屏幕,音乐和高分表。您也不需要将设计模仿到像素。想要黑色和白色吗?想要真的很简约吗?还是用立方体代替青蛙或汽车?工作良好!只是保持代码紧密。最短的代码胜出!


9
绘制希尔伯特曲线
希尔伯特曲线是一种空间填充曲线,它基本上将一条线映射到一个平面。线中的每个点仅对应于平面中的一个点,而平面中的每个点仅对应于线上的一个点。显示的是希尔伯特曲线的迭代0到4: 迭代0到4: 该任务的目标:如上所述,编写绘制希尔伯特曲线第四次迭代的代码。您的代码应该完整-换句话说,如果您创建绘制希尔伯特曲线的函数,则您的代码必须调用该函数。输出可以直接显示在屏幕上,也可以将输出写入图像文件。曲线可以旋转或翻转,但直线必须相交成直角,并且输出不能拉伸。可以理解ASCII技术,但不会被接受。以字节为单位的最短代码胜出!

4
Sobel边缘检测器
您的任务是编写一个获取输入图像的程序,并通过边缘检测将其运行以成为输出图像。 边缘检测的工作原理如下(如果不清楚,请参阅sobel边缘检测): 像素的值是像素的总亮度,因此,如果它是彩色的,则需要先将其转换为灰度(为使操作简单且易于打高尔夫球,可以取R,G和B)。 像素p (i,j)的 G x和G y的公式为: G x = -1 * p (i-1,j-1) -2 * p (i-1,j) -1 * p (i-1,j + 1) + 1 * p (i + 1,j -1) + 2 * p (i + 1,j) + 1 * p (i + 1,j + 1) G …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.