এক্সওয়াইজেড বরাবর প্রতিশব্দে কিউবের মুখগুলি প্রসারিত করুন


33

স্যান্ডবক্স

বর্তমান কাজের উদ্দেশ্যে, ইউনিট দৈর্ঘ্যের একটি ঘনকটি ASCII প্রতীকগুলির সাথে তির্যক প্রক্ষেপণে নীচে রেন্ডার করা হয়েছে:

  +-----+
 /     /|
+-----+ |
|     | +
|     |/
+-----+
  • + উল্লম্ব জন্য।
  • -এক্স প্রান্তের জন্য। X এর সাথে এককের দৈর্ঘ্যটি -দুটি শীর্ষে অবস্থিত এর মধ্য পাঁচটি দ্বারা প্রতিনিধিত্ব করা হয় ।
  • |Y প্রান্তের জন্য। Y এর সাথে ইউনিটের দৈর্ঘ্য |দুটি শীর্ষে দুটি দ্বারা উপস্থাপিত হয় ।
  • /Z প্রান্তের জন্য। জেড বরাবর ইউনিট দৈর্ঘ্য /দুটি শীর্ষে একটি দ্বারা প্রতিনিধিত্ব করা হয় ।
  • তিনটি প্লেন ছেদ করলে কেবল প্রান্তগুলি টানা হয়।
  • প্রান্তগুলি কেবল সেখানে টানা যেখানে ঠিক দুটি প্লেন ছেদ করে।

যখন কোনও ইউনিটের মুখটি এক্সট্রুড করা হয় তখন এটি তার একক দৈর্ঘ্যের দ্বারা তার আসল অবস্থান থেকে অফসেট হয় এবং প্রতিটি দিকের জন্য চারটি নতুন প্রান্ত তৈরি করা হয় (ইতিবাচক এবং নেতিবাচক)।

আপনি একটি 3D কার্টেসিয়ান স্থানাঙ্ক ব্যবস্থার অক্ষটি আঁকানো হিসাবে বহিরাগত সম্পর্কে ভাবতে পারেন যেখানে প্রতিটি অক্ষটি ক্রোস বিভাগ 1x1 এবং লম্বা n(0,0,0) এর সাথে দূরে একটি কিউবাইড হিসাবে প্রতিনিধিত্ব করা হয়

এক্স সহ বর্ধিত 1:

  +-----------------+
 /                 /|   
+-----------------+ |
|                 | +
|                 |/
+-----------------+

কার্য

এক্সওয়াইজেড অক্ষের জন্য তিনটি নম্বর দেওয়া, একটি ইউনিট ঘনক্ষেত্রের মুখগুলিকে সংশ্লেষিত পরিমাণ দ্বারা প্রতিসম আকারে বের করে দেওয়া এবং উপরে বর্ণিত ফলাফল হিসাবে ASCII চিহ্ন সহ ফলাফলটি রেন্ডার করুন।

ইনপুট

x, y, z - অ-নেতিবাচক সংখ্যা - সংশ্লিষ্ট অক্ষগুলির জন্য এক্সট্রুশন দৈর্ঘ্য। 0 অর্থ কোনও এক্সট্রুশন নয়। ইনপুটটি তিনটি সংখ্যা, তিনটি সংখ্যার একটি তালিকা, একটি ট্রিপল, একটি স্ট্রিং বা আপনার পক্ষে সুবিধাজনক যে কোনও কিছু হতে পারে।

আউটপুট

এক্সট্রুশন পরে কিউবের ASCII অঙ্কন drawing শীর্ষস্থানীয় এবং পিছনের উইহটস্পেসগুলি অনুমোদিত।

পরীক্ষার মামলা

X Y Z
0 0 0

  +-----+
 /     /|
+-----+ |
|     | +
|     |/
+-----+

1 0 0

  +-----------------+
 /                 /|   
+-----------------+ |
|                 | +
|                 |/
+-----------------+


0 0 1   
        +-----+
       /     /|
      /     / |
     /     /  +
    /     /  /
   /     /  /
  +-----+  /
  |     | / 
  |     |/
  +-----+


1 1 0

        +-----+
       /     /|      
      +-----+ |
  +---|     | +-----+
 /    |     |/     /|
+-----+     +-----+ |
|                 | +
|                 |/
+-----+     +-----+
      |     | +
      |     |/
      +-----+

2 0 1

                +-----+
               /     /|
  +-----------+     +-----------+
 /                             /|
+-----------+     +-----------+ |
|          /     /|           | +
|         +-----+ |           |/
+---------|     | +-----------+
          |     |/
          +-----+

1 1 1 

        +-----+
       /     /|-+   
      +-----+ |/|
  +---|     | +-----+
 /    |     |/     /|
+-----+-----+-----+ |
|    /     /|     | +
|   +-----+ |     |/
+---|     | +-----+
    |     |/| +
    +-----+ |/
      +-----+

জয়ের মানদণ্ড

প্রতিটি ভাষায় বাইটের সংক্ষিপ্ততম সমাধানটি জয়লাভ করে। দয়া করে ব্যবহৃত পদ্ধতি এবং আপনার কোডের একটি সংক্ষিপ্ত বিবরণ যুক্ত করুন।


প্রতিটি এক্সট্রুশনগুলির জন্য একটি উচ্চ আবদ্ধ আছে?
অজ্ঞতার প্রতিমূর্তি

@ অজ্ঞতার চিত্র - 9 যথেষ্ট হওয়া উচিত
গ্যালেন ইভানোভ

উত্তর:


14

জাভাস্ক্রিপ্ট (ES6),  525 ... 475 471  459 বাইট

13 নাইট সংরক্ষণ করার জন্য 13 বাইট সংরক্ষণ করা

অ্যারে হিসাবে ইনপুট নেয় [X,Y,Z]। অক্ষরের একটি ম্যাট্রিক্স প্রদান করে।

a=>([X,Y,Z]=a,m=[],W=X*6+Z*2,'1uol9h824lsqpq17de52u1okgnv21dnjaww111qmhx1gxf4m50xg6pb42kzijq21xyh34t0h2gueq0qznnza2rrimsg3bkrxfh3yrh0em').replace(/.{7}/g,s=>[[c,x,A,y,B,w,C,h,D,t]=parseInt(s,36)+s,Y*W,Z,X,Y|!W,Z*X,X*Y*!Z,X*Z*!Y,Y*Z*!X][c]&&(g=H=>V<h&&((m[r=y-(3-B)*p+(t>1?H-V:V)+Y*3+Z*2]=m[r]||Array(W*2+9).fill` `)[x-2*(3-A)*p+(t>1?V:H-V*t)+W]=` ${c>5?'  + ':t>1?'|-':'-|'}+/+`[(H%~-w?0:+t?4:2)|!(V%~-h)],g(++H<w?H:!++V)))(V=0,p=a[c%3],w-=-3*C*p,h-=-D*p))&&m

এটি অনলাইন চেষ্টা করুন!

কিভাবে?

অঙ্কন পদক্ষেপ

আউটপুটটিতে 15 টি পক্ষ থাকে যা একটি নির্দিষ্ট ক্রমে আঁকা।

অ্যানিমেশন

বাস্তবায়ন

g

  • (x,y)
  • w
  • h
  • t

c

t=0

...........      ...........
..+-----+..      ..+     +..
..|     |..  or  ..       ..
..|     |..      ..       ..
..+-----+..      ..+     +..
...........      ...........

t=1

...........      ...........
...+-----+.      ...+     +.
../     /..  or  ..       ..
.+-----+...      .+     +...
...........      ...........

t=2

......+....      ......+....
...../|....      .....  ....
....+ |....  or  ....+  ....
....| +....      ....  +....
....|/.....      ....  .....
....+......      ....+......

(x,y)(w,h)XYZ

c[1..8]

সংক্ষেপে বলতে গেলে, একটি দিক পুরোপুরি এর সাথে বর্ণিত:

{ctx=ox+mx×Py=oy+my×Pw=ow+mw×Ph=oh+mh×P

Pc

অতএব, আমাদের প্রতিটি পাশের জন্য নিম্নলিখিত 10 টি প্যারামিটার সংরক্ষণ করতে হবে:

[c,ox,mx,oy,my,ow,mw,oh,mh,t]

নীচে 15 টি দিকের পরামিতিগুলি আঁকতে হবে:

sidecoxmxoymyowmwohmht0400237046014602346302226222403423366204030243062071240052220270341632600712301720222704008562224012294200370301101002370130111602313302126002070400137200070301148602040302

[0..9]

mx(mx+6)/2mymy+3mwmw/3

এটি হ'ল 10 দশমিক অঙ্কের 15 টি সংখ্যার ফলস্বরূপ, যা বেস 36 এ 7 সংখ্যার 15 গ্রুপ হিসাবে সঞ্চিত রয়েছে।

উদাহরণস্বরূপ, প্রথম দিকটি এনকোড করা হয়েছে 4032070460এবং হিসাবে সংরক্ষণ করা হয়েছে 1uol9h8


আমি মনে করি Array(W*2+9).fill` ` একটি বাইট সংরক্ষণ করে
নীল

ওফস, দুঃখিত, আমার খারাপ, আমি অবশ্যই এটি ভুল বা কিছু দেখেছি। উপেক্ষা।
অজ্ঞতার প্রতিমূর্তি

নিবন্ধন করুন :)
আর্নল্ড

3
আপনার traditionতিহ্যগতভাবে দুর্দান্ত বর্ণনা ছাড়াও দুর্দান্ত দর্শন! সম্মান!
গ্যালেন ইভানভ

@ গ্যালেন ইভানোভ আপনাকে ধন্যবাদ! আমি এই চ্যালেঞ্জটিতে কাজ করতে সত্যিই উপভোগ করেছি।
আর্নল্ড

13

এপিএল (ডায়ালগ ক্লাসিক) , 162 161 132 130 বাইট

{' |+/+ +-? ??? ++'[⍉(⊃~∘0)⍤13⍉↑a↑¨⍨↓(--1-⌊/∘,)2-/1⌽↑⍳⍴a←16|29|1+{2⊥+/¨∊¨=⌿¨⍵(⍉⍵)(⍉↓⍵)}⌺2 2 2{⍉⍤2⍉⌽0,⍵}⍣63/↓2/61<⍵+.=⍨↑⍳1+2×⍵]}

এটি অনলাইন চেষ্টা করুন!

  • ইউনিট কিউবিগুলির 3 ডি বুল অ্যারে তৈরি করুন
  • প্রতিটি কিউবি xyz বরাবর 6 3 2 বার প্রতিলিপি
  • জিরো দিয়ে ঘিরে
  • জন্য প্রতিটি 2 × 2 × 2 subarray কম্পিউট যে সংশ্লিষ্ট আউটপুট গৃহস্থালির কাজ নির্ধারণ করে 0 এবং 16 এর মধ্যে একটি সংখ্যা: (1 + 4*cx + 2*cy + cz) mod 16যেখানে cx, cy, czঅক্ষ X, Y, Z বরাবর একই মান "রড" সংখ্যা, অর্থাৎ ভেক্টর যে অক্ষ যে গঠিত বরাবর একই মানটির: 0 0 বা 1 1. আমরা যদি একটি সাব্রারেটি সমস্ত-শূন্য হয় (বা সমস্ত এক - যারা বিবেচনা করে না) ব্যতিক্রম করে এবং আমরা এর সংখ্যা 0 এর পরিবর্তে 0 বিবেচনা করি
  • প্রতিটি ঘর গণনার জন্য যেখানে সংশ্লিষ্ট চরটি স্ক্রিনে আঁকতে হবে
  • প্রতিটি কক্ষের জন্য একটি স্বচ্ছ (0 প্যাডযুক্ত) ম্যাট্রিক্স তৈরি করতে কেবল একটি অস্বচ্ছ "পিক্সেল" রয়েছে
  • ম্যাট্রিকগুলি মিশ্রণ করুন - এই মুহুর্তে আমাদের সাথে মাত্রা ইনেক্স, ইনি, ইনজ, আউটক্স, আউটই সহ একটি 5 ডি অ্যারে রয়েছে
  • প্রথম তিনটি অক্ষ কমিয়ে আনুন, কেবল প্রথম অ-স্বচ্ছ (≠ 0) আইটেমটি পাশাপাশি রাখুন
  • সংখ্যাগুলিকে রূপান্তর করতে একটি সারণী (একটি স্ট্রিং) ব্যবহার করুন -|/+

ধন্যবাদ স্কট মিলনার spotting যে কিছু জন্য +s হিসেবে অনুষ্ঠিত ?গুলি


আপনি কীভাবে এটি পরীক্ষা করেন? আমি উদাহরণস্বরূপ 2,3,4 এর বহিরাগত চেষ্টা করতে চেয়েছিলাম, কিন্তু কিছুই স্পষ্টতই কাজ করছে বলে মনে হয় নি।
নীল

আলগোটি খুব অপব্যয়যুক্ত, তাই 2 3 4 মেমরি থেকে দূরে চলে যায়, তবে 2 3 3 নাগালের মধ্যে রয়েছে
এনজিও

@ নীল আমি একটি ছোট ফিক্স তৈরি করেছি এবং এখন 2 3 4 টি কাজ করে। পার্শ্ব প্রতিক্রিয়া হিসাবে একটি বাইট হারিয়েছেন :)
ngn

একটি এপিএল সমাধান যা অসি-আর্ট চ্যালেঞ্জের চারকোলের চেয়ে অর্ধেক দীর্ঘ ?! কি হচ্ছে?!
শেগি

3
100% নিশ্চিত নয়, তবে আমি নিশ্চিত যে এটি 0 1 1
স্কট মিলনার

6

কাঠকয়লা , 325 বাইট

≔×⁶Nθ≔׳Nη≔⊗Nζ¿‹¹№⟦θηζ⟧⁰«B⁺⁷⊗θ⁺⁴⊗η↗↗⊕⊗ζ+⁺⁵⊗θP↙⊗⊕ζ↓+↓⁺²⊗η↙+↙⊕⊗ζ»«F‹⁰θ«↗+↗←+←⊖θ↙+/P→θ↓+↓²+⊖θ+»F‹⁰η«J⁶¦³↗+↗↓+↓⊖η↙+/P↑η←+←⁵↑+↑⊖η+»F‹⁰ζ«J⁸±²↓+↓↓↗+↗⊖ζ↑+↑²P↙ζ←+←⁵↙+↙⊖ζ+»J⁶¦⁰F‹⁰ζ«G↓³↙⊕ζ←⁷↑³↗⊕ζ ↙+↙⊖ζ↓+↓²+→⁵P↗ζ↑+↑²P←⁶↗+↗⊖ζ»F‹⁰η«G←⁶↑⊕η↗³→⁶↓⊕η ↑+↑⊖η←+←⁵↙+/P↓η+⁵P↗²↓+↓⊖η»F‹⁰θ«G↗²→⊕θ↓⁴↙²←⊕θ →+⊖θ↗+/↑+↑²P←θ↙+/P↓³←+←⊖θ»P↗∧∧θη²P↓∧∧ζθ³P←∧∧ηζ⁶+

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

≔×⁶Nθ≔׳Nη≔⊗Nζ

এক্সট্রুশনগুলি ইনপুট করুন, তবে বাইটগুলি সংরক্ষণ করার জন্য এগুলি পূর্বনির্ধারিত করুন।

¿‹¹№⟦θηζ⟧⁰«B⁺⁷⊗θ⁺⁴⊗η↗↗⊕⊗ζ+⁺⁵⊗θP↙⊗⊕ζ↓+↓⁺²⊗η↙+↙⊕⊗ζ»«

যদি কমপক্ষে দুটি বহির্মুখের শূন্য হয়, তবে কেবল মাত্রার একটি ঘনক্ষেত্র আঁকুন (2x + 1, 2y + 1, 2z + 1)। অন্যথায়:

F‹⁰θ«↗+↗←+←⊖θ↙+/P→θ↓+↓²+⊖θ+»

বাম এক্সট্রুশন মুদ্রণ করুন, যদি থাকে।

F‹⁰η«J⁶¦³↗+↗↓+↓⊖η↙+/P↑η←+←⁵↑+↑⊖η+»

ডাউন এক্সট্রুশনটি প্রিন্ট করুন, যদি থাকে তবে।

F‹⁰ζ«J⁸±²↓+↓↓↗+↗⊖ζ↑+↑²P↙ζ←+←⁵↙+↙⊖ζ+»

পিছনে এক্সট্রুশন মুদ্রণ করুন, যদি থাকে।

J⁶¦⁰

বাকি এক্সট্রুশনগুলি এই স্থানে মিলিত হয় (যা খুব শেষ অবধি টানা হয় না!)

F‹⁰ζ«G↓³↙⊕ζ←⁷↑³↗⊕ζ ↙+↙⊖ζ↓+↓²+→⁵P↗ζ↑+↑²P←⁶↗+↗⊖ζ»

বাম এবং নীচে এক্সট্রুশনগুলি ওভারল্যাপ হতে পারে এমন অংশগুলি মুছতে যত্ন নিলে সামনের এক্সট্রুশনটি মুদ্রণ করুন।

F‹⁰η«G←⁶↑⊕η↗³→⁶↓⊕η ↑+↑⊖η←+←⁵↙+/P↓η+⁵P↗²↓+↓⊖η»

পিছনে এবং বাম বাহ্যিক অংশগুলি যে ওভারল্যাপ হতে পারে তার অংশগুলি মুছতে যত্ন নিলে আপ এক্সট্রুশনটি মুদ্রণ করুন।

F‹⁰θ«G↗²→⊕θ↓⁴↙²←⊕θ →+⊖θ↗+/↑+↑²P←θ↙+/P↓³←+←⊖θ»

ডান এক্সট্রুশনটি মুদ্রণ করুন, যদি কোনও হয় তবে ওভারল্যাপ হতে পারে এমন নীচে এবং পিছনের অংশগুলি মুছতে যত্ন নেওয়া।

P↗∧∧θη²P↓∧∧ζθ³P←∧∧ηζ⁶+

পরের এক্সট্রুশনগুলির সাথে যোগগুলি আঁকুন।


চারকোলে 325 বাইট ?! একটি অসি-শিল্প চ্যালেঞ্জ উপর ?! এটি জা (ভাসক্রি) পিটি-তে আমার চেষ্টাও না করার পক্ষে যথেষ্ট!
শেগি

@ শেগি এটি সর্বোত্তম উপায় নাও হতে পারে এবং এটি গল্ফ করার উপায়গুলিও থাকতে পারে যা আমি যেভাবেই উপেক্ষা করেছি। আমার বলতে হবে যদিও এনএনজি-র পদ্ধতিটি আকর্ষণীয় দেখায়, দেখে মনে হচ্ছে তিনি কোনও আকারটিকে অভ্যন্তরীণ অ্যারেতে আঁকেন এবং তারপরে আউটপুট উত্পন্ন করতে প্রান্ত সনাক্তকরণ সম্পাদন করেন।
নিল

@ শেগি আমি ১৯৫ টি বাইট সমাধান নিয়ে এসেছি, যা সম্পূর্ণ আলাদা পদ্ধতির কারণে আমি আলাদাভাবে পোস্ট করেছি। এখনও ভাল এপিএল কম।
নীল

3

কাঠকয়লা , 195 164 144 বাইট

≔⁺³×⁶Nθ≔⁺²×³Nη≔⊕⊗NζF…·±ζζF…·±ηηF…·±θθ«J⁻λι⁺κι≔⟦⟧δFE²↔⁻⁺ιμ·⁵FE²↔⁻κνFE²↔⁻⁺λξ·⁵⊞δ⌊⟦‹μζ‹νη‹ξθ‹¹№E⟦μνξ⟧‹π⊕ρ¹⟧≡Σδ¹+²§ |-/⁺⌕δ¹⌕⮌δ¹¦³+⁴§ +Σ…δ⁴¦⁶§ |-/⌕δ⁰

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। এক্সট্রুশন আঁকার ক্ষেত্রে এটি সম্পূর্ণ আলাদা পদ্ধতির ব্যবহার করার কারণে আমি এটি একটি পৃথক উত্তর হিসাবে পোস্ট করছি। ব্যাখ্যা:

≔⁺³×⁶Nθ≔⁺²×³Nη≔⊕⊗Nζ

এক্সট্রুশনগুলি ইনপুট করুন এবং ঘেরের ঘনক্ষেত্রের অর্ধেক আকার গণনা করুন তবে পূর্ণসংখ্যায় গাণিতিক কারণ চারকোলের ব্যাপ্তি সর্বদা পূর্ণসংখ্যার হয়। মূল ইউনিট কিউবের কেন্দ্রে আউটপুট মানচিত্রের উত্স।

F…·±ζζF…·±ηηF…·±θθ«

এক্সট্রুশনযুক্ত কিউবয়েডের মধ্যে (সীমানা সহ) সমস্ত স্থানাঙ্কের উপর লুপ করুন।

J⁻λι⁺κι

এই স্থানাঙ্কগুলির সাথে সম্পর্কিত আউটপুট অবস্থানে ঝাঁপুন।

≔⟦⟧δFE²↔⁻⁺ιμ·⁵FE²↔⁻κνFE²↔⁻⁺λξ·⁵⊞δ⌊⟦‹μζ‹νη‹ξθ‹¹№E⟦μνξ⟧‹π⊕ρ¹⟧

প্রদত্ত স্থানাঙ্কগুলি থেকে, এক্সট্রুশনটি সেই দিকটিতে ওভারল্যাপ হয় কিনা তা নির্ধারণের জন্য সমস্ত আটটি তির্যক দিকগুলিতে উঁকি দিন। উঁকি দেওয়া স্থানাঙ্কগুলি চেক করা হয় যে তারা এখনও কিউবয়েডের মধ্যেই রয়েছে, এবং তারপরে মূল ঘনকের মধ্যে স্থানাঙ্কটি যে অক্ষের মধ্যে রয়েছে তার সংখ্যা অবশ্যই 1 এর চেয়ে বেশি হওয়া উচিত নোট করুন যেহেতু ঘনকটির একটি বিজোড় প্রদর্শন উচ্চতা রয়েছে তাই Y- অক্ষের মানগুলি যেগুলি উঁকি দেওয়া হয় তারা পূর্ণসংখ্যা হয় যখন অন্যান্য অক্ষগুলি ভগ্নাংশের স্থানাঙ্ক ব্যবহার করে।

≡Σδ

এক্সট্রুশনটি ওভারল্যাপ করে এমন দিকের সংখ্যা বিবেচনা করুন। এখানে পাঁচটি আগ্রহের বিষয় রয়েছে যেখানে আমরা কিছু মুদ্রণ করতে চাই যেমন শূন্যের ক্ষেত্রে, এর অর্থ এই যে এটি খালি স্থান এবং আমরা কোনও কিছু মুদ্রণ করতে চাই না, যখন আটটির ক্ষেত্রে, এর অর্থ এই যে এটি ভিতরে রয়েছে এক্সট্রুশন এবং আমরা যে কিছু মুদ্রণ করেছি তা চোখের পয়েন্টের কাছাকাছি একটি স্তর দ্বারা ওভারপ্রিন্ট করা হবে।

¹+

যদি এক্সট্রুশনটি কেবলমাত্র এক দিকে ওভারল্যাপ হয় তবে এটি বাহ্যিক কোণ এবং আমাদের একটি আউটপুট করতে হবে +

²§ |-/⁺⌕δ¹⌕⮌δ¹¦

যদি এক্সট্রুশনটি দুটি দিক দিয়ে ওভারল্যাপ হয় তবে এটি বাইরের প্রান্ত। দুটি ওভারল্যাপের মধ্যে বিভাজন থেকে কোন ধরণের প্রান্ত নির্ধারণ করা হয়; 6 এবং 7 টি রিয়ার-ফেস এজগুলি এবং ওভাররাইট করা হবে, 4 একটি তির্যক প্রান্ত, 2 একটি উল্লম্ব প্রান্ত এবং 1 টি একটি অনুভূমিক প্রান্ত। (এটি করা সহজ বলে মনে হচ্ছে বলে আমি আসলে 7 বিয়োগ বিয়োগটি গণনা করি))

³+

যদি এক্সট্রুশনটি তিনটি দিক দিয়ে ওভারল্যাপ হয় তবে এটি ক্ষেত্রে একটি অভ্যন্তরীণ কোণ যেখানে এক্সট্রুশনগুলির মধ্যে একটি শূন্য এবং আমাদের আউটপুট করতে হবে +

⁴§ +Σ…δ⁴¦

যদি এক্সট্রুশনটি চার দিক দিয়ে ওভারল্যাপ হয় তবে দুটি মামলা রয়েছে: মুখ (কোনও দিকনির্দেশ), এবং তিনটি ইতিবাচক এক্সট্রিশন সহ ক্ষেত্রে অভ্যন্তরীণ কোণগুলি। পরবর্তী ক্ষেত্রে দর্শকের দিকে বিজোড় সংখ্যক ওভারল্যাপ রয়েছে।

⁶§ |-/⌕δ⁰

যদি এক্সট্রুশনটি ছয় দিক দিয়ে ওভারল্যাপ হয় তবে এটি অভ্যন্তরীণ প্রান্ত। এটি বাইরের প্রান্তের পরিপূরকের মতো কাজ করে কেবল তা ছাড়া আমরা কেবল আগ্রহী যখন দুটি খালি জায়গার মধ্যে একটি চোখের পয়েন্টের দিকে দিক (অ্যারেতে শেষ প্রবেশ))


2

কে (এনএনজি / কে) , 172 বাইট

{s:1+|/'i-:&//i:1_--':1_4#!#'2*:\a:16!29!1+2/(!3){+'+x}/'{2+':''1+':'0=':x}'{++'x}\6{+'+0,|x}/{6}#{3}#'{2}#''s#1<+/x=!s:1+2*x;" |+/+ +-? ??? ++"s#@[&*/s;s/i;{x+y*~x};,//a]}

এটি অনলাইন চেষ্টা করুন!

আমার এপিএল সমাধানটির বাধ্যতামূলক পুনর্লিখন

একই অ্যালগরিদম, 3 ডি-> 2 ডি রেন্ডারিং বাদে (3 কে- এর সমমানের) স্ক্র্যাটার সূচক অ্যাসাইনমেন্টের সাথে প্রতিটি 3 ডি উপাদানের জন্য 2 ডি ম্যাট্রিক তৈরি করতে এবং সেগুলি মিশ্রণের পরিবর্তে করা হয়


ngn/aplআপনার Dyalog APLসমাধানের তুলনায় আপনার পারফরম কীভাবে হবে ?
গ্যালেন ইভানভ

@ গ্যালেন ইভানোভ এটি তুলনামূলক উপযুক্ত হবে না কারণ আমার এপিএল সমাধানে আমি কয়েকটি বাইট সংরক্ষণ করতে প্রচুর স্মৃতি নষ্ট করি, এবং কে এই ক্ষেত্রে আরও দ্রুত হতে পারে
এনজিএন

আমি দুটি এপিএল সমাধানগুলির মধ্যে তুলনা সম্পর্কে জিজ্ঞাসা করেছি - আপনার এপিএল / ডায়ালগ একটি এবং এনজিএন / এপিএলে একটি অনুমানিক সমাধান
গ্যালেন ইভানভ

ওহো, আমি জানি না কেন আমি পড়তে যে "ngn / ট" ... এটা আবার অন্যায় হিসাবে - ngn / APL হয় hobbyist JavaScript, dyalog হয় পেশাদারী গ
ngn

1
@ গ্যালেন ইভানোভ সম্ভবত তা নয়। ngn / APL (রেঙ্ক অপারেটর মত ভাষা থেকে সাম্প্রতিক সংযোজন অনুপস্থিত ) এবং স্টেনসিল ( )
ngn
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.