タグ付けされた質問 「graphical-output」

この課題には、画面上に絵を描くか、画像ファイルを生成することが含まれます。純粋なASCIIアートコンテストの場合は、代わりに[ascii-art]を使用してください。参加者がグラフィックとASCIIアートのどちらかを選択できる場合は、両方のタグを使用します。入力としての画像の場合、[image-processing]を使用します。

30
すべての色の画像
allrgb.comの画像と同様に、各ピクセルが一意の色である画像を作成します(色が2回使用されておらず、色が欠落していません)。 出力のスクリーンショットまたはファイルとともに、このような画像を生成するプログラムを提供します(PNGとしてアップロード)。 画像を純粋にアルゴリズム的に作成します。 画像は256×128(またはスクリーンショットで256×128で保存できるグリッド)でなければなりません すべての15ビットカラーを使用* 外部入力は許可されていません(Webクエリ、URL、データベースも許可されていません) 埋め込み画像は許可されていません(画像であるソースコードは問題ありません。例: Piet) ディザリングが許可されています これは短いコードコンテストではありませんが、票を獲得するかもしれません。 あなたが本当に挑戦しているなら、512×512、2048×1024、または4096×4096(3ビットの増分で)をしてください。 得点は投票による。最もエレガントなコードや興味深いアルゴリズムで作成された最も美しい画像に投票してください。 最初に素敵な画像を生成し、次にすべてのピクセルを使用可能な色のいずれかに適合させる2ステップアルゴリズムはもちろん許可されますが、優雅なポイントを獲得することはできません。 * 15ビットカラーは、32の赤、32の緑、32の青をすべて等距離のステップと等しい範囲で混合することで作成できる32768色です。例:24ビット画像(チャネルごとに8ビット)では、チャネルごとの範囲は0..255(または0..224)であるため、32の等間隔シェードに分割します。 非常に明確にするために、画像ピクセルの配列は順列である必要があります。可能な画像はすべて、異なるピクセル位置で同じ色を持っているからです。ここでは些細な置換を行いますが、これはまったく美しくありません。 Java 7 import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import javax.imageio.ImageIO; public class FifteenBitColors { public static void main(String[] args) { BufferedImage img = new BufferedImage(256, 128, BufferedImage.TYPE_INT_RGB); // Generate algorithmically. …

30
モナリザのパレットのアメリカンゴシック:ピクセルの再配置
ソースとパレットの2つのトゥルーカラーイメージが提供されます。それらは必ずしも同じ寸法を持っているわけではありませんが、それらの面積が同じであることが保証されています。つまり、同じピクセル数を持っています。 あなたの仕事は、パレットのピクセルのみを使用して、ソースの最も正確に見えるコピーを作成するアルゴリズムを作成することです。パレットの各ピクセルは、このコピーの一意の位置で1回だけ使用する必要があります。コピーは、ソースと同じサイズでなければなりません。 このPythonスクリプトを使用して、これらの制約が満たされていることを確認できます。 from PIL import Image def check(palette, copy): palette = sorted(Image.open(palette).convert('RGB').getdata()) copy = sorted(Image.open(copy).convert('RGB').getdata()) print 'Success' if copy == palette else 'Failed' check('palette.png', 'copy.png') テスト用の写真をいくつか紹介します。彼らはすべて同じ面積を持っています。アルゴリズムは、アメリカンゴシックとモナリザだけでなく、面積が等しい任意の2つの画像に対して機能する必要があります。もちろん、出力を表示する必要があります。 有名な絵画の画像についてウィキペディアに感謝します。 得点 これは人気のあるコンテストであるため、最も投票数の多い回答が勝ちます。しかし、私はこれで創造的になる方法がたくさんあると確信しています! アニメーション ミリノンは、ピクセルが自分自身を再配置するのを見るのはクールだと考えていました。私もそう思ったので、同じ色で作られた2つの画像を取り、それらの間の中間画像を描くこの Pythonスクリプトを書きました。更新:各ピクセルが必要な最小量だけ移動するように修正しました。もはやランダムではありません。 最初は、モナリザがアディツのアメリカンゴシックに変わることです。次はbitpwnerのAmerican Gothic(Mona Lisaから)がaditsuになりました。2つのバージョンがまったく同じカラーパレットを共有しているのは驚くべきことです。 結果は本当に驚くべきものです。こちらがアディツの虹のモナリザです(詳細を表示するのが遅くなります) この最後のアニメーションは、必ずしもコンテストに関連しているわけではありません。スクリプトを使用して画像を90度回転したときに何が起こるかを示しています。

30
ツイート可能な数学アート[終了]
整数演算は、グリッド上にレイアウトすると驚くべきパターンを生成できます。最も基本的な機能でさえ、驚くほど精巧なデザインを生み出すことができます! あなたの挑戦 1024x1024の画像の赤、緑、青の値に3つのツイート可能な(140文字以下を意味する)関数本文を記述します。 関数への入力は2つの整数i(指定されたピクセルの列番号)とj(指定されたピクセルの行番号)であり、出力は指定された量を表す0から1023までの符号なしショートです。ピクセル(i、j)に存在する色。 たとえば、次の3つの関数は次の図を生成します。 /* RED */ return (unsigned short)sqrt((double)(_sq(i-DIM/2)*_sq(j-DIM/2))*2.0); /* GREEN */ return (unsigned short)sqrt((double)( (_sq(i-DIM/2)|_sq(j-DIM/2))* (_sq(i-DIM/2)&_sq(j-DIM/2)) )); /* BLUE */ return (unsigned short)sqrt((double)(_sq(i-DIM/2)&_sq(j-DIM/2))*2.0); /* RED */ return i&&j?(i%j)&(j%i):0; /* GREEN */ return i&&j?(i%j)+(j%i):0; /* BLUE */ return i&&j?(i%j)|(j%i):0; ルール このC ++コードが与えられたら、関数で置き換えてください。いくつかのマクロを提供し、ライブラリを含めました。complex.hを含めることができます。これらのライブラリおよび/またはマクロから任意の関数を使用できます。これを超える外部リソースは使用しないでください。 そのバージョンが機能しない場合は、次のコマンドでコンパイルしていることを確認してください。 g++ filename.cpp -std=c++11 それでもうまくいかない場合は、無署名のショートの代わりに無署名の文字を使用した代替バージョンを使用してください。 ミカエルアンジェロは、クリーンアップされた24ビットまたは48ビットのカラー出力バージョンを提供しています。 …

30
Starry Nightを客観的に1 KBのコードでペイントする
注:Anders Kaseorgは、彼の素晴らしい答えに注意を引くために、今のところ受け入れられていますが、挑戦は決して終わっていません!組み込みの圧縮を使用せずにトップスコアを獲得したユーザーには、400ポイントの特典が引き続き提供されます。 以下は、386x320ゴッホの星空のPNG表現です。 目標は、このイメージを1024バイト以下のコードで可能な限り厳密に再現することです。この課題のために、画像の近さは、以下で説明するように、RGBピクセル値の差の2乗によって測定されます。 これはコードチャレンジです。スコアは、以下の検証スクリプトを使用して計算されます。最も低いスコアが勝ちます。 コードは次の制限に従う必要があります。 完全なプログラムでなければなりません 私のマシンで実行されている以下の検証スクリプトで読み取れる形式で画像を出力する必要があります。このスクリプトはPythonのPILライブラリを使用します。このライブラリは、png、jpg、bmpなど、さまざまなファイル形式をロードできます。 完全に自己完結型で、入力を受け付けず、ファイルをロードしない必要があります(ライブラリのインポートは許可されます) 言語またはライブラリにStarry Nightを出力する関数が含まれている場合、その関数を使用することはできません。 毎回同じ出力を生成し、確定的に実行する必要があります。 出力画像の寸法は 386x320 誤解を避けるために、有効な回答では、通常のPPCG規則に従ってプログラミング言語を使用する必要があります。画像ファイルだけでなく、画像を出力するプログラムでなければなりません。 一部の提出物自体がコードによって生成される可能性があります。その場合は、提出物の作成に使用したコードを回答に含めて、その仕組みを説明してください。上記の制限は、送信する1kBの画像生成プログラムにのみ適用されます。生成に使用されるコードには適用されません。 得点 スコアを計算するには、出力画像と上記のオリジナルを取得し、RGBピクセル値を0〜1の範囲の浮動小数点数に変換します。ピクセルのスコアはです(orig_r-img_r)^2 +(orig_g-img_g)^2 + (orig_b-img_b)^2。つまり、2つの画像間のRGB空間での二乗距離です。画像のスコアは、ピクセルのスコアの合計です。 以下は、この計算を実行するPythonスクリプトです。矛盾やあいまいさがある場合、最終的なスコアは、私のマシンで実行されているスクリプトによって計算されたものです。 スコアは出力画像に基づいて計算されるため、スコアに影響する非可逆形式を使用する場合に注意してください。 スコアが低いほど良い。元の星空の画像のスコアは0になります。同点という天文学的に考えられないイベントでは、最も投票数の多い答えが勝者を決定します。 ボーナスの目的 答えは組み込みの圧縮を使用したソリューションに支配されていたため、他の手法を使用した答えに一連の賞金を授与しました。次のポイントは、組み込みの圧縮を使用しない回答が全体的に上位になった場合に授与される、400ポイントの賞金になります。 以前に授与されたボーナス報奨金は次のとおりです。 nneonneoの回答には、その時点で組み込みの圧縮を使用しなかった最高得点の回答であるため、100ポイントの賞金が授与されました。授与された時点では4852.87ポイントでした。佳作は、使用してnneonneoビートに果敢な試み作ら2012rcampionに行く言及ボロノイテッセレーションに基づいたアプローチを、得点5076ポイント、およびそのSleafarに答えに同様の方法を用いて、5052ポイントで、終わり近くまでリードしていましたねねねね。 Strawdogのエントリーに対して200ポイントの賞金が授与されました。これは、非圧縮の回答の中で主導権を握り、1週間保持した最適化ベースの戦略であると評価されました。印象的な巧妙な方法を使用して、4749.88ポイントを獲得しました。 スコアリング/検証スクリプト 次のPythonスクリプトは、上記の画像(名前が付けられている必要がORIGINAL.pngあります)と同じフォルダーに配置し、のコマンドを使用して実行する必要がありますpython validate.py myImage.png。 from PIL import Image import sys orig = Image.open("ORIGINAL.png") img = Image.open(sys.argv[1]) if img.size != orig.size: print("NOT …

27
Google Overlordをなだめる:「G」ロゴを描く
正の整数Nを取り込んで、この*構成に従ってGoogleの「G」ロゴのN×Nピクセルの画像を出力するプログラムまたは関数を作成します。 たとえば、Nが400の場合、正しいサイズと色で400×400ピクセルのロゴを出力する必要があります。 Nの大きさに関係なく、正確に見えるはずです。たとえば、N = 13です。 コードをインターネットに接続する必要はありません。たとえば、外部でホストされているsvgのスケーリングは許可されていません。(ただし、コードでエンコードされたsvgのスケーリングは問題ありません。) アンチエイリアシングが使用される場合とされない場合があります。それはあなた次第です。 「G」の水平バーが画像の右端まで完全に伸びていないことに注意してください。円は、通常、切断される前に右端で内側に湾曲します。 バイト単位の最短コードが優先されます。 *ロゴの作成は、この課題のために簡素化されています。正しい構造はこことここで見ることができます。

30
出て投票する
今日は2016年11月8日、アメリカ合衆国の選挙の日です。 あなたが投票する資格のある米国市民である場合、この挑戦に答える前にまだ出ていないなら投票してください。誰に投票したかについて話し合ってはいけません。重要なのはあなたが投票したことだけです。 あなたが米国市民でないか、投票する資格がない場合、この挑戦​​に答える前に、あなたが知っている人に誰が外に出て投票していないかを告げることで米国に賛成してください。 チャレンジ デジタルの「I Voted」ステッカーのように、投票したことを示すプログラムを作成します。 それは、フレーズ合理的な方法には、入力およびマスト出力を取るべきではないI Voted場合I、oおよびe(赤#FF0000)とV、t及びd(青#0000FF)。背景は白(#FFFFFF)でなければなりません。 例えば: これらの色は、もちろんアメリカの国旗を表しています(公式の色ではありません)。赤が最初に来るのは、それが一般的なイディオム「赤白と青」で最初に来るからです。 有効であるためには、答えが以下でなければなりません。 指定された配置で指定された色を使用します。 読みやすい単一のフォントとフォントサイズを使用します。この例では、72pt Times New Roman太字を使用していますが、6ptを超える一般的なフォントはおそらく問題ありません。 2つの単語の間に明確なスペースを入れて、フレーズI Votedを1行に正確に大文字で入力します。のように見えるべきではありませんIVoted。 回答者が大統領またはダウンバロットのレースに誰を投票したか、支持したかを示していない。インターネットの議論を始めないようにしましょう。これは、候補者ではなく投票を祝うことです。 次のように、出力を表示または生成する合理的な方法が有効です。 テキストを画像に描画し、それを表示、保存、または生で出力します。 色の書式設定を使用してコンソールにテキストを書き込む。この場合、必要に応じて純粋な赤と青に近づけることができます。テキストの真後ろの領域のみを白にできるのであれば問題ありません。 WPF / Windowsフォームにテキストを表示します。 テキストを含むHTML / RTF / PDFファイルを出力します。 出力の画像を投稿してください。 バイト単位の最短回答が優先されます。

16
Game of Lifeを通常のグリッド以外に実装する
ConwayのGame of Lifeは(ほぼ)常に通常の正方形グリッドでプレイされますが、そうである必要はありません。 ConwayのGame of Lifeの標準セル隣接ルールを、正方形、三角形、六角形の規則的なタイルではないユークリッド平面の2次元タイルで実装するプログラムを作成します。 具体的には、選択したタイル... 少なくとも2つ(ただし、有限数)の異なる形状のプロトタイプが含まれている必要があります。 異なる形状は、互いの縮尺または回転バージョンであり得る。 穴を残さずに平面全体をタイル化できる必要があります。 それらは、境界が有限の単純なポリゴンでなければなりません。(それらは単純に単純ではないかもしれません。) 正方形、三角形、六角形のグリッドと同形に区別する必要があります。 通常の正方形、三角形、または六角形のグリッドに簡単に沸騰するタイルは許可されません。(他のタイルでも正方形/三角形/六角形を使用できます。) 2つのプロトタイル間の境界には、複数のエッジと頂点が含まれる場合がありますが、連続している必要があります。 タイルは周期的または非周期的かもしれませんが、平面全体をカバーするように拡張された場合、各プロトタイプは無限に何度も現れなければなりません。(したがって、タイルの特定の部分を「ハードコーディング」して、以下の追加のポイントを達成することはできません。) 各プロトタイプは、他のセルに隣接する1つのGame of Lifeセルを表します。 エッジまたは頂点を共有するセルは、隣接セルと見なされます。 複数のエッジまたは頂点を共有するセルは、隣同士で1回だけカウントされます。 セルは隣接できません。 タイリングのインスピレーションリンク: http://en.wikipedia.org/wiki/Tiling_by_regular_polygons http://en.wikipedia.org/wiki/List_of_uniform_tilings http://en.wikipedia.org/wiki/Aperiodic_tiling http://en.wikipedia.org/wiki/Penrose_tiling 出力 あなたのプログラムは、ゲーム内でプレイされているGame of Lifeでのタイルのグラフィック表現を出力する必要があります。もちろん、それをimage / gif / jsfiddle形式で投稿する必要があります。 タイルの端の線を描き、死んだ細胞には明るい色を、生きた細胞には暗い色を使用してください。 得点 提出スコアは、アップ投票の数からダウン投票を引いたものに、タイルで一般的なGame of Lifeパターンを発見するための追加ポイントを加えたものです。 静物 -世代から世代へと変化しないパターンを見つけます。(+2) 周期2〜29の発振器を見つけます(合計5周期まで、または最大+15ポイントまで、周期ごとに+3)。 周期が30以上の発振器を見つけます。(+7) 宇宙船を見つけてください-残骸を残さずに出発地から任意に遠く離れることができるもの。(必ずしも可動オシレーターではないかもしれません。)(+10) 明らかに異なる方法で移動する別の宇宙船を見つけます(最初の宇宙船のミラーバージョンではありません)。たとえば、グライダーとLWSSを参照してください。(+10) 無限の成長のパターンを見つけます。成長が無限であることを証明する必要はありません。実際に確実なパターンの十分な証拠を示してください。(+25) 銃を見つける-宇宙船を永遠に生成するもの(これは無限の成長としてもカウントされます)。(+50) 無限の成長パターンは有限数の生細胞で始まり、他のパターンは常に有界の数の生細胞を含んでいる必要があります(たとえば、宇宙船は時間とともに勝手に大きくなってはいけません)。 非周期的タイルの性質により、これらのパターンの多くはそれらに実装することは不可能であると思われます。そのため、検証可能な非周期的タイルは自動的に+40ポイントを獲得します。非周期的タイルのある場所で機能するパターンは、他の場所で機能する必要はありません。 各ボーナスは1回のみ適用できます。当然、出力を確認して確認する必要があります。最高のスコアが勝ちます。 …

10
イメージのパッチ
一般的な画像編集ソフトウェアには、パッチの外にある情報に基づいて、画像の選択された領域にパッチを当てる機能があります(画像処理で使用される用語は、@mınxomaτが指摘するように修復します)。そして、それが単なるプログラムであることを考えると、かなり良い仕事をします。人間としては、何かが間違っていることを時々見ることができますが、目を絞ったり、ちょっと見たりしただけで、パッチは隙間を非常によく埋めているように見えます。 チャレンジ 画像と画像の矩形領域を指定するマスク(画像、または他の任意の形式)をパッチする必要がある場合、プログラムは指定された領域を残りの部分とブレンドしようとするパッチで塗りつぶそうとします画像。プログラムは、指定された領域内にあった元の画像の情報を使用できません。 パッチは常に少なくとも側面から幅が離れており、画像の上下から高さが離れていると仮定できます。つまり、パッチの最大領域は画像全体の1/9になります。 アルゴリズムの仕組みに関する簡単な説明を追加してください。 投票 投票者は、アルゴリズムのパフォーマンスを判断し、それに応じて投票するよう求められます。 判断方法に関するいくつかの提案:(もう一度、いくつかの基準について@mınxomaτに感謝します。) 目を細めて見ると写真がきれいに見えますか? パッチの場所を正確に知ることができますか? 画像の背景と周囲の領域からの構造とテクスチャはどれくらいうまく継続していますか? 編集領域に含まれる浮遊偽色ピクセルはどれくらいですか? そこに属していないように見える領域に均一に色付けされた塊/ブロックがありますか? 編集された領域には、画像の残りの部分と比較して、大幅な色/コントラストまたは輝度のシフトがありますか? 有効性基準 提出を有効にするには、指定された領域外の出力画像が入力画像と正確に一致する必要があります。 テストケース 左側にソース画像、右側に対応するマスク:

7
指数関数的にぬるぬるしたプログラミング:Minecraftのスライムを積み重ねる
スライムは、Minecraftのキューブ型の敵で、殺されると複数の小さなバージョンになります。この課題の目的のために、3色の8×8ピクセル画像としてそれらを描写します: ←真の8×8バージョン。 正確なRGBカラーは次のとおりです。 0, 0, 0 目と口のために 110, 170, 90 中央の濃い緑色用 116, 196, 96 外側の明るい緑色 チャレンジ 正の整数Nを取り込んで、長方形にパックされたNサイズのスライムのイメージを出力するプログラムまたは関数を作成します。左から右に進むと、画像は次のパターンに従う必要があります。 2 (N-1) 8×8スライムのスタック。 2 (N-2) 16×16スライムのスタック。 2 (N-3) 32×32スライムのスタック。 スタックにスライムが1つだけ含まれるようになるまで続きます。 8×8バージョン()よりも大きいスライム画像は、最近傍のアップサンプリング(つまり、すべてのピクセルを2倍にする)によって生成されます。ここで与えられた正確なスライムのデザインと色を使用する必要があることに注意してください。 最終画像には2 N -1個のスライムが含まれ、幅は2 (N + 3) -8ピクセル、高さは2 (N + 2)ピクセルになります。 画像は、一般的な画像ファイル形式で出力したり、ファイルに保存したり、生データストリームとして印刷/返送したり、実行時に直接表示したりできます。 バイト単位の最短コードが優先されます。 例 プログラムはこれらの正確な結果を生成するはずです。 N = 1: N = 2: N = …

30
アイスランドの国旗を描く
今年のUEFA Euro 2016は終了し、いくつかの否定的な見出しに加えて、アイスランドのサッカー代表チームという非常に前向きな驚きもありました。国旗を描きましょう。 入力 まあ、明らかに、この課題には入力がありません。 出力 アイスランドの旗を、少なくとも100 x 72ピクセルまたは25 x 18文字の適切な視覚形式で描きます。 出力をファイルに保存するか、すぐに表示します。例の形式は、png、jpgなどの画像、ベクターグラフィックス、HTMLキャンバスに描画、または視覚化に空白以外の文字を使用します。 これらの色を使用してください:青:#0048e0、白:#ffffffおよび赤:#d72828。 言語が特定の色の値をサポートしていない場合は、ANSIカラーコードの赤、青、白の標準値を使用してください。 次の図に示すように、正しい比率でフラグを描画します。 ボイラープレート プログラムまたは関数を作成できます。無名関数の場合は、呼び出す方法の例を含めてください。 これはコードゴルフなので、バイト単位の最短回答が勝ちです。 標準の抜け穴は許可されていません。 リーダーボード コードスニペットを表示 var QUESTION_ID = 85141; // Obtain this from the url // It will be like https://XYZ.stackexchange.com/questions/QUESTION_ID/... on any question page var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk"; var …

30
フランスの国旗を描く
掲示された他の多くの旗の挑戦がフランスの国旗のためのものではありませんでした。今週は適切な時期のようです。 このフラグを可能な限り少ないバイト数で生成します。 画像のサイズは3:2で、サイズは少なくとも幅78ピクセル、高さ52ピクセルでなければなりません。 各ストライプは幅の3分の1を占めます。 :左から右へのストライプの色はRGBです(0, 85, 164)、(255, 255, 255)、(239, 65, 53)。 画像は、一般的な画像ファイル形式でファイルに保存するか、RAWでSTDOUTにパイプするか、表示することができます。 または、ANSIカラーコードを使用して、フラグを表す空白以外の文字で構成される少なくとも78文字幅のテキストブロックを出力します。(標準の青、白、赤を使用します。) 組み込みのフラグ画像/ライブラリは使用できません。 バイト単位の最短コードが優先されます。 リーダーボード この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からリーダーボードを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: ## Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 ## Perl, 43 + 2 (-p flag) = 45 bytes 言語名をリンクにして、スニペットに表示することもできます。 ## [><>](http://esolangs.org/wiki/Fish), 121 bytes コードスニペットを表示 <style>body { text-align: …

3
スプロケットサイエンス:チェーンドライブシステムのアニメーション化
この課題の目標は、チェーンで接続されたスプロケットギアのセットで構成されるチェーンドライブシステムのアニメーションを作成することです。 一般的な要件 プログラムには、トリプレットとして指定されたスプロケットのリストが与えられ(x, y, radius)ます。得られたチェーン駆動システムによって互いに接続され、これらのスプロケット、から構成されている閉鎖ピンと張っ鎖、それらの各々を通過するために。あなたの目標は、無限ループのアニメーションを生成し、システムが動いていることを示すことです。例えば、与えられた入力 (0, 0, 16), (100, 0, 16), (100, 100, 12), (50, 50, 24), (0, 100, 12) 、出力は次のようになります 。 座標系は、右のX軸点、及びy軸はアップポイントようなものであるべきです。半径が 8以上の偶数であると仮定することもできます(これが後で問題になる理由がわかります)。また、スプロケットが少なくとも2つあり、スプロケットが互いに交差しないと仮定することもできます。ユニット入力の重要性はあまり高くありません。この投稿のすべての例とテストケースでは、入力単位としてピクセルを使用しています(たとえば、前の図の中央のスプロケットの半径は24ピクセルです)。これらの単位から大きく逸脱しないようにしてください。課題の残りの部分では、空間量は入力と同じ単位で与えられると理解されます-比率を正しく保つようにしてください!出力の寸法は、すべてのスプロケットの境界ボックスよりわずかに大きく、システム全体が見えるように十分大きくする必要があります。特に、スプロケットの絶対位置は出力に影響しないはずです。相対的な位置のみが必要です(たとえば、上記の例ですべてのスプロケットを同じ量だけシフトした場合、出力は同じままになります)。 チェーンは、あるべき接線それは接触のすべての点で上を通過し、スプロケットにまっすぐ他のどこでも。チェーンは、隣接するチェーンセグメント(つまり、同じスプロケットで出会う2つのスプロケット間のチェーンの部分)が互いに交差しないようにスプロケットを通過する必要があります。 。 たとえば、左上のスプロケットを通過する2つの隣接するチェーンセグメントは交差するため、上の左のシステムは有効ですが、中央のシステムは無効です。ただし、2つの交差するチェーンセグメントは隣接していないため、正しいシステムが有効であることに注意してください(ただし、このシステムは他の2つとは異なる入力によって生成されます)。 物事を単純(r)に保つために、スプロケットがその2つの隣接するスプロケットの凸包、またはその隣人と他の隣人のそれぞれの凸包と交差しないと仮定することができます。言い換えれば、下の図の上部のスプロケットは、影付きの領域と交差しない場合があります。 チェーンセグメントは、通過するスプロケット以外のスプロケットと交差する場合があります(最後のテストケースなど)。この場合、チェーンは常にスプロケットの前に表示されます。 視覚的要件 チェーンは、交互の幅の一連のリンクで構成する必要があります。幅の狭いリンクの幅は約2、幅の広いリンクの幅は約5である必要があります。両方のタイプのリンクの長さはほぼ等しいはずです。期間チェーンの長さ、つまり、リンクの幅の広いペアと狭いペアの合計の長さは、チェーンの長さの整数倍に適合する4πに最も近い数でなければなりません。たとえば、チェーンの長さが1,000の場合、その周期は12.5である必要があります。これは、1,000の整数回(80)に適合する4π(12.566 ...)に最も近い数値です。チェーンが折り返されるポイントにアーティファクトがないように、期間がチェーンの長さに整数回適合することが重要です。 半径Rのスプロケットは、3つの同心円状の部分で構成される必要があります。中心軸、半径約3の円である必要があります。車軸の周りのスプロケットのボディ、R -4.5の半径の円である必要があります。そして、スプロケットのリム約半径の円であるべき本体の周りに、 R - 1.5。また、リムにはスプロケットの歯が含まれている必要があります。歯の幅は約4です。歯のサイズと間隔は、チェーンリンクのサイズと一致している必要があります。 スプロケットの歯の周期、つまりスプロケットの円周に沿った2つの連続する歯の間の距離は、チェーンの周期と一致する必要があります。周期は約4πであり、スプロケットの半径は均一であることが保証されているため、周期はスプロケットの円周にほぼ整数回収まる必要があり、その結果、顕著なアーティファクトが発生しないはずです。スプロケットの歯が回ります。 簡単に区別できる限り、チェーン、スプロケットのさまざまな部分、および背景に任意の色の組み合わせを使用できます。背景は透明かもしれません。この投稿の例では、チェーン、スプロケットの車軸とリム、スプロケットのボディに使用しています。 #202020 #868481 #646361 アニメーションの要件 入力リストの最初のスプロケットは時計回りに回転するはずです。残りのスプロケットはそれに応じて回転するはずです。チェーンは、毎秒約16π(約50)ユニットの速度で移動する必要があります。フレームレートはあなた次第ですが、アニメーションは十分に滑らかに見えるはずです。 アニメーションはシームレスにループする必要があります。 適合性 視覚的な属性と比率の一部は、大まかにのみ意図的に指定されています。正確に一致させる必要はありません。プログラムの出力は、ここに示した例のピクセルごとの複製である必要はありませんが、似ているはずです。特に、チェーンとスプロケットの正確な比率、およびチェーンのリンクとスプロケットの歯の正確な形状は柔軟です。 従うべき最も重要な点は次のとおりです。 チェーンは、正しい方向から入力順にスプロケットを通過する必要があります。 チェーンは、すべての接触点でスプロケットに接する必要があります。 …

30
灰色の50の色合い
銀色のスクリーンに灰色の50の色合いが表示されるのを見て、男の子と女の子は興奮しています。わずらわずにコーディングしたいので、ここで脳を選ぶのが挑戦です。 必ず: それぞれが異なるグレーの陰影で満たされた50個の正方形を画面に印刷します 選択した言語に画像処理機能がない場合、画像ファイルを出力できます 少なくとも20 x 20ピクセルの正方形が表示されている必要があります 各シェードが一意であることを確認しない限り、乱数を使用できません。 ネットワーク経由でサービスに接続することはできません プログラム内のファイルを読み取ることはできません。 選択した言語の標準ライブラリ以外のライブラリを使用することはできません。 これはコードゴルフなので、最短のコードが勝ちます。

30
すべての言語のマンデルブロ画像
私はいつも、手に入れたグラフィカルアプリケーションで、Hello Worldの「グラフィカル」バージョンとしてマンデルブロ画像を使用していました。今度はあなたの仲間の番です。 言語は、グラフィカル出力またはグラフの描画が可能でなければなりません(ファイルの保存は許可されません) 正方形の画像またはグラフをレンダリングします。サイズは少なくとも128、最大で640です* フラクタル座標の範囲は約-2-2iから2 + 2iです。 マンデルブロ集合の外側のピクセルは、大きさが2を超える前の反復回数に応じて色付けする必要があります(*白黒を除く) 各反復カウントには一意の色*が必要であり、隣接する色は目で簡単に区別できることが望ましい 他のピクセル(おそらくMandelbrotセット内)は、黒または白に色付けする必要があります 少なくとも99回の繰り返し ASCIIアートは許可されていません *プラットフォームによって制限されない限り、例えばグラフィック電卓 許可: 禁止:( 縮小画像) 勝利条件: この投稿では、各言語の最短バージョン(バイト単位のサイズ)がサイズ順に並べられています。 ボタンで「受け入れられる」回答はありません。 リーダーボード: コードスニペットを表示 /* Configuration */ var QUESTION_ID = 23423; // Obtain this from the url // It will be like https://XYZ.stackexchange.com/questions/QUESTION_ID/... on any question page var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var COMMENT_FILTER …

14
星の色
最初の行の形式が文字列またはテキストファイルであるプログラムを作成する width height 後続の各行の形式は x y intensity red green blue どこ: widthまた、height任意の正の整数を指定できます。 xまた、y任意の整数を指定できます。 intensity 負でない整数を指定できます。 red、green、およびblue0から255までの任意の整数であります。 あなたのプログラムを出力しなければならないトゥルーカラー寸法は任意の一般的なロスレス画像ファイル形式の画像widthによりますheight。各線x y intensity red green blueは、画像上に描画する必要があるカラフルな星または球を表します。0を含む、描画する星の数はいくつでもかまいません。文字列またはファイルの末尾に改行があると仮定できます。 画像を描画するアルゴリズムは次のとおりですが、結果が同じである限り、好きな方法で実装できます。 画像のすべてのピクセル(X、Y)(Xは左端が0 、右端がwidth-1、Yは上端が0 、下端がheight-1)に対して、カラーチャネルC ϵ { red、 green、blue }(0から255の間に固定された値)は、次の方程式で与えられます。 どこのdist関数はどちらかであるユークリッド距離: またはマンハッタン距離: ゴルフ可能性または美観に基づいて、好みの距離関数を選択します。 入力の最初の行以外の各行は、スターセットの要素です。だから、例えば、SのXが表すx入力ラインのいずれかに値を、及びS Cは、いずれかを表しred、greenまたはblue、これに応じて、カラーチャネルは、現在計算されています。 例 例A 入力が 400 150 -10 30 100 255 128 0 出力は ユークリッド距離を使用している場合 マンハッタン距離を使用している場合。 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.