Questions tagged «graphical-output»

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

3
删除通畅的矩形
该图像是通过将7个不同颜色的矩形彼此叠加而制成的: 黑色和栗色矩形不受阻碍,也就是说,上方没有其他矩形。 编写一个程序,以获取诸如此类的图像并删除任何单个无障碍的矩形,然后输出结果图像。 例 如果您在上面的图像上运行程序,并在输出上重新运行它,则程序可能会像这样进行。 运行1-黑色被移除(可能是栗色的): 运行2-栗色已移除(唯一选择): 运行3-删除黄色(唯一选择): 运行4-已删除蓝色(本来可以是绿色): 运行5-移除绿色(唯一选择): 运行6-移除棕色(唯一选择): 运行7-移除红色(唯一选择): 任何其他运行都应产生相同的白色图像。 希望Stack Exchange不会无损地压缩任何这些图像。 图像将始终具有白色背景,并且每个矩形都是唯一的RGB颜色,而不是白色。 您可以假定图像始终可以解释为一组重叠的矩形。具体来说,您可以假定,对于特定颜色,该颜色最接近图像顶部的像素是该颜色矩形的上边缘的一部分。底部,左侧和右侧边缘也是如此。 因此,例如,在此图像中,红色矩形的顶部边缘将恰好在黄色矩形的底部边缘下方,因为橙色矩形覆盖了旧的红色顶部边缘: 在此图像中,可以先删除红色矩形(以及黑色/栗色/橙色/灰色): 当下部矩形的顺序不明确时,可以给它们任何顺序。 例如,此处的左侧图像可能变为中间或右侧: 输出不应有矛盾的重叠(因此应该可以使用画家的算法来实现)。因此,在此图像中(感谢user23013),它必须在橙色矩形下为绿色: 额外细节 图像和矩形可以具有任何尺寸。 矩形可能会触及图像边框。 最多可能有256 3-1 个矩形。 如果输入是全白的,则输出也应该是白色。 您可以使用图像库。 输入应该是图像文件名或原始图像数据。它可以来自stdin或命令行。 可以将输出写入相同或另一个图像文件,将原始图像输出到stdout,或简单地显示。 允许使用任何常见的无损Truecolor图像文件格式。 字节最少的提交将获胜。

8
像素艺术,第2集:显示超级马里奥兄弟的地图1-1
最后的挑战(Pixel-art,第1集:展示超级马里奥)只是一次培训……(而您以惊人的方式完成了,谢谢!) 这次,您需要做更多的工作。您必须在NES上显示超级马里奥兄弟的所有第一张全球地图,没有敌人,也没有马里奥。 您的程序或函数必须显示以下图像的所有像素,或产生与其类似的图像文件(BMP,PNG或GIF)。 您的程序不得以任何方式访问互联网。 如果需要,可以缩放输出,如果需要,像素可以是ASCII或HTML元素,只要它们具有正确的颜色即可。 这是您必须遵循的模型: 整个图片:http : //i.stack.imgur.com/2kfVc.png 磁贴集(如果需要):http : //img.ctrlv.in/img/14/10/19/5443f44c7eb78.png 您可以生成自己的磁贴集,该子集或超集。 您可以将tileet用作单独的图像文件,也可以将其包含在代码中(例如,在base64中)。如果是单独的,则将其大小(以字节为单位)添加到您的乐谱中。 具有坐标的地图:http : //goo.gl/c8xJIx或http://img.ctrlv.in/img/14/10/19/544373adc9f64.png 颜色: 天蓝色:#5C94FC 黑色:#000000 粉色:#FCBCB0(用于街区和城堡) 布朗:#C84C0C(用于街区和城堡) 橙色:#FC9838(用于“?”块) 浅绿色:#80D010(用于灌木丛,山脉,旗杆,经线) 深绿色:#00A800(用于灌木丛,山脉,旗杆,经线) 白色:#FCFCFC(云) 浅蓝色:#3CBCFC(云) 最短答案胜出。 编辑:将有两个记分板,一个记分以字节为单位,一个记分以字符为单位。 祝好运! PS:这里有一些注释可以帮助您优化程序: 云,灌木和山脉有重复的图案(每48列) 飞行块仅出现在第4和8行上 地图的每个图块或小精灵最多使用4种颜色(包括蓝色或透明颜色,具体取决于您的观看方式) 灌木丛只是“云顶”,具有不同的调色板 使用相同的16x16px迷你套,可以轻松地形成单,双和三重灌木/乌云。单峰山和三峰山也是如此

2
画犹他茶壶
最初由Martin Newell创建的犹他州茶壶是测试3D图形程序的便捷对象。 任务是在透视投影中创建茶壶的线框图像。为了鼓励使用源代码应用程序,可以将查看和摄像机控制隔离开来,并从计数中排除。这样一来,可以修改参数和输入文件,并重新使用代码以生成各种图像,但是不必创建能够接受复杂命令行参数等的完整实用程序。寻求“黑客”的平衡。 参考 StackOverflow:Bezier修补程序如何在犹他州茶壶中工作? 因此,这里有三个子任务: 以原始格式读取茶壶数据。 使用deCasteljau拆分或其他方法细分补丁数据。其他方法是使用Bezier基础矩阵并评估多项式(标准参考,例如Foley和van Dam,Newmann和Sproull)或Bernstein基础方法(这仍然超出我的范围)。 将这些点投影到2D(如果该语言本身不支持3D),并绘制一个小补丁的轮廓,如从Eye点看到的那样,该点的视图以LookAt点为中心,并且其垂直轴与茶壶的垂直轴对齐(即,从有利的位置将其“垂直”绘制)。 假设从文件读取面向行的文本数据没什么大不了,那么这个挑战实际上就是动手使用Bi-Cubic Bezier补丁数据。 由于对背面剔除进行简单的常规测试是不够的(贴片并非都朝外),因此无需去除任何隐藏线或表面。作为线框,背面看起来应该很好。可以通过根据与眼睛的距离调整线宽来改善外观,但这并不是绝对必要的(我自己的程序不会这样做)。 这既是代码高尔夫,又是罗塞塔石碑。参加高尔夫比赛的答案应包括正常计数。但是,即使不是特别简短,也极力鼓励以非常规语言提交。 对于Kolmogorov复杂性爱好者,这里有一个更简洁的数据集,可以通过增加旋转次数和修补程序的镜像来重建整套数据集。在吉姆·布林(Jim Blinn)的“图形流水线之旅”中,利用各个补丁具有旋转或其他对称性这一事实,提供了一种更为简洁的生成方法。整个身体(或盖子)可以通过绕y轴旋转的单个Bezier曲线来描述。喷口和手柄可通过其轮廓的两条曲线来描述,然后选择中间控制点以近似于圆形挤压。

6
平行投影体素地形生成器
您的工作是生成一个高度图,并将其显示为平行投影的体素景观。规则如下: 景观的(高度图)必须随机生成 您还必须描述所使用算法的工作原理,以便每个人都可以在这里学到新知识 您还必须生成图像或在屏幕上显示生成的风景 生成的图像必须进行平行投影(因此不能透视),并且只能包含体素(因此必须由小盒子组成) 这是一场人气竞赛,因此您可能需要在程序中添加一些其他功能以获得更多支持。 获胜者是上次提交有效作品后7天获得最高评价的有效答案。所有有效的提交都必须遵守规则,包括所用算法的描述。您可以添加不遵循某些规则的其他功能(例如添加透视模式),但是在这种情况下,它们必须是可选功能(例如,将其关闭时,结果应遵循所有规则) 我提交的内容无效。 结果图像示例如下: 从这里拍摄的图像 如果您需要一些算法,请点击此处

27
为*写翻译
任务很简单。为*语言编写口译员。 这是Wiki的更大链接。 只有三个有效的*程序: * 打印“ Hello World” * 打印0到2,147,483,647之间的随机数 *+* 永远运行。 根据此问题的规范,第三种情况必须是无限循环 输入: 可以通过我们的标准I / O规则通过任何可接受的输入方法进行输入 它将永远是以上程序之一 输出: 第一种情况应打印准确Hello World,带有或不带有尾行。 对于第二种情况,如果您的语言的整数最大值小于2,147,483,647,请使用您的语言的整数最大值 根据我们的标准I / O规则,第一种情况和第二种情况可以打印到任何可接受的输出。 第三种情况不应给出任何输出。 得分: 因为这是代码高尔夫球,所以最短的答案(以字节为单位)获胜。
20 code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

8
彭罗斯三角Codegolf
的彭罗斯三角形,也被称为彭罗斯tribar或不可能tribar,是不可能的对象。 此挑战的目标是以尽可能少的字节显示Penrose三角形。 资料来源:维基百科 规则: 生成彭罗斯三角后,必须以数字方式显示它。 它们的外观必须与Wiki页面的上述图像相同(上述资源),而无需直接显示该图像。 具有相同配色方案的同一图像必须以至少400x400的尺寸显示。 应该尽可能准确。 祝好运并玩得开心点!

8
反向插入排序
目的 根据“ 插入排序”对列表进行排序的动作,生成原始的加扰列表。原始列表将包含从0到N-1(包括)的所有数字,其中N输入的大小。 输入项 一个包含对列表进行排序的必要动作的列表。每个值代表由原始数字(加扰的数字)移位到其右位置的插槽数量,请记住,此过程是从左到右。输入列表 中(0索引)位置的值i将介于0和之间i。 您不需要处理无效的输入,在这种情况下,任何行为都是可以接受的(崩溃,无限循环等)。 输出量 混乱的名单 逐步生成动作 Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

4
高尔夫生命之花
这里的挑战是用您选择的语言准确地描绘出生命之花(在某些情况下是神圣的几何图形)。 设计包括如图所示的半径为1的圆和部分圆的排列,其中心排列在间距为1的三角形网格上,再加上一个围绕其的半径为3的较大圆。 您可以根据需要缩放设计,但允许数学上正确的最大误差为2%。如果使用光栅图形,则有效地将小圆圈的直径限制为至少约100个像素。 因为这是代码高尔夫球,所以最短的代码(字节)获胜。

13
画一条龙曲线
今天的任务:画一条龙曲线! 如果你不知道龙曲线是什么,这里是一个介绍ViHart视频(真的很酷,敬请收看!) 您的任务:绘制一条龙形曲线,重复至少9次。您不必显示迭代1到9,仅需要显示完成(至少)9次迭代后生成的最终曲线。曲线必须绘制为连接曲线上各点的直线;输出应与下面显示9次或更多次迭代(直到反射,旋转,缩放和线宽,线色和背景色的变化)的图像之一匹配。您的输出必须足够大,以使各个行和它们形成的“框”可以相互区分。如果两条线在曲线中不相交,则它们不应在输出中占据相同或相邻的像素(在它们之间至少应有一个可见的背景像素)。您可以在屏幕上显示图像,也可以将图像保存到文件中。输出必须是图形的-不能是ASCII文字。 以字节为单位的最短代码为准,但是不应在字节数中包含库的包含指令,如果图形库或其他库是在发布前编写的,则可以使用为您选择的语言编写的图形库或其他库。 请提供程序输出的图像。 如果您观看了视频,请跳过本段:对于那些决定不观看视频的人,下面显示了龙曲线的前12次迭代。就此任务而言,龙曲线是通过以下规则生成的曲线:取当前曲线的端点,创建围绕该端点旋转90度的第二条曲线,以使原始曲线的端点曲线是新曲线的起点,并将两条曲线合并为一条相交的曲线。在下面显示的图像中,每个新的迭代都是通过将前一个迭代绕端点每次顺时针旋转90度来生成的。当曲线显示在屏幕上时,哪个终点算作“终点”并不明显,但是当曲线存储为点数组时,很容易将“终点”定义为终点数组。 赞赏但不接受Ascii艺术:这是图形输出,而不是ascii艺术。

5
是否有更多的硬物或软物
与假设分析书的开头相切。 输入是一个由空格组成的矩形,如字符串,字符串列表等,其对象由#内部组成: ######## # # ######## ### #### ### #### ### 对象将始终是非相交,非接触的矩形。软对象的定义是#中间没有用填充的对象,而只是边界,而硬对象则是填充的对象。具有宽度或高度的对象<=2被认为是坚硬的。所有对象都是硬的或软的。 如果输入,输出中有更多的硬对象"Hard",如果较软,则输出"Soft",如果相等则输出"Equal"。 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 这些情况不是全部输入,而是每个对象应表征的内容。实际输入将类似于问题顶部的ascii艺术。 硬 # #### ## ## ########## ########## ########## 柔软的 ### # # ### ################### # # # # # # ################### #### # # # # # # # # # # # # …
19 code-golf  ascii-art  counting  code-golf  number  grid  decision-problem  chess  code-golf  grid  graph-theory  chess  code-golf  math  geometry  code-golf  arithmetic  roman-numerals  fastest-code  code-golf  math  geometry  code-golf  string  cryptography  code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

13
谢尔宾斯基层
首先,/\您可以通过在下面添加一条线来创建类似于Sierpinski三角形的图案,从而... 任何松散的分支/或\再次分裂为两个分支:/\。 分支的任何碰撞都将\/死,其下无任何东西(只有空格)。 重复这些规则将产生 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... (ViHart的启发) 编写一个程序或函数,该程序或函数接受一个正整数N,并将此模式的前N行打印到stdout,且前导或尾随空格不超过所需数量。 例如,如果输入是1输出,则必须为 /\ 如果输入是2输出,则必须为 /\ /\/\ 如果输入是8输出,则必须为 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ 等等。 字节最少的代码获胜。

9
从ASCII文本生成PBM位图文件
该PBM(便携式位图)格式是一个非常简单的ASCII黑白位图格式。 这是字母“ J”(从Wikipedia链接复制粘贴)的示例: P1 #这是字母“ J”的示例位图 6 10 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 …

2
实现Boids算法
介绍 本类鸟群算法是自发行为一组在一个相对简单的演示。正如其创建者Craig Reynolds所述,它具有三个主要规则: 基本的植绒模型由三个简单的转向行为组成,这些行为描述了单个波德人如何根据其附近的植群的位置和速度进行操纵: 分隔:避免拥挤当地羊群。 对齐:对当地flockmates的平均航向转向。 凝聚力:转向向当地flockmates的平均位置移动。 每个辫子都可以直接访问整个场景的几何描述,但是植绒要求它仅对自身周围某个特定区域内的植绒动物做出反应。邻域的特征是距离(从主体的中心开始测量)和角度(从主体的飞行方向开始测量)。该本地社区之外的队友将被忽略。可以将邻域视为感知受限的模型(例如在浑浊的水中的鱼),但将其视为定义了一群人影响波伊德转向的区域可能更正确。 我在解释事物时并不完美,因此我强烈建议您查看原始资料。他的网站上还有一些超级有用的图片。 挑战 给定主体(模拟实体)的数量和帧的数量,输出模拟的动画。 Boid应该呈现为红色圆圈,并在圆圈内部显示一条线,指示其标题,这是Boid指向的方向: 每个波蒂的角度(如雷诺所描述的)应为整300度。(不是360) 每个boid的起始航向和位置以及位置均应是均匀随机的(但要播种,以便仍能确定输出)。 如果boid的半径为1,则邻居的半径应为3。 伯德的数量从2到20不等。 帧数为1-5000 动画的播放时间至少应为每帧10毫秒,最长应为boid数量的1秒。(2个波西德=每帧最大2秒,3个波西德=每帧最大3秒,等等) 输出动画应至少为5个boid半径乘以5个boid半径,乘以boid数量的一半。因此,两个boid的最小大小将是10 boid半径乘以10 boid半径,三个boid的最小大小将是15 boid半径乘以15 boid半径,等等。 每个投标的半径必须至少为5个像素,最大为50个像素。 需要限制每个Boid的速度,以使其在一帧中的移动幅度不超过其半径的1/5。 需要确定输出,以便如果多次运行相同的输入将产生相同的输出。 如果辫子到达边界,则应回绕到另一侧。同样,每个投标附近的区域也应环绕边界。 算法规则 在这种情况下,每个Boid周围都有一个跨度为300度的扇形,以Boid的航向为中心。这个“邻居”中的任何其他小伙子都被认为是“邻居”,或(用雷诺兹的术语称)“队友”。 每个BOID都应调整其航向以避免碰撞,并保持一个BOID半径与其邻居的舒适距离。(这是算法的“分离”方面。一个波德半径可能会被绕过,但应该像橡皮筋一样,重新卡入到位。) 每个boid都应另外调整其航向,使其更接近其附近其他boid的平均航向,只要它不干扰第一条规则即可。(这是算法的“对齐”方面) 只要不引起碰撞或不会显着干扰第二条规则,每个船长都应将自己转向其队友的平均位置。 在有关该主题的论文中,他解释如下: 为了建立模拟群,我们从支持几何飞行的布依德模型开始。我们添加了与避免碰撞的相反力量和加入羊群的冲动相对应的行为。简要地描述为规则,并按优先级从高到低的顺序,导致模拟植绒的行为为: 避免碰撞:避免与附近的队友发生碰撞 速度匹配:尝试将速度与附近的队友匹配 羊群居中:尝试靠近附近的羊群 运动的更详细描述: Boids算法的标准实现通常会对每个规则进行计算,然后将其合并在一起。 对于第一个规则,Boid会遍历其邻域内的相邻Boid列表,并且如果其自身与邻居之间的距离小于某个值,则将Boid推离其邻居的矢量应用于Boid的航向。 对于第二条规则,Boid计算其邻居的平均航向,并将当前航向与平均航向之间的差值的一小部分(在此挑战中,我们将使用1/10)添加到当前航向。 对于第三条规则(也是最后一条规则),该boid将其邻居的位置平均,然后计算指向该位置的向量。此向量乘以比规则2所用的数字还要小的数字(对于此挑战,将使用1/50)并将其应用于航向。 然后将标本朝其方向移动 这是Boids算法的有用伪代码实现。 输入和输出示例 输入: 5、190(5个辫子,190帧) 输出: 获奖标准 这是代码高尔夫球,因此以字节为单位的最小解决方案获胜。

28
计算逆模量
任务: 输出for的值x,其中a mod x = b有两个给定值a,b。 假设条件 a并且b将始终为正整数 永远不会有解决方案 x 如果存在多个解决方案,请至少输出其中之一。 如果没有任何解决方案,则不输出任何内容或表明不存在任何解决方案。 允许内置(不像其他数学方法那样有趣) 输出始终是整数 例子 A, B >> POSSIBLE OUTPUTS 5, 2 >> 3 9, 4 >> 5 8, 2 >> 3, 6 6, 6 >> 7, (ANY NUMBER > 6) 8, 7 >> NO SOLUTION 2, 4 >> NO …
18 code-golf  math  number-theory  code-golf  number  integer  code-golf  string  code-golf  music  code-golf  arithmetic  array-manipulation  decision-problem  code-golf  math  rational-numbers  code-golf  code-golf  graphical-output  hardware  code-golf  math  number  code-golf  string  parsing  natural-language  code-golf  tips  brain-flak  code-golf  graph-theory  code-golf  number  polynomials  king-of-the-hill  code-golf  ascii-art  kolmogorov-complexity  animation  king-of-the-hill  code-golf  tips  code-golf  ascii-art  code-golf  string  array-manipulation  data-structures  code-golf  math  number  code-golf  string  base-conversion  binary  code-golf  decision-problem  graph-theory  code-golf  math  polynomials  code-golf  kolmogorov-complexity  physics  code-golf  sequence  number-theory  code-golf  math  integer-partitions  code-golf  array-manipulation  random  permutations  code-golf  string  decision-problem 

3
找到身份沙堆
这个问题是关于阿贝尔沙堆的。阅读此先前的挑战,并观看此亲密视频以了解更多信息。 大小为n × n的阿贝尔沙堆是一个包含数字0、1、2和3(代表沙粒数量)的网格。添加两个沙堆的工作方式是:先逐个元素地添加元素,然后对高于3的任何元素进行推倒。推倒的顺序无关紧要,最终结果是相同的。当一个单元倾倒时,其数量减少4,而其每个直接相邻单元的数量增加1。这可能导致链反应。如果单元格位于网格的边缘,则在倾倒时掉落到网格上的所有颗粒都会消失。 例如,我要添加两个三乘三的沙堆(产生非常极端的连锁反应): 3 3 3 1 2 1 4 5 4 4 6 4 6 2 6 6 3 6 2 5 2 4 1 4 4 2 4 0 4 0 2 0 2 2 1 2 3 3 3 + 2 1 2 = 5 …

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.