タグ付けされた質問 「geometry」

この課題は、形状やその他の幾何学的構造を使用、操作、または作成することで解決することを目的としています。

28
シンプルなワードラッパーを作成する
(注:これは私の初めてのコードゴルフの質問ですが、私が知る限り、誰もこれを正確に行っていないので、私は良いはずです。) あなたの仕事は、文字列sと整数を取り込んで、n複数の行に折り返されたテキストを返すか出力するプログラムまたは関数を作成することです。各単語は完全に1行である必要があります。つまり、途中で単語が分割されません。各行はn文字より長くすることはできません。また、各行にできるだけ多くの単語を収める必要があります。 例: s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget erat lectus. Morbi mi mi, fringilla sed suscipit ullamcorper, tristique at mauris. Morbi non commodo nibh. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed at iaculis mauris. Praesent a …
22 code-golf  string  code-golf  string  parsing  apl  math  primes  integer  fastest-code  code-golf  math  primes  integer  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  array-manipulation  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  code-golf  date  conversion  code-golf  geometry  combinatorics  grid  code-golf  string  code-golf  counting  java  code-golf  chess  code-golf  path-finding  conversion  atomic-code-golf  logic-gates  code-golf  fibonacci  code-golf  ascii-art  fractal  code-golf  quine  code-golf  string  code-golf  array-manipulation  decision-problem  code-golf  quine  code-golf  code-challenge  array-manipulation  code-challenge  word-search  code-golf  binary  conversion  code-golf  code-golf  restricted-source  code-golf  kolmogorov-complexity  restricted-source  code-golf  kolmogorov-complexity  random  animation 

3
L o o o p p I t
注:この質問のタイトルは「Loop It」にする必要がありますが、タイトルは少なくとも15文字である必要があるため、目に見えないスペースがいくつかあります。このメモは、チャレンジを検索できるようなものです。 チャレンジ 平面内の一意の積分点の有限リストが与えられた場合、頂点が正確にそれらの点であり、自己交差しない多角形を見つけます。 詳細 入力として、たとえば、x座標とy座標をそれぞれ持つ2つのリスト、またはペアのリストを使用できます。 入力リストには少なくとも3つのポイントが含まれます。 これは、一意のソリューションが存在しないことを意味することに注意してください。 入力のリストは同一直線上にないと想定できます(ポイントを1行に含めることはできません)。つまり、実際にはこのような非自己交差ポリゴンが存在します。 各頂点の角度は任意であり、これには180°が含まれます。 lengthの入力のn場合、出力は-thエントリが入力リストの-thポイントを表す場所の順列(p1,p2,p3,...,pn)で(1,2,3,...,n)ある必要があります。これは、to からの行、to からの行など、to からの行があることを意味します。(0から始まるインデックスを使用することもできます。)または、正しい順序で入力ポイントのリストを出力することもできます。kpkpp1p2p2p3pnp1 例 ポイントが[(0,0),(0,1),(1,0),(-1,0),(0,-1)]あり、次のパスを表現したいとします。 これは、リストを出力することを意味します [5,1,4,2,3] ここでさらにいくつかの提案を試みます(目標を確認するために対応するプロットを確認することをお勧めします)。 Triangle [(0,0),(0,1),(1,0)] S-Curve [(0,0),(0,1),(0,2),(0,3),(0,4),(1,0),(2,0),(2,1),(2,2),(2,3),(2,4),(3,4),(4,0),(4,1),(4,2),(4,3),(4,4)] L-Shape [(4,0),(1,0),(3,0),(0,0),(2,0),(0,1)] Menger Sponge [(1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(7,1),(8,1),(9,1),(10,1),(11,1),(12,1),(13,1),(14,1),(15,1),(16,1),(17,1),(18,1),(19,1),(20,1),(21,1),(22,1),(23,1),(24,1),(25,1),(26,1),(27,1),(1,2),(3,2),(4,2),(6,2),(7,2),(9,2),(10,2),(12,2),(13,2),(15,2),(16,2),(18,2),(19,2),(21,2),(22,2),(24,2),(25,2),(27,2),(1,3),(2,3),(3,3),(4,3),(5,3),(6,3),(7,3),(8,3),(9,3),(10,3),(11,3),(12,3),(13,3),(14,3),(15,3),(16,3),(17,3),(18,3),(19,3),(20,3),(21,3),(22,3),(23,3),(24,3),(25,3),(26,3),(27,3),(1,4),(2,4),(3,4),(7,4),(8,4),(9,4),(10,4),(11,4),(12,4),(16,4),(17,4),(18,4),(19,4),(20,4),(21,4),(25,4),(26,4),(27,4),(1,5),(3,5),(7,5),(9,5),(10,5),(12,5),(16,5),(18,5),(19,5),(21,5),(25,5),(27,5),(1,6),(2,6),(3,6),(7,6),(8,6),(9,6),(10,6),(11,6),(12,6),(16,6),(17,6),(18,6),(19,6),(20,6),(21,6),(25,6),(26,6),(27,6),(1,7),(2,7),(3,7),(4,7),(5,7),(6,7),(7,7),(8,7),(9,7),(10,7),(11,7),(12,7),(13,7),(14,7),(15,7),(16,7),(17,7),(18,7),(19,7),(20,7),(21,7),(22,7),(23,7),(24,7),(25,7),(26,7),(27,7),(1,8),(3,8),(4,8),(6,8),(7,8),(9,8),(10,8),(12,8),(13,8),(15,8),(16,8),(18,8),(19,8),(21,8),(22,8),(24,8),(25,8),(27,8),(1,9),(2,9),(3,9),(4,9),(5,9),(6,9),(7,9),(8,9),(9,9),(10,9),(11,9),(12,9),(13,9),(14,9),(15,9),(16,9),(17,9),(18,9),(19,9),(20,9),(21,9),(22,9),(23,9),(24,9),(25,9),(26,9),(27,9),(1,10),(2,10),(3,10),(4,10),(5,10),(6,10),(7,10),(8,10),(9,10),(19,10),(20,10),(21,10),(22,10),(23,10),(24,10),(25,10),(26,10),(27,10),(1,11),(3,11),(4,11),(6,11),(7,11),(9,11),(19,11),(21,11),(22,11),(24,11),(25,11),(27,11),(1,12),(2,12),(3,12),(4,12),(5,12),(6,12),(7,12),(8,12),(9,12),(19,12),(20,12),(21,12),(22,12),(23,12),(24,12),(25,12),(26,12),(27,12),(1,13),(2,13),(3,13),(7,13),(8,13),(9,13),(19,13),(20,13),(21,13),(25,13),(26,13),(27,13),(1,14),(3,14),(7,14),(9,14),(19,14),(21,14),(25,14),(27,14),(1,15),(2,15),(3,15),(7,15),(8,15),(9,15),(19,15),(20,15),(21,15),(25,15),(26,15),(27,15),(1,16),(2,16),(3,16),(4,16),(5,16),(6,16),(7,16),(8,16),(9,16),(19,16),(20,16),(21,16),(22,16),(23,16),(24,16),(25,16),(26,16),(27,16),(1,17),(3,17),(4,17),(6,17),(7,17),(9,17),(19,17),(21,17),(22,17),(24,17),(25,17),(27,17),(1,18),(2,18),(3,18),(4,18),(5,18),(6,18),(7,18),(8,18),(9,18),(19,18),(20,18),(21,18),(22,18),(23,18),(24,18),(25,18),(26,18),(27,18),(1,19),(2,19),(3,19),(4,19),(5,19),(6,19),(7,19),(8,19),(9,19),(10,19),(11,19),(12,19),(13,19),(14,19),(15,19),(16,19),(17,19),(18,19),(19,19),(20,19),(21,19),(22,19),(23,19),(24,19),(25,19),(26,19),(27,19),(1,20),(3,20),(4,20),(6,20),(7,20),(9,20),(10,20),(12,20),(13,20),(15,20),(16,20),(18,20),(19,20),(21,20),(22,20),(24,20),(25,20),(27,20),(1,21),(2,21),(3,21),(4,21),(5,21),(6,21),(7,21),(8,21),(9,21),(10,21),(11,21),(12,21),(13,21),(14,21),(15,21),(16,21),(17,21),(18,21),(19,21),(20,21),(21,21),(22,21),(23,21),(24,21),(25,21),(26,21),(27,21),(1,22),(2,22),(3,22),(7,22),(8,22),(9,22),(10,22),(11,22),(12,22),(16,22),(17,22),(18,22),(19,22),(20,22),(21,22),(25,22),(26,22),(27,22),(1,23),(3,23),(7,23),(9,23),(10,23),(12,23),(16,23),(18,23),(19,23),(21,23),(25,23),(27,23),(1,24),(2,24),(3,24),(7,24),(8,24),(9,24),(10,24),(11,24),(12,24),(16,24),(17,24),(18,24),(19,24),(20,24),(21,24),(25,24),(26,24),(27,24),(1,25),(2,25),(3,25),(4,25),(5,25),(6,25),(7,25),(8,25),(9,25),(10,25),(11,25),(12,25),(13,25),(14,25),(15,25),(16,25),(17,25),(18,25),(19,25),(20,25),(21,25),(22,25),(23,25),(24,25),(25,25),(26,25),(27,25),(1,26),(3,26),(4,26),(6,26),(7,26),(9,26),(10,26),(12,26),(13,26),(15,26),(16,26),(18,26),(19,26),(21,26),(22,26),(24,26),(25,26),(27,26),(1,27),(2,27),(3,27),(4,27),(5,27),(6,27),(7,27),(8,27),(9,27),(10,27),(11,27),(12,27),(13,27),(14,27),(15,27),(16,27),(17,27),(18,27),(19,27),(20,27),(21,27),(22,27),(23,27),(24,27),(25,27),(26,27),(27,27)]

30
最初に0ではなく、個別の数字でランダムなn桁の数字を取得します
私はこの質問を読み、それがいい挑戦になると思った。 仕事 入力0<n<10で乱数を生成する 正確にn桁 最初ではない 0 そう f(n)>10**(n-1)-1 個別の数字 受賞基準 これはコードゴルフなので、最短のコードが優先されます。 ランダム ランダムに均等に分散されるということです。そのため、プログラムの観点からは、考えられる各数字には同じチャンスがあります。あなたが書いている言語が奇妙な乱数ジェネレーターを持っているなら、それを使用しても大丈夫です。 例 ランダムに選択する値のリストn=2は次のとおりです。 [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, …
22 code-golf  number  random  grid  game  king-of-the-hill  javascript  code-golf  arithmetic  statistics  code-golf  math  code-golf  math  code-golf  string  palindrome  code-golf  string  interactive  code-golf  quine  polyglot  code-golf  string  stack-exchange-api  code-golf  number-theory  decision-problem  code-golf  tips  code-golf  string  internet  code-golf  graphical-output  image-processing  fractal  code-golf  ascii-art  geometry  hexagonal-grid  code-golf  string  restricted-source  hello-world  code-golf  game  code-golf  cipher  code-golf  permutations  cops-and-robbers  permutations  cops-and-robbers  code-golf  internet  stack-exchange-api  code-golf  ascii-art  random  code-golf  tips  code-golf  ascii-art  code-golf  code-golf  kolmogorov-complexity  code-golf  string  unicode  code-golf  number  sequence  primes  palindrome  code-golf  game  decision-problem  code-golf  math  geometry  code-golf  graphical-output  interactive  code-golf  set-partitions  code-golf  number  arithmetic  restricted-source  code-golf  decision-problem  python  recursion  code-golf  ascii-art  code-golf  source-layout  code-golf  function  recursion  functional-programming  code-golf  game  combinatorics  permutations  code-golf  string  file-system  code-golf  string  hashing  code-golf  stack-exchange-api  code-golf  string  code-golf  math  number  arithmetic  polyglot 

10
2色の重なり合う円
次の入力を適切な形式で選択するプログラムまたは関数を作成します。 生成する画像の幅と高さを定義する2つの正の整数WとH。 画像の色付けに使用される2つのRGBカラーC1およびC2。 画像の平面内で(r, x, y)半径rと中心x, yを持つ円を定義するフォームの3タプルのリスト。rは正の整数であり、xおよびyは任意の整数です。画像の左上のピクセルは0, 0x軸が右に増加し、y軸が下に増加します。 重複するすべての円によって定義される2つの隣接領域が同じ色にならないように、 C1およびC2で色付けされた寸法W x Hの画像を出力します。 例:入力が W = 300 H = 200 C1 = (255, 200, 0) C2 = (128, 0, 255) Circles = (25, 50, 80), (40, 80, 120), (300, -100, 6), (17, 253, 162) 円の境界は次のようになります。 円によって作成された画像には、6つの異なる連続した領域があります。各領域は、隣接する2つの領域が同じ色にならないように、C1(黄色)またはC2(紫色)で色付けする必要があります。 これを行うには2つの方法がありますが、唯一の違いは色を交換することです。 したがって、これら2つの画像のいずれかは、入力例の有効な出力になります。 2つの黄色の領域が互いに隣接しているため、このようなものは無効な出力になります。 出力画像は次のガイドラインに従う必要があります。 C1とC2に加えて、黒または白などの3番目の中間色は、5ピクセル以下の厚さであれば円の境界に使用できます。(上記の例では、黒の1ピクセルの太い境界が存在します。) …

1
グリッドタングラムを解く
タングラムは五異なるサイズの三角形、平行四辺形や広場:7つの形状から作られた解剖パズルです。形状が与えられた場合、目標は、すべてのピースを使用して、重複することなく形状を再作成することです。このピースのセットを平面に配置するには、明らかに無限に多くの方法があります。興味深いサブセットは グリッドタングラム 「標準の」タングラム正方形を、グリッドで 16個の小さな正方形に分割された大きな正方形に描画できます。グリッドタングラムは、タングラムのすべての頂点がグリッドポイント上にあるように、タングラムのピースで構成される形状です。 これらは、おそらくより一般的なものよりも扱いやすいため、この課題で検討したいタングラムパズルの種類です。 補足:中国の数学者であるChuan-Chin HsiungとFu Traing Wangは、1942年に凸タングラムが13個しかないことを証明しました。彼らはまず問題をグリッドタングラムに縮小できることを示し、次にいくつかの組み合わせおよび幾何学的引数を使用しました。これらはすべて13です。 チャレンジ 解けるグリッドタングラムが与えられた場合、グリッドタングラムの解剖を7つのタングラムピースに出力します。 IO タングラムは、両側が50pxの倍数である白黒画像(形状は黒、背景は白)として与えられます。グリッドの幅は正確に50pxです。グリッド線は画像の側面に平行です。 編集:画像は入力として受け入れられ、PNG、TIFF、PBMなどの便利なラスター画像形式で出力として返されますが、バイナリ2d配列または文字列または行列としての表現は受け入れられます。 出力も同じサイズで同じ形状である必要がありますが、各ピースの色が異なるか、すべてのピースを分離する白い線が必要です。四角形以外の四角形を反転できることに注意してください。 ピースの境界上のピクセルは、シェイプ上のピクセルと正確に一致する必要はありません。エイリアシング効果やその他のファズがある場合でも、これで問題ありません。 入力と出力の例: 例: 可能な解決策:

10
この正方形は対称ですか?
ちょうど4からなる4×4テキスト・グリッドにかかるプログラムや関数を書くAの、4 B、の4 Cの、及び4 Dの、例えば: ACDC BBCA BADD ABCD のABCD配置は任意ですが、常に4つあります。入力が有効であると想定できます。必要に応じて、末尾に改行があるか、読み取り順序で1行になっていると仮定することもできますACDCBBCABADDABCD。また、必要に応じて、文字ABCDを0123またはで置き換えることも1234できます(ただし、それだけです)。 テキストグリッドに反射対称または回転対称の形式がある場合、真理値を出力します。具体的には: 対称の中央の水平線がある場合。例えば BACD BACD BACD \___ bottom mirrors top BACD / 対称の中心垂直線がある場合。例えば BCCB DAAD CAAC BDDB \/___ right mirrors left 対称の対角線がある場合(どちらの方向にも)。例えば ___ diagonally mirrored / ABDC BACD DCAB CDBA \___ diagonally mirrored 90°回転対称がある場合。例えば BDAB ACCD same if rotated 90 degrees (or …

30
n次元空間の2点間の距離
もう1つ簡単な例を示します。 チャレンジ n次元空間内の2つの点が与えられた場合、それらの間の距離(ユークリッド距離とも呼ばれます)を出力します。 座標は有理数になります。唯一の制限は、言語の制限です。 最低次元は1、最高次元は言語が処理できるものです 2つのポイントが同じ次元であり、空の入力がないと仮定できます。 距離は、少なくとも小数点以下3桁まで正確でなければなりません。ご使用の言語が浮動小数点数をサポートしていない場合は、最も近い整数を出力してください。 ルール 通常どおり、機能または完全なプログラムが許可されます。 入力は、STDIN、コマンドライン、または関数の引数から取得できます。 入力形式はあなた次第で、回答で使用した形式を指定します。 出力は、stdoutまたは戻り値への印刷によって提供されます。 これはコードゴルフなので、バイト数が最も少なくなります!同点の場合、以前の回答が優先されます。 テストケース 各ポイントは、長さnのリストで表されます。 [1], [3] -> 2 [1,1], [1,1] -> 0 [1,2], [3,4] -> 2.82842712475 [1,2,3,4], [5,6,7,8] -> 8 [1.5,2,-5], [-3.45,-13,145] -> 150.829382085 [13.37,2,6,-7], [1.2,3.4,-5.6,7.89] -> 22.5020221314 ハッピーコーディング!

10
この修正された円で平面を並べます
原点を中心とした単位円を取ります。隣接する2つの四分円で、円のx切片とy切片を結ぶ線に沿って円の曲線をミラーリングします。 結果の形状を使用して、平面をタイル表示できます。 この画像は、素晴らしい2D物理サンドボックスAlgodooで作成しました! 一般的な可逆画像ファイル形式で、これに似た画像を出力するプログラムを作成します。選択した名前のファイルとして画像を保存することも、単に表示することもできます。何も入力しないでください。 ルール: 全体画像は、任意の2つの視覚的に別個のRGBカラーを使用して変更円タイルでモザイク状にされなければならない:垂直ポインティングタイル、水平方向を向いタイルのための1つのための1つ。 円形タイルの半径は、少なくとも32ピクセルにする必要があります。(上の画像の半径は約110ピクセルです。) 画像は、少なくとも幅4タイル、高さ4タイルでなければなりません。上記のルールと組み合わせると、画像の最小サイズは256×256ピクセルになります。(上の画像は4タイルx 4タイルです。) テッセレーションは、任意の量で翻訳できます。たとえば、画像の左上隅は、タイルが交わる頂点である必要はありません。(ただし、テッセレーションは回転させないでください。) 円を描いたり、画像などを出力するためのコマンドを備えた外部グラフィックライブラリを使用できます。 曲線は、ほとんどのグラフィックスライブラリが実行する中点円アルゴリズムで実行できるように、実際に円に近似する必要があります。 タイルの端の周りのアンチエイリアスは許可されますが、必須ではありません。 バイト単位の最短提出が勝ちです。

7
長方形で地域をカバーする
入力 このチャレンジでの入力は、整数ペアのリストです。それらは平面上の単位正方形の南西の角を表し、リストは平面のサブセットとしての結合を表します。たとえば、リスト [(0,0),(1,0),(0,1),(1,1),(2,1),(1,2),(2,2)] この図の赤色のセットを表します。 出力 Yor出力は、平面の長方形のサブセットを表す整数の4つのリストです。より明確に、(x,y,w,h)四角は、南西隅がである幅w > 0と高さの長方形を表現h > 0し(x,y)ます。長方形は、各単位正方形がいくつかの長方形のサブセットであり、各長方形が領域のサブセットであるという意味で、入力領域を正確にカバーする必要があり、2つの長方形は境界でのみ重なり合う場合があります。些細な解決策を禁止するために、より大きな長方形にマージできる2つの長方形をカバーに含めることはできません。 たとえば、リスト [(0,0,2,1),(0,1,3,1),(1,2,2,1)] 法的カバーを表します 上記の領域の [(0,0,2,2),(2,1,1,1),(1,2,1,1),(2,2,1,1)] 隣接する1行1列の正方形をマージできるため、違法です。 ルール 完全なプログラムまたは機能を提供できます。入力と出力の正確なフォーマットは、理由の範囲内では重要ではありません。最短バイトカウントが優先され、標準の抜け穴は許可されません。アルゴリズムの説明といくつかの出力例を提供することをお勧めします。 テストケース U字型の領域: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(2,0),(2,1),(3,0),(3,1),(4,0),(4,1),(4,2),(4,3),(4,4),(4,5),(5,0),(5,1),(5,2),(5,3),(5,4),(5,5)] 大きな三角形: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(0,9),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(2,0),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(2,7),(3,0),(3,1),(3,2),(3,3),(3,4),(3,5),(3,6),(4,0),(4,1),(4,2),(4,3),(4,4),(4,5),(5,0),(5,1),(5,2),(5,3),(5,4),(6,0),(6,1),(6,2),(6,3),(7,0),(7,1),(7,2),(8,0),(8,1),(9,0)] 穴のある正方形: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(1,9),(2,0),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(2,7),(2,8),(2,9),(3,0),(3,1),(3,2),(3,4),(3,5),(3,6),(3,7),(3,8),(3,9),(4,0),(4,1),(4,2),(4,3),(4,4),(4,5),(4,6),(4,7),(4,8),(4,9),(5,0),(5,1),(5,2),(5,3),(5,4),(5,5),(5,7),(5,8),(5,9),(6,1),(6,2),(6,3),(6,5),(6,6),(6,7),(6,8),(6,9),(7,0),(7,1),(7,2),(7,3),(7,4),(7,5),(7,6),(7,7),(7,8),(7,9),(8,0),(8,1),(8,2),(8,3),(8,4),(8,5),(8,6),(8,7),(8,8),(8,9),(9,0),(9,1),(9,2),(9,3),(9,4),(9,5),(9,6),(9,7),(9,8),(9,9)] 切断された領域: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(1,0),(1,1),(1,2),(1,3),(1,4),(1,6),(1,7),(1,8),(1,9),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(2,7),(2,8),(2,9),(4,0),(4,1),(4,2),(4,4),(4,5),(4,6),(4,7),(4,8),(4,9),(5,0),(5,1),(5,2),(5,3),(5,4),(5,5),(5,6),(5,7),(5,8),(5,9),(6,0),(6,1),(6,2),(6,4),(6,5),(6,6),(6,7),(6,8),(6,9),(8,0),(8,1),(8,2),(8,3),(8,4),(8,5),(8,6),(8,7),(8,8),(8,9),(9,0),(9,1),(9,2),(9,3),(9,7),(9,8),(9,9),(10,0),(10,1),(10,2),(10,3),(10,4),(10,5),(10,6),(10,7),(10,8),(10,9)] 検証者 この Python 2プログラムを使用して、ソリューションを検証します。STDINから、コンマで区切られたタプルのリスト(入力)と4倍のリスト(出力)を受け取ります。 また、この Python 2プログラムを作成して写真を生成しましたが、これも使用できます。STDINからタプルまたは4つのいずれかのリストを取得し、という名前のファイルを生成しますout.png。PILライブラリが必要です。必要に応じて、グリッドセルのサイズとグリッド線の幅も変更できます。

3
エピサイクロゴンの描画
外サイクロイドは、それは別の円の周りを転がるよう円周上の点が作る曲線です。cyclogonは上の点形状である正多角形は、それが面を横切って転がるようになります。epicyclogonは、それが他の周りに転がるように、1つの正多角形上の点でトレースした曲線です。 与えられたepicyclogonを描画するプログラムを書きますr、r1、r2、n1、n2: r = number of clockwise revolutions rolling polygon makes around stationary polygon (any real number as limited by float values) r1 = distance from center of stationary polygon to each of its vertices (positive real number) r2 = distance from center of rolling polygon to each of its …

5
対角グリッドの長方形を数える
この課題のフォローアップとして、グリッド内の正方形のすべての対角線を横切る線がある、r行c列のグリッド内の長方形の数を数えたいと思います。今でも、以前と同じ長方形を数えていますが、今回は45度傾斜した長方形も含める必要があります。 あなたの目標は、行数rと列cが次元(r、c)の対角グリッド内の長方形の数を出力する関数またはプログラムを作成することです。 デモンストレーションとして、これは(2 x 3)対角グリッドによって形成された37個の長方形すべてを反復するアニメーションです。 テストケース Each case is [rows, columns] = # of rectangles [0, 0] = 0 [0, 1] = 0 [1, 0] = 0 [1, 1] = 1 [3, 2] = 37 [2, 3] = 37 [6, 8] = 2183 [7, 11] = 5257 [18, 12] = …

2
重なり合う円の境界線
平面上の複数のポイントの座標と、各ポイントを囲む円の半径を指定して、円と円が交わるエッジを表すポリゴンを描画します。まっすぐなエッジは常に円と円の交差線に沿って落ちますが、これらの線の全長に沿っていない場合があります。 パーmbomb007さんの提案、2D石鹸の泡の挙動を想像してみてください。それは技術的に間違っています。シャボン玉は常にエネルギーを最小化するために120°の角度で交わるのに対し、これらの円はどの角度でも交わることがあります。 これは、定義された面積平面を除いたボロノイ図です。アンドレアスに感謝します。これは実際には、パワー図と呼ばれるボロノイ図の一般化です。 例 たとえば、2つのポイントと2つの半径を指定すると、出力は次のようになります。 別のポイントと半径を追加すると、出力は次のようになります。 入力 入力は自由に構成できます。次の入力で結果を投稿してください。 テスト1 x:10、y:10、r:10 x:25、y:12、r:8 テスト2 x:8、y:10、r:6 x:20、y:8、r:4 x:18、y:20、r:12 出力 出力はグラフィカルで、ポリゴンの境界線を含む必要がありますが、他には何も必要ありません。ポイントや交差点は、例のように表す必要はありません。 制約 別の円の半径内にポイントは存在しません。 標準のcodegolfルール。 抜け穴のある回答は受け付けられませんが、気軽に楽しんでください。

9
長方形の検出
0および1の複数行の文字列を取り込むプログラムまたは関数を作成します。文字列には他の文字は含まれず、文字列は常に長方形(すべての行に同じ数の文字が含まれます)で、寸法は1×1ですが、それ以外の場合は0'と1'は任意に配置できます。 あなたは、文字列は、オプションの末尾の改行を持っていると仮定して、必要に応じて、あなたは、任意の2つの異なる使用することができ、印刷可能なASCII文字の代わりに文字を0して1。 印刷または戻りtruthy値を場合、すべてのパスが接続されているの領域を両方0のと1のある文字列内の固体の長方形、他の出力falsy値。 パス接続領域の0「いずれかからのS手段0領域内の、すべての他0のだけ上方に移動することによって到達することができるが、上下、左右他方へ0の(としない、斜めに移動しない任意に移動し1、そして文字列の境界の外側に移動しない)。同じ考え方が1パス接続されたリージョンにも適用されます。 の実線の長方形は0、長方形の領域全体がで塗りつぶされてい0ないことを意味します1。同じ考えが塗りつぶされた1長方形にも当てはまります。 バイト単位の最短コードが優先されます。Tiebreakerは以前の回答です。 (ストリングはトロイダル境界条件でラップアラウンドしないことに注意してください。) 例 1)この入力文字列には、3つのパス接続領域があります(2に対して01、1に対して1 1)。00ただし、右下の領域のみが塗りつぶされた長方形であるため、出力は偽になります。 0011 0111 0100 2)この入力文字列には、4つのパス接続領域があります(両方0とに2つ1)。それらはすべて実線の長方形であるため、出力は真実です。 0011 0011 1100 3)この入力には2つのパス接続領域がありますが、そのうちの1つだけが塗りつぶされた長方形であるため、出力は偽になります。 00000000 01111110 00000000 4)この入力には1つのパス接続領域のみがあり、単純な長方形であるため、出力は真実です。 11111111 11111111 11111111 テストケース Tただ、入力文字列の手段truthy以下、F手段がfalsy。 0 T 1 T 00 T 01 T 10 T 11 T 0000000 T 1111111 T 011100100100101100110100100100101010100011100101 T 00 11 T 01 10 …

8
サーキュラーブルース
正の整数Nを取り込んで、N×Nピクセル画像に合うようにスケーリングされたこの円のパターンを再作成するプログラムまたは関数を作成します。 この画像は、N = 946の有効な出力例です。 明確でない場合、すべての小さな水色の円は同じ半径を持ち、同じように4つの濃い青の円に配置されます。濃い青の円はその半径が2倍で、同じように大きな水色の円に配置されています。 青の2色の代わりに、視覚的に異なる2色を使用できます。 背景の正方形に色を付ける必要があります。 アンチエイリアスはオプションです。 画像をファイルに保存、表示、または生の画像データを標準出力にパイプします。 一般的な画像ファイル形式はすべて許可されます。 バイト単位の最短コードが優先されます。 この円パターンの再帰的側面をさらにレベルに拡張すると、ブラウニーがポイントします。(チャレンジエントリとは区別してください。)

3
2D衝突検出
この挑戦は、私が最近簡単なゲームのために書かなければならなかった実際の衝突検出に基づいています。 2つのオブジェクトが与えられたときに、2つのオブジェクトが衝突(交差)しているかどうかに応じて、真偽値を返すプログラムまたは関数を作成します。 次の3種類のオブジェクトをサポートする必要があります。 線分:2つの端点、つまり(x 1、y 1)と(x 2、y 2)を示す4つの浮動小数点で表されます。エンドポイントが同一ではないと想定することができます(したがって、ラインセグメントは縮退していません)。 ディスク:塗りつぶされた円。3つのフロートで表され、中心(x、y)に2つ、半径rに 1(正)で表されます。 キャビティ:これらはディスクを補完するものです。つまり、空洞は、中心と半径で指定された円形の領域を除き、すべての2D空間を満たします。 プログラムまたは関数は、2つのそのようなオブジェクトを(選択した)識別整数の形式で受け取り、それらの3つまたは4つのフロートを受け取ります。STDIN、ARGV、または関数引数を介して入力を取得できます。入力は、前処理されていない便利な形式で表すことができます。たとえば、8〜10個の個別の数値、2つのコンマ区切りの値リスト、2つのリストなどです。結果を返すか、STDOUTに書き込むことができます。 オブジェクトは少なくとも10 -10の長さの単位で離れているか、その分だけ交差していると仮定することができるため、浮動小数点型の制限について心配する必要はありません。 これはコードゴルフなので、最短の回答(バイト単位)が勝ちです。 テストケース リストベースの入力フォーマットを使用して0、ラインセグメントを、ディスク、1およびキャビティで2表現すると、次のすべてが真の出力を生成するはずです。 [0,[0,0],[2,2]], [0,[1,0],[2,4]] # Crossing line segments [0,[0.5,0],[-0.5,0]], [1,[0,0],1] # Line contained in a disc [0,[0.5,0],[1.5,0]], [1,[0,0],1] # Line partially within disc [0,[-1.5,0.5],[1.5,0.5]], [1,[0,0],1] # Line cutting through disc [0,[0.5,2],[-0.5,2]], [2,[0,0],1] # Line outside …

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