Questions tagged «graphical-output»

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

4
计算机生成的破裂土壤
编写一个程序,该程序使用0到65535之间的整数(2 16 -1),并生成一个独特的 500×500像素的图像,该图像看起来与以下6个破裂土壤的真实生活图像尽可能相似: 这些是缩略图,单击它们可查看完整的500×500图像。 目的是使您的计算机生成的图像尽可能逼真。因此,理想情况下,如果程序输出的任何图像都与上面的6张图像混合在一起,那么第一次看到这些图像的人将无法分辨出计算机生成的图像与真实图像。 完美的写实主义是棘手的,因此请尽力而为。这是一场人气竞赛,因此,具有更切合实际的输出结果的答案将被更多地投票,并且更有可能获胜。 规则 您可以使用图像处理功能或库。 您可以基于从6个样本图像中收集的信息来建立算法,但是65535(2 16)可能的输出图像在视觉上应与样本图像彼此不同,尤其是在裂缝排列方面。您必须真正生成图像,而不仅仅是旋转并转换现有照片中的选择。 您不应该以其他方式对输出进行硬编码。应该使用通用算法,并且大于65535的数字理论上应该产生有效的输出。(我已将其限制为仅容纳最小最大整数类型。) 输入整数可以认为是产生随机裂化的土壤输出图像的种子。但是,它应该是确定性的,因此相同的输入应始终导致相同的输出。 输出图像必须恰好是500×500像素。 输出图像可以以任何常见的图像文件格式保存或简单显示。 确保在答案中包含一些示例输出图像及其相应的输入数字。 得票最多的答案将获胜。投票者当然应该对试图产生类似于6个样本的图像的答案进行投票,并对破坏规则或给出不一致结果的答案进行投票。 这6个样本图像取自texturelib.com。从两个较大的破裂土壤图像中选取了1000×1000像素区域,然后将其调整为500×500。您可以在程序中使用这些较大图像的分析结果,但输出应专门模仿6个选定的样本图像。

4
数字绘画
您会得到一个真实的彩色图像。您的任务是生成此图像的一个版本,该版本看起来像是使用数字绘画(孩子们的活动,而不是非图表)绘制的。除了图像外,还提供了两个参数:P(调色板的最大大小(即,要使用的最大不同颜色的数量))和N(要使用的最大单元数)。您的算法并没有必须使用所有P的颜色和ñ细胞,但它不能使用不止于此。输出图像应具有与输入相同的尺寸。 甲细胞被定义为全部具有相同的颜色的像素的连续区域。仅在某个角触摸的像素不被视为连续的。细胞可能有孔。 简而言之,您只能使用N个阴影/纯色区域和P个不同的颜色来近似输入图像。 只是为了可视化参数,这是一个非常简单的示例(没有特定的输入图像;展示了我疯狂的Paint技能)。下图具有P = 6和N = 11: 这是一些测试您的算法的图像(大多数是我们通常的怀疑者)。单击图片查看大图。 请提供一些不同参数的结果。如果要显示大量结果,可以在imgur.com上创建一个图库,以使答案的大小合理。另外,也可以像上面一样,将缩略图放在您的帖子中,并使其链接到较大的图像。另外,如果发现不错的东西,请随时使用其他测试图像。 我假设参数N≥500,P〜30与真实的按数字绘制模板相似。 这是一次人气竞赛,因此以最多净票数赢得答案。鼓励选民通过以下方式判断答案 原始图像的近似程度。 该算法在不同类型的图像上的效果如何(绘画通常比照片容易)。 该算法在非常严格的参数下的效果如何。 单元格形状的有机/平滑外观。 我将使用以下Mathematica脚本来验证结果: image = <pastedimagehere> // ImageData; palette = Union[Join @@ image]; Print["P = ", Length@palette]; grid = GridGraph[Reverse@Most@Dimensions@image]; image = Flatten[image /. Thread[palette -> Range@Length@palette]]; Print["N = ", Length@ConnectedComponents[ Graph[Cases[EdgeList[grid], m_ <-> n_ /; …

7
创建坏像素
您的任务是编写一个程序,使您的屏幕看起来像一个坏像素。 您应该在屏幕上选择一个像素,在红色,绿色和蓝色之间选择一个通道,并使其值始终为0或始终为最大值(通常为255)。其他通道的值应与程序未运行相同。 您可以通过任何方式选择像素和通道,例如对其进行硬编码或在每次运行时随机生成。但是它必须在相当现代的硬件上始终可见。 如果最初应在该像素上显示的颜色已更改,则当系统速度足够快时,程序应在不到0.5秒的时间内更新。 您无法假设屏幕上当前显示的内容(例如使用默认主题的任务栏)。 当屏幕保护程序,登录屏幕,来自窗口管理器的效果等处于活动状态时,您的程序无需运行。 最短的代码胜出。

14
让我们画蒙娜丽莎
2014年,演示者Jakub'Ilmenit'Debski 为Atari XL 发布了一个250字节(1)的程序图形演示,名为Mona。它绘制了以下图片(2张): 您的任务是使用您选择的语言生成完全相同的图片。 (1)细分:136个字节的数据+ 114个字节的代码。 (2)原始图片为128x96。上面的版本放大到256x192。几个像素与原始像素不同,但这是此挑战中描述的伪代码的预期输出。 怎么样? 这是代码高尔夫球。尽管您有权使用任何方法,但使用下面描述的原始算法很可能会获得最佳结果。 注意:本段不是说明,而是一般说明。有关算法的详细信息,请参考伪代码和参考实现。 该图像由64个伪随机笔触组成(请参见此视频),并循环显示以下颜色(以RRGGBB十六进制格式): COLOR = [ 0xFFE289, 0xE99E45, 0xA55A00, 0x000000 ] 最初,背景填充有第四种颜色(黑色)。每个笔画都比上一个笔画短。 伪随机数发生器在初始设置为0x7EC80000并与进行XOR 运算的32位整数上使用线性反馈移位寄存器(LFSR)0x04C11DB7。 每个笔画均以16位值初始化,该值将覆盖种子的最低字节: BRUSH = [ 0x030A, 0x37BE, 0x2F9B, 0x072B, 0x0E3C, 0xF59B, 0x8A91, 0x1B0B, 0x0EBD, 0x9378, 0xB83E, 0xB05A, 0x70B5, 0x0280, 0xD0B1, 0x9CD2, 0x2093, 0x209C, 0x3D11, 0x26D6, 0xDF19, 0x97F5, 0x90A3, …

22
自然派#0-摇滚
目标 创建一个接受输入的程序/函数N,检查N随机整数对是否相对质数,然后返回sqrt(6 * N / #coprime)。 TL; DR 这些挑战是仅需要自然和大脑(也许还有一些可重复使用的资源)才能逼近Pi的算法模拟。如果您在僵尸启示录期间确实需要Pi,那么这些方法不会浪费弹药!还有另外八个挑战。检出沙盒帖子以提出建议。 模拟 我们在模拟什么?好吧,两个随机整数是相对质数(即coprime或gcd == 1)的概率是6/Pi/Pi,因此计算Pi的自然方法是挖出两个桶(或少数几个)的岩石。数他们;看看他们的gcd是否为1;重复。这样做后,一对夫妇很多次,sqrt(6.0 * total / num_coprimes)会趋向Pi。如果计算世界末日后的平方根使您感到紧张,请不要担心!有牛顿法。 我们如何模拟这一点? 接受输入 N 请执行以下N次数: 均匀生成随机正整数,i并且j 用 1 <= i , j <= 10^6 如果gcd(i , j) == 1:result = 1 其他: result = 0 取N结果的总和,S 返回 sqrt(6 * N / S) 规格 输入值 …
39 code-golf  math  random  pi  approximation  popularity-contest  code-golf  sequence  number-theory  binary  coding-theory  code-golf  math  3d  code-golf  code-golf  math  number  code-golf  kolmogorov-complexity  code-golf  ascii-art  graphical-output  binary-tree  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation  hexadecimal  code-golf  math  number  set-theory  code-golf  math  arithmetic  number-theory  integer  code-golf  string  kolmogorov-complexity  code-golf  math  sequence  arithmetic  decision-problem  code-golf  code-golf  ascii-art  code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

23
排队的圆圈,n点
在成对n排列的圆点的每对不同点之间绘制线,产生类似以下结果的结果。最短的代码(以字节为单位)获胜!您的线条不必透明,但是那样看起来更好。输出必须是矢量图形,或者是至少600像素乘600像素的图像(保存到文件或显示在屏幕上)。要完成挑战,您必须至少绘制20张。

7
贝塞尔曲线的动画图
您的工作是根据控制点绘制贝塞尔曲线。唯一的条件是您实际上必须显示如何绘制从初始控制点到最后一个控制点的曲线。 标准 结果必须是动画的,例如必须以某种方式显示绘图过程。制作动画的方式无关紧要,它可以生成.gif,可以绘制到窗口或生成ASCII结果(并可能在每次绘制后清除屏幕),等等。 它必须至少支持64个控制点。 这是一场人气竞赛,因此您可能需要在程序中添加一些其他功能以获得更多支持。(例如,我的答案画出了控制点,以及一些关于如何生成图像的视觉帮助) 获胜者是上次提交有效作品后7天获得最高评价的有效答案。 我提交的内容无效。 如何绘制贝塞尔曲线 假设我们要绘制100次迭代。要获得n曲线的th点,可以使用以下算法: 1. Take each adjanced control point, and draw a line between them 2. Divide this line by the number of iterations, and get the nth point based on this division. 3. Put the points you've got into a separate list. Let's …

8
模拟魔方
魔方具有6种颜色:红色,橙色,黄色,白色,蓝色和绿色。红色和橙色,黄色和白色以及蓝色和绿色的面相对。 一个已解决的Rubik多维数据集的网络如下所示: Y BRGO W 磁贴看起来像这样: Y Y Y Y Y Y Y Y Y B B B R R R G G G O O O B B B R R R G G G O O O B B B R R R G G G O O …

3
解决魔方
编写最短的程序,以在合理的时间范围内移动并解决Rubik的多维数据集(3 * 3 * 3)(例如,在您的计算机上最多5秒,而最多移动1000秒)。 输入的格式为: UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (此特定输入表示已解决的多维数据集)。 前12个2个字符的字符串是UF,UR,... BL位置中的边(U =上,F =前,R =右,B =后,L =左,D =下),然后是下8个3个字符的字符串是UFR,URB,... DBR位置中的角。 输出应以这种格式给出一系列移动: D+ L2 U+ F+ D+ L+ D+ F+ U- F+ 其中D1或D +代表将D(下)面顺时针旋转90度,L2代表将L面旋转180度,U3或U-代表将U面逆时针旋转90度。 字母不区分大小写,空格是可选的。 …

26
生日快乐,芬兰!
介绍 众所周知,2017年,芬兰庆祝独立100周年。为了纪念这一场合,为每个人的乐趣举起芬兰国旗是您的工作。 挑战 创建一个产生芬兰国旗的程序或函数(灰色边框仅用于演示目的): 标志规格 标记的比例为18:11,3单位为十字,粗细为,水平比例为5:3:10,垂直比例为4:3:4。 图片的180 x 110大小必须至少为像素,如果使用ASCII艺术字,则必须为90 x 55字符。 蓝色没有正式的RGB颜色,但使用的最近似值(0, 53, 128)。如果您的系统不支持RGB值,请使用blue。 对于白色,请使用RGB (255, 255, 255)或white。 没那么快 绘制芬兰国旗比去年的冰岛挑战要简单,因此我们必须加大难度。鉴于芬兰的独立日是12月6日,因此100当芬兰的日期(UTC + 02:00)2017-12-06或更高日期时,十进制数必须出现在标志上的某个位置(您的代码不应假定其运行的计算机设置为特定时区)。在日期之前,此号码一定不能存在。该数字必须以黑色(RGB (0, 0, 0)或black)打印,但其位置和字体参数取决于您。 此类渲染的示例(再次忽略边框): 出于测试目的,最好包括解决方案的两个其他版本,一个版本具有固定的日期,而另一个版本具有未来的日期。 规则 内置的标志图像/库和标准漏洞都是禁止的。另外,您的代码不得输入任何内容。 芬兰人不喜欢闲聊,这是代码高尔夫,所以不要浪费字符!

7
数字作为圆形图形
首先,研究这个难题以了解您将要产生的东西。 您面临的挑战是编写一个程序或函数,该程序或函数将输出一个圆形图形(类似于拼图中的图形),并给出(以10为基数)介于1和100(含)之间的数字。这类似于此挑战,除了您将生成图形而不是罗马数字。以下圆圈从左到右代表数字1-10: 作为对谜题状态的答案,您的图形应该从内到外看起来像罗马数字,其中线条粗细代表罗马数字符号,整个图形代表数字。供您参考,这是您需要的线宽。每行和下一行之间应有3px的填充。 Number Roman Numeral Line Width 1 I 1px 5 V 3px 10 X 5px 50 L 7px 100 C 9px 请发布您的输出中的一两个示例。假设输入正确,标准漏洞等等。这是代码高尔夫,所以最少的字节获胜。如果出现平局,大多数选票将获胜。祝好运!

3
绘制静物(或移动的静物)-在“生命游戏”中绘制图像
输入的是灰度图像。您的任务是在Conway的《生命游戏》中找到与输入图像尽可能相似的静态或循环模式。 您的输出可以是任一个静止图像或在一些格式可以被转换成GIF一个循环动画。输出图像的尺寸应与输入的尺寸相同,并且必须仅包含黑白像素。 如果输出是动画,则必须根据“生命游戏”规则从上一帧生成每个帧,每个像素一个单元。动画必须循环播放,第一帧是根据相同规则从最后一帧生成的。 如果输出是静态图像,则对其应用生命周期规则必须产生相同的图像。这意味着没有一个“活动”单元可能具有三个以上或少于两个“活动”邻居,并且没有“死”单元可能恰好具有三个“活动”邻居。(请注意,这基本上与上述动画相同,但只有一帧。) 额外的规则和说明: 您(或您的程序)可以选择将“活动”单元格表示为白色,将“无效”单元格表示为黑色,反之亦然。也就是说,您可以对此进行硬编码,或者您的程序可以根据输入图像进行选择。(但是动画的每一帧都必须相同。) 边界条件应该是周期性的,这意味着最右边一列的单元格在最左边一列具有邻居,依此类推。 对于动画,帧频取决于您(或您的程序);我认为快速帧速率可以很好地近似于灰色像素。 请在您的答案中至少嵌入两个结果。如果您可以从下面所有输入的图像中发布结果,那是可取的。 如果需要这样做,可以按比例缩小测试图像,以便以足够小的文件大小获得GIF。如果您也想链接到更大的文件,那很好。如果要炫耀,请随时查找一些更高分辨率的源文件。 请尝试避免代码中包含太多可控制的参数-最好是程序的唯一输入是图像。唯一的例外是,如果您想使用一个参数来控制动画帧的数量,因为这会影响文件的大小。 您可以使用外部程序来更改输入和输出文件的格式,和/或根据需要将输出帧编译为动画。(这不是文件格式处理方面的挑战。) 这是一场人气竞赛,因此得票最多的答案将获胜。 这是一系列测试图像,主要来自本网站的其他问题。(以后我可能会添加其他“奖励”输入图像。) 刚开始时,这是Python 2中非常笨拙的参考尝试,它利用了一个事实,即四个正方形的块在生命游戏中是稳定的结构。它只是将输入图像缩放4倍,如果对应的像素比0.5暗,则会绘制一个块。 from skimage import io from skimage import transform import sys img = io.imread(sys.argv[1],as_grey=True) source = transform.resize(img, [i/4 for i in img.shape]) img[:]=1 for x in xrange(source.shape[0]): for y in xrange(source.shape[1]): if source[x,y]<0.5: img[x*4, y*4] …

9
编写赛车程序
恭喜@kuroineko。以优异的速度赢得悬赏赛(672步),在Gauntlet赛道上。 领导者:* Nimi为轻量级2129得分。其他条目较大,但显示出一定的速度。 *领导者可能会因以后的参加而发生变化。 您的任务是编写一个小程序,该程序可以快速驾驶赛车。 规则 您的程序将读取曲目的图像。您可以在任何黄色像素处启动汽车,并且必须通过交叉任何黑色像素来完成。您的汽车的行驶路线只能在灰色((c,c,c),其中30 <= c <= 220)轨道上。 您的汽车每转一圈将以直线速度移动,速度v由整数vx和vy组成(从(0,0)开始)。在每个回合开始时,您的程序可以更改vx和vy,以便: abs(vx2-vx1) + abs(vy2-vy1) <= 15 更新:最大加速度增加到15。 然后,您的程序将以白色从当前位置到(位置+ v)绘制一条直线,并在开始处带有一个蓝点。如果此线下方的像素为黑色,则说明您已经完成比赛。否则,如果该行下的所有像素均为灰色或黄色,则可以继续下一轮。 您的程序必须输出轨道图像,并以白色和蓝色添加路径。 附加输出(2015年1月15日新增): 如果您想竞争获胜或奖金,您的程序还应该分别输出城市或护手的点数列表(蓝点)。在答案中包括点列表(用于验证)。的问题应该是这样的:(x0,y0), (x1,y1), ... (xn,yn)。您可以自由使用包含'\n'字符的空白以适合页面上的数据。 您可以使用第三方图像读取和写入,线条绘制和像素访问库。您不能使用路径查找库。如果需要,可以根据需要将PNG图像转换为其他图形格式(例如GIF,JPG,BMP)。 继续前进的几条路 一个简单的开始: 赛道: 障碍课程: 城市: 噩梦之路:护手(如果其他都太容易了) 计分 您的分数将基于您在“城市”赛道上的成绩。积分等于您的程序长度(以字节为单位),加上赛车每转一圈要获得10积分。最低分获胜。请在答案中附上您的城市田径跑步图片-我们希望了解您的驾驶风格。 请使用以下格式的标题作为答案: <Racing Driver or Team Name> <Language> <Score> 例如:Slowpoke Perl 5329 您的程序必须能够按照上述规则在任何轨道图像上行驶。您不得对最佳路径或测试轨迹的任何参数进行硬编码。其他标准漏洞也适用。 类似的挑战 这与马丁提出的难题类似:致Vectory!– Vector …

9
Quixels-量子像素
介绍 quixel是一个量子像素。与经典像素类似,它用3个整数值(红色,绿色,蓝色)表示。但是,Quixel处于这三个状态的超级位置,而不是组合状态。该超高位置仅持续到观察到该quixel为止,在该点上它折叠为三个经典像素之一;RGB(255,0,0),RGB(0,255,0)和RGB(0,0,255)。 规格 表示 每个QUIXEL被表示为3点的整数0和255之间的阵列r,g并b分别。 超级职位 每个QUIXEL是在红色,蓝色和绿色状态之间的超级位置由下式表示R,G并B分别。 观察 观察到每个轴对偶时,它会崩溃为三种状态之一。每个古典状态的概率R = (r + 1) / (r + g + b +3), G = (g + 1) / (r + g + b + 3)和B = (b + 1) / (r + g + b + 3)。这样,每个古典状态总是以非零的出现概率出现。 输入值 该函数或程序应拍摄一个Quixel图像。如何做到这一点很灵活。文件名,使用多维数组等都可以接受。 输出量 函数或程序应生成经典像素的图像。此生成图像的数据结构也很灵活。请注意,所有的像素应该是这三个中的一个:RGB(255,0,0),RGB(0,255,0)和RGB(0,0,255) 输出不应确定 …

9
蛇化字符串
修饰后的字符串如下所示: T AnE eOf ifi ing h s x l A k e r isI amp Sna dSt 你的任务 取一个字符串s和一个size n,然后输出连串的字符串。输入ThisIsAnExampleOfaSnakifiedString和3将产生上面的示例。 技术指标 s 只会在代码点33和126之间(含端点)包含ASCII字符(不包含空格或换行符)。 s 长度在1到100个字符之间。 n是一个整数,代表每个输出字符串段的大小。组成“蛇”中曲线的每一行字符(上/下或左/右)都是n字符长。有关示例,请参见测试用例。 n 介于3到10之间(含3和10)。 输出字符串始终开始指向下方。 每行上都可以使用尾随空格。 在输出末尾也可以尾随换行符。 不允许前导空格。 code-golf表示以字节为单位的最短代码获胜。 测试用例 a 3 a ---------- Hello,World! 3 H Wor e , l llo d! ---------- ProgrammingPuzzlesAndCodeGolf …
35 code-golf  string  ascii-art  code-golf  code-golf  string  balanced-string  decision-problem  code-golf  string  geometry  grid  code-golf  tips  lisp  code-golf  quine  tips  king-of-the-hill  code-challenge  math  code-golf  string  palindrome  math  fastest-code  code-golf  string  counting  code-golf  code-golf  internet  code-golf  quine  source-layout  hello-world  code-golf  math  number  sequence  arithmetic  code-golf  ascii-art  grid  code-golf  number  grid  code-golf  string  crossword  code-golf  code-golf  ascii-art  grid  counting  code-golf  code-golf  math  sequence  arithmetic  number-theory  code-golf  code-golf  graphical-output  geometry  random  code-golf  ascii-art  grid  counting  code-golf  string  ascii-art  code-challenge  test-battery  code-golf  string  code-golf  ascii-art  kolmogorov-complexity  code-golf  interpreter  code-golf  math  sequence  code-golf  math  primes  set-partitions  code-golf 

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.