Questions tagged «graphical-output»

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

9
打印所有3 x 3坚固的正方形
坚固的正方形(类似于魔术正方形)是整数1到N 2在N by N网格上的排列,以使每2 by 2子网格具有相同的总和。 例如,对于N = 3,一个坚固的正方形是 1 5 3 9 8 7 4 2 6 因为四个2 x 2子网格 1 5 9 8 5 3 8 7 9 8 4 2 8 7 2 6 全部加起来等于23, 23 = 1 + 5 + 9 + 8 = 5 + …
24 code-golf  number  arithmetic  number-theory  grid  code-golf  binary  code-golf  popularity-contest  code-golf  chemistry  code-golf  code-golf  date  code-golf  quine  chess  code-golf  hexadecimal  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  math  date  code-golf  typography  code-golf  string  code-golf  string  code-golf  code-golf  math  arithmetic  array-manipulation  grid  code-golf  puzzle-solver  code-golf  music  audio  code-golf  decision-problem  code-golf  geometry  code-golf  number  bitwise  code-golf  string  metagolf  hexagonal-grid  code-golf  string  code-golf  sorting  popularity-contest  code-golf  game  sequence  base-conversion  binary  code-golf  decision-problem  graph-theory  natural-language  code-golf  math  parsing  optimized-output  code-golf  array-manipulation  code-golf  graphical-output  image-processing  tiling  code-golf  graph-theory  path-finding  chess  code-golf  code-golf  balanced-string  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  statistics  code-golf  chemistry 

4
围起来1009像素
输出是包围1009像素的形状。 形状必须采用单个,闭合,不相交的环的形式。 输入是一个正的非零整数。 每个输入必须产生唯一的输出-也就是说,每个输出必须与使用较低输入生成的输出唯一。 胜利取决于最大的输入限制: 您提交内容的输入限制被认为比提供非唯一或无效输出的最低输入少1。 例如,如果为输入1、2或3而不是4产生有效且唯一的输出,则您的输入限制为3。 源代码限制为1009字节。如果有平局,则字节数最少的条目获胜。 限制和说明: 形状的最大尺寸为109 x 109像素。大小包括用于绘制形状的线。 一条线是恒定的宽度。 封闭的空间必须完全由线条封闭-您不能使用图像文件的边界。 封闭的1009像素仅指封闭的空间。它不包括该行。 输出是图像。 没有其他图形限制-例如颜色,线条粗细等。 输出的唯一性仅指封闭的空间。如果封闭的空间不是唯一的,则线的更改或其他图形更改将是无关紧要的。 形状的转换并非唯一。旋转,反射和任何其他变换算作唯一的。 输出必须可重现-相同的输入将始终提供相同的输出 输出之间不需要有关系,连续的或其他的关系。 在提交的“输入限制”之外,没有定义的输出。 不允许其他输入或获取外部数据。 一条线必须是连续的,即像素必须接触(接触角点计数)。 像素是您的绘图方法使用的“绘图”的最小单位,不一定与屏幕像素相对应。 例子: 这是有效形状的示例: 以下形状无效: 编辑:线接触: 封闭空间必须是连续的,定义为像素接触。触角至关重要。 线不能在其外侧封闭任何空间。@Sparr发布的这张图片说明了这一点-仅每行的第一个形状有效: 线的外侧可以接触,但不能以包围空间的方式接触。 触摸线可能不会重叠-例如,两条触摸1像素粗的线的总厚度为2px,从不为1px。

3
用王瓷砖填充屏幕
已经证明,以下的13平方的Wang块总是不定期地对平面进行平铺。这意味着,当正方形排列成网格时,所有相邻边的颜色都相同,图案的平移将永远不会与其自身匹配。 我们将通过一个3×3网格以文本形式表示每个图块,该网格在中心和拐角处都填充有空格,数字1到5代替了边缘处的红色,绿色,蓝色,黄色,灰色。 2 2 2 1 1 1 4 3 2 2 4 3 2 1 2 1 3 2 3 2 1 3 1 3 2 4 4 4 4 4 5 4 5 5 5 5 5 5 4 3 2 3 2 3 2 1 2 1 …

4
愿4日与您同在!
为了纪念《星球大战》纪念日,编写一个程序来显示以下文本,滚动起来就像《星球大战》的开始抓取: It is a period of civil war. Rebel spaceships, striking from a hidden base, have won their first victory against the evil Galactic Empire. During the battle, Rebel spies managed to steal secret plans to the Empire's ultimate weapon, the Death Star, an armored space station with enough power …

30
编写一个hello world GUI程序,三秒钟后关闭
请阅读规则,以及粗体字部分。 只要具有对窗口系统的GUI支持(不能是文本控制台等,并且必须是GUI / toolkit / window),就可以用任何语言编写程序。 程序必须以任何方式(问候图像,菜单栏,状态栏,标题,视频,消息框,其他小部件内容等)打招呼,只要符合GUI的窗口并显示此文本三秒钟。可以使用最少的代码(以字节为单位)进行编码的人会很容易。

3
产生牛顿分形
你们都知道牛顿法可以近似函数的根,不是吗?我在此任务中的目标是向您介绍该算法的一个有趣方面。 牛顿算法仅针对某些但所有复杂的输入值进行收敛。如果您描绘了复杂平面上所有输入值的方法的收敛性,通常会得到一个漂亮的分形,如下所示: 图片来自维基共享资源 技术指标 此任务的目标是生成此类分形。这意味着,您将获得多项式作为输入,并且必须以您选择的格式将相应的分形作为图像打印输出。 输入项 输入是用空格分隔的复数列表。它们在风格写下来<Real part><iImaginary part>,这样的数字:5.32i3.05。您可能会假设输入数字的位数不超过4个且小于1000。它们中的第一个不能为零。例如,这可能是您程序的输入: 1 -2i7.5 23.0004i-3.8 i12 0 5.1233i0.1 数字被解释为从最高幂开始的多项式系数。在本说明书中的其余部分,输入多项式称为P。上面的输入等于这个多项式: f(x)= x 5 +(-2 + 7.5 i)x 4 +(23.0004-3.8 i)x 3 + 12 i x 2 + 5.1233 + 0.1 i 输入可能来自标准输入,传递给程序的参数或显示给程序的提示。您可以假定输入不包含任何前导或尾随空格字符。 渲染图 您必须通过以下方式渲染分形: 选择尽可能多的颜色作为P的根,再加上额外的颜色以发散 对于可见平面中的每个数字,确定方法是否收敛,如果是,则收敛到哪个根。根据结果​​为点着色。 不要打印标尺或其他花哨的东西 在这些点上打印一个黑点,这些点是定向的多项式根。每个根周围最多可以打印四个像素。 找到一种方式来选择可见平面,所有根都是可区分的,并且在可能的情况下在整个平面上广泛分布。尽管不需要完美放置输出框架,但我保留拒绝接受以不可接受的方式选择框架的答案的权利。总是在同一坐标上,所有根都在一个点上,依此类推。 输出图像的大小应为1024 * 1024像素。 渲染时间最长为10分钟 使用单精度浮点值就足够了 …

15
生成具有2,073,600种独特颜色的1920 x 1080图形
挑战: 编写一个程序,输出一个1920像素宽x 1080像素高的图形文件。图形中的2,073,600像素中的每个像素都必须是唯一的颜色,并且不得重复任何颜色值。颜色应以RGB指定,并从0,0,0开始,并依次向上计数至255,255,255。您会发现1920 x 1080像素的图像将仅包含许多黑色,蓝色和绿色。 例如,(较小的缩减版本)。如果将高度设置为5,将宽度设置为5,则将输出25像素的正方形图形,并且每个像素都是唯一的颜色。RGB颜色数组如下所示: Array ( [0] => Array ( [0] => 0 [1] => 0 [2] => 0 ) [1] => Array ( [0] => 0 [1] => 0 [2] => 1 ) [2] => Array ( [0] => 0 [1] => 0 [2] => 2 ) …

16
创建一个模拟时钟
创建一个模拟时钟 目标:使用任何编程语言来创建可工作的模拟时钟。 要求: 您的时钟应至少具有小时和分钟指针。 产生的时钟可以是图像,动画或ASCII艺术形式。 预计时钟会显示当地时间。 可选的: 除了分钟和小时指针,您还可以使时钟显示秒指针。 如果需要,您还可以将时区设置为可配置的。 您可以自由选择是否忽略或处理有关leap秒的问题。 如果用户调整系统时钟或发生日光变化,您可能会想想程序会发生什么。 由于这是一场人气竞赛,因此请发挥创造力,并画一些漂亮的时钟以备不时之需。除了我不会接受自己的答案外,大多数赞成者都胜出。 最后,建议(但不是必需)在答案中张贴时钟的至少一个屏幕截图(或在使用ASCII字体的情况下输出文本)。这样,人们就无需编译并运行它即可查看它的含义。 该问题旨在恢复已删除的问题。 请注意,它不是这个其他问题的重复。这个问题是要求ASCII艺术的代码高尔夫。这不限于ASCII艺术,而是流行性竞赛,因此预期答案会大不相同。

14
色度成功的关键
RGB颜色值#00FF00是一个相当重要的值:它用于制作电影,电视节目,天气通告等。它是著名的“电视绿色”或“绿色屏幕”颜色。 挑战 您的任务是编写一个程序,以获取两个输入图像,这些输入图像均为PNG格式(或图像库的图像对象类型),并且尺寸相同。一个图像可以是任何旧图像。另一个是具有颜色背景的图像#00FF00。输出图像将由第二个图像覆盖,第一个图像重叠在第一个图像上,不#00FF00存在任何颜色(第一个图像除外)。输入和输出可以通过文件,一个GUI,等你被允许采取的RGB值的数组作为输入来完成,因为看到这里。您可以假定图像仅具有完全不透明的像素。 基本上... 制作一个程序,将#00FF00一个图像中的每个像素都替换为背景图像中的相应像素。 测试用例 @dzaima慷慨提供的:背景: 前景: 输出: 当然,严格禁止标准漏洞。这包括使用在线资源为您做到这一点。 这是代码高尔夫,所以最短的代码胜利和最好的程序员可能会繁荣...

3
龙的形象
我看到一个由正方形制成的双龙曲线的酷图,不知道如果我们从另一个基本图像开始会发生什么。所以我写了一个程序来做到这一点。 太酷了,我以为作为挑战来做会很有趣。 任务 您将拍摄一个正方形图像,其边缘长度为2的幂(大于4)。 要制作此图像,您应先将图像分成4个相等大小的垂直带,然后将相邻的带沿相反方向移动为图像大小的八分之一(移动的带应环绕到另一侧)。然后,您应该在每次将图像分为两倍的分割并向上一次移动一半时重复此过程。每次迭代都应在垂直和水平移位之间交替。您应该进行迭代,直到移位要求您移位完成的点数像素(始终为1/2)。 从左向左垂直移动奇数编号的带(零索引)时,应向下移动,而偶数向上移动。水平移动时,从顶部起奇数编号的频段应向左移动,而偶数编号的频段应向右移动。 您只需要输出/显示转换的最终结果,而不是像gif所示的所有中间步骤。 这是代码高尔夫球,因此目标是最小化以字节为单位的源代码长度。 通过示例工作 我将逐帧浏览页面顶部显示的cat gif。 这是起始图像: 该图像为512 x 512像素。我们将其分为4个频段,以将每个频段垂直移动和移动1/8图像尺寸(64像素)。 现在,我们将其分为两倍的频段(8个频段),并将其移动到上次的一半(32像素)。这次我们将水平移动。 现在,我们这次再次垂直移动,分为16个波段,每个波段移动16个像素。 32波段8像素水平移动 64波段4像素,垂直移位。 128个波段,2个像素,水平移动。 256个波段,1个像素,垂直移位。 由于下一个移位将要求我们将每个波段移动半个像素,因此我们将在此处停止并输出结果。 测试用例 我有一个可以制作这些图像的工作脚本,所以我想我会让你们选择测试用例的图像。因此,如果您有一个平方的图像是2的幂次方,那么您希望看到它变成龙形。随时将其发送给我,我将其作为测试用例。 您还应该在纯白色或纯黑色图像上进行测试,以便确定像素是否消失。

10
自然日志上的蚂蚁
这是一个很好的初学者挑战,也是一个很好的时间杀手。 我只说了-自然-对数,因为标题太短了,这与对数无关。 给定2个变量: 蚂蚁数量n。 日志的宽度w。 输出日志宽度w与n蚁(实施例示出w=3,n=6) | | | \O/ \O/ \O/ | | -O- -O- -O- | | /o\ /o\ /o\ | | ^ ^ ^ | | | | \O/ \O/ \O/ | | -O- -O- -O- | | /o\ /o\ /o\ | | ^ ^ ^ | …

1
一路下跌的因素!
这项挑战的灵感来自于这张奇妙的动画图表(感谢在聊天中张贴的虚假人物)。 给定输入n,将其所有主要因子绘制为指定的点的嵌套多边形。 例如,给定数字357 = 17x7x3,您在一个三角形中排列3个点,在一个七边形中排列这些三角形的7个版本,并在一个17边角中排列这些庚烷的17个版本。简而言之,嵌套的多边形从外部的最大素数到内部的最小素数。对于357,您的答案应该看起来像这样(有色或无色): 每个素数的每个多边形>= 3都不应围绕图旋转。 唯一的例外是质数2,专门用于的奇数幂2。在376 = 47x2x2x2下面的示例中可以看到,8s旋转并且不是2s的单行,而是4正方形中s的垂直堆栈。甚至2以正方形排列的的幂也不需要以这种方式旋转。 实际上,它448 = 7x2x2x2x2x2x2具有一个看起来像64s 的七边形的图,并64排列成正方形的正方形,但没有旋转。 还有两个示例是440 = 11x5x2x2x2和432 = 3x3x3x2x2x2x2。我们看到440奇数幂为2时旋转了8s,而432偶数幂2为时旋转了16s。 最后,这是一个最小的示例,它10 = 5x2没有我用Python及其turtle模块模拟的颜色。 挑战 给定输入nwhere 1 <= n <= 10000,输出其嵌套因子多边形的图像。 规则是: 图像由嵌套的点的多边形组成,从外侧(最大素因数)侧面到内侧最小素数因数的多边形组成。 对于因子2,2的幂应堆叠为一条线,然后是一个正方形,然后是一个正方形的线,依此类推。即使2的次方也不应该旋转。2的奇次幂应绕其各自的多边形旋转,并且在旋转之前应垂直堆叠它们。 您可以根据自己的喜好调整图像的方向(尽管我更喜欢向上),但是每个嵌套的多边形都应与其他任何多边形面对相同的方向,唯一的例外是2的次方。 对于图像大小和点大小,您有两个选择: 图像大小是静态的,并且点的大小随着n动画的增加而减小。 点大小是静态的,图像大小会随着n增加而增大。 多边形的前三层应与相邻的多边形(即不接触)区分开,但要考虑到周围及其周围图像的大小n=10000如果层开始接触就可以了。如果他们不愿意的话,我会更喜欢它,但是它不可避免地要适合可上传到Stack Exchange的图像。 颜色是可选的。 点的形状由您决定。如果正方形更适合您的语言,请使用那些。 没有奖金,但是我希望看到有人像原始帖子那样为图表添加动画并为其着色。 感谢Conor O'Brien,EasterlyIrk,Martin Ender,Kritixi Lithos,Mego,DJ McMayhem和El'endia Starman在编写此问题时所提供的帮助。 此代码高尔夫球,所以最短的代码获胜。祝你好运,打高尔夫球!

1
疑难杂症
编写一个程序,根据结的结构绘制一个二维结图。打结恰恰是听起来的样子:一圈被绑住的绳子。在数学中,结图显示了一根绳子在其自身上方或下方交叉以形成结的位置。一些示例结图如下所示: 绳子交叉的那条线有一个断点。 输入:描述结的输入是整数数组。绳子交叉n次的结可以表示为n个整数的数组,每个整数的值都在[0,n-1]范围内。让我们把这种阵列ķ。 要获得描述结的数组,请对段0到n-1中的每一个进行编号。段0应该通向段1,应该通向段2,应该通向段3,依此类推,直到段n-1环回并通向段0。当另一段绳子越过段时,段结束(由图中的折线表示)。让我们来看看最简单的结-三叶结。在对段进行编号后,段2越过段0时结束。当段0越过时,段1结束;当段1越过时,段2结束。因此,描述结的数组为[2,0,1]。通常,段x从段x-1 mod n离开的地方开始,到段K [x]越过它的地方结束。 下图显示了结图,带有标记的段和描述结的相应数组。 顶部的三幅图是真实的结,而底部的三幅图是绳索的环,它们自己交叉但实际上并未打结(但仍具有相应的代码)。 您的任务是编写一个函数,该函数采用一个整数K数组(您可以称其为不同)来描述一个结(或实际上未打结的绳索环),并生成相应的结图,如上所述。例子。如果可以,请提供代码的原始版本或说明,并提供示例代码输出。相同的结通常可以用多种不同的方式表示,但是如果函数输出满足的结图将输入作为其可能的表示之一,则您的解决方案是有效的。 这是代码高尔夫球,因此以字节为单位的最短代码获胜。代表绳索的线的厚度可以为1像素,但是越下和越线必须清楚地区分(绳索的断口尺寸应比绳索的厚度大至少在任一侧至少一个像素) 。 我将对依赖于内置结理论功能的答案进行投票,但是最后选择的答案不能依赖于内置结理论功能。 我对我的记法所了解的一切:我相信有些值序列似乎并不对应于任何结或不结。例如,似乎无法绘制序列[2、3、4、0、1]。 除此之外,假设您进行了交叉,并从该交叉处开始,沿着绳索的一个方向前进,并用成功更大的积分值标记遇到的每个未标记的交叉处。对于交替的结,有一种简单的算法可以将我的符号转换为这样的标签,对于交替的结,将这个标签转换为高斯代码很简单: template<size_t n> array<int, 2*n> LabelAlternatingKnot(array<int, n> end_at) { array<int, n> end_of; for(int i=0;i<n;++i) end_of[end_at[i]] = i; array<int, 2*n> p; for(int& i : p) i = -1; int unique = 0; for(int i=0;i<n;i++) { if(p[2*i] < …

3
画一个随机的六字形
上面的图像称为六字形。六字形是我在DiffEq课堂上涂鸦时制作的一些很酷的图案。制作方法如下: 考虑以下点集,它们的形状像规则六边形。内部的六边形将包含最终的字形,而外部的6个点将形成星形,这是我们开始绘制线条的地方。 从外部的六个点中,随机选择一对。为了提高效率,两个选定的点之间应该至少有一个其他点(否则,它将对最终图形没有影响)。然后,从两个点中的每个点向另一个方向投射射线。该光线被前几行遮挡了。 重复此过程,直到形成所有9个边缘,如以下几幅图像所示。 这是光线被遮挡的示例。射线段的末端仍然可见,但是中间部分被我们绘制的前两个段所遮挡。 这两条光线也被“阻挡”,但这不会造成任何可见的差异,因为它们被同一条其他线阻挡了。 快进直到画完所有9条线。如果您想对这些跳过的步骤进行更详细的说明,我可以进行阐述。 最后,删除星星的点。为了使其看起来更漂亮,还将删除粗点。 挑战 您面临的挑战是输出随机六字形的视觉表示。这是代码高尔夫球,最少的字节获胜。 所有可能的六字形都应以一定的概率出现。通过更改绘制9条边的顺序来生成不同的六字形。 此外,程序输出的所有图像都必须是有效的六字形。某些样式(例如内部六边形的完整轮廓)可能无法显示为六字形,因此您编程时不得输出这些样式。 输出应为图形图像(打印到屏幕或文件)。 六边形必须是规则的,但可以以任何方向出现。 反射/旋转不是唯一的。(这可能使要求1易于遵循)。

3
彩虹化图像
这个挑战是关于逐渐改变图像的色调来制作漂亮的图片,如下所示: (原始) 挑战 编写一个程序或函数,该程序或函数使用两个非负整数和一个您选择的任何常见图像文件格式的图像(您可以采用指向图像或原始图像数据的路径)。 我们将第一个整数称为循环,将第二个整数称为offset。 我们还将浮点步长定义为360倍周期除以图像面积,即step = 360 * cycles / (image width * image height)。 对于图像中的每个像素P,从左到右,从上到下一次移动一行(即,如果像素是字母,则按读取顺序),请执行以下操作: 增加色调的P由偏移度(如果必要的话,从360循环周围为0)。 然后增加抵消由步骤。 以任何常见图像文件格式保存,显示或原始输出结果图像。 此过程递增地增加了图像中的所有像素的色调,使得循环满环周围的色调的彩虹,通过最初偏移色调通过开始偏移。 当周期为1且偏移为0时,如上面的“星夜”图片所示,像素的顶行和底行几乎没有色相偏移,但在这之间有一个完整的颜色周期。 细节 循环可以是任何非负整数,但是您可以假定偏移量是从0到359(含)。 当cycles为0时,图像中的每个像素的色相都会偏移精确的偏移量,因为step也必须为0。(在这种情况下,如果offset为0,则图像根本不会改变。) 如果需要,您可以假设周期和偏移量输入为浮点数(即1.0代替1)。(我意识到它们根本不需要是整数,这只是使挑战变得更加简单。) “色相”是指HSL / HSV颜色模型中常见的RGB颜色空间版本。 例子 原版的: 周期= 1,偏移= 0: 周期= 1,偏移= 180: 原版的: 周期= 2,偏移= 60: 原版的: (感谢ArtOfCode。) 周期= 1,偏移= 120: 原版的: (感谢门把手。) 周期= 1,偏移= …

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.