問題タブ [rubiks-cube]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2250 参照

iphone - 無限スクロールIOSを使用したグリッドビューでの垂直および水平スクロール

グリッドビューで水平スクロールと垂直スクロールを同時に有効にするにはどうすればよいですか?

サムネイル画像の4x4グリッドがある場合、左/右と上/下の両方向にスワイプを実装したいと思います。現在、左右のスワイプは完了していますが、2番目のセルを選択して上にスワイプすると、2番目の行がルービックキューブのようにスクロールされます。

誰かアイデアがあれば共有してください。

0 投票する
1 に答える
199 参照

arrays - 可変サイズの配列の代わりにテンソルを構築する

だからここにスキニーがあります:

  1. ルービック キューブを想像してみてください。それは3x3x3です。私はたまたま、ルービックの「キューブ」である配列を持っていますが、それは 4x4xn だけです。n は 1 から始まる

  2. 配列内の各 4x4 行列の特定の条件が真の場合、行列はそれ自体を複製します。つまり、n は 1 ずつ大きくなります (配列、またはルービック キューブが長くなる/直方体になります)。たとえば、配列内の各 4x4 行列について、[2,4] > [2,1] の場合、行列は配列内でそれ自体の別のバージョンを複製します。

  3. 配列内の各 4x4 行列の同じ特定の条件が false の場合、行列自体が「死ぬ」か、存在しなくなります。配列、またはルービック キューブが短くなります。たとえば、配列内の各 4x4 行列について、[2,4] < [2,1] の場合、行列は配列から消去されます。

  4. だから私はこれを配列に構築しようとしましたが、明らかに、配列から行列を自由に追加および削除することはできません。

  5. テンソルを構築する必要があると言われました-(私の概念モデルからウィキペディアの言うことまで、これは2次応力テンソルのようです)。私は物理学者ではありませんし、数学の純粋主義者でもありません。私は基本的な応用数学の専門家 (ORSA) ですが、「分析」の経験が数年しかなく、学位は持っていません。

  6. この構造を R で構築する方法を誰かが私に示してくれることは可能ですか? 私が書いていると信じているタイプのテンソルを R で構築する方法について、理解できる/概念的な情報を見つけることは非常に難しいことを理解していただければ幸いです。 .

できる限りのご支援を賜りますよう、何卒よろしくお願い申し上げます。

とても感謝しています。

だからここに私が試したことのいくつかがあります:

これはうまくいきません。

0 投票する
2 に答える
1222 参照

android - OpenGl とタッチ スクリーン機能による視覚的に正しい回転

Android用のルービックキューブをやろうとしています。ローテーションについて1つ質問があります。視覚的に正しい図形を回転させたい。これは、ユーザーが画面にタッチして指を右に動かした後、図形が観測点の横から右に回転することを意味します。しかし、いくつかの回転を行うと、フィギュアが正しい方向に動き始めません。その軸次第で状況が変わるのは理解しています。しかし、逆モデル行列を使用して必要な座標を取得しようとしましたが、まだ結果が得られていません。マウスまたはタッチスクリーンを使用して 3D フィギュアを視覚的に正しく回転させる例またはリンクを教えてもらえますか?

0 投票する
1 に答える
1578 参照

python - DrawingPanel.py ルービック キューブの描画

Python を使用して、この画像に基づいてルービック キューブを描きたいと思いますhttp://vixra.files.wordpress.com/2010/0 ... s-cube.jpg

これは私の現在のコードです http://pastebin.com/MfF07ze4

しかし、コードには少なくとも 5 つの for ループと、キューブの作成に役立つ 5 つの関数が必要です。また、ルービック キューブの 1x1 キューブの 3 つのポイントを作成する際のアルゴリズムについても助けが必要です。

0 投票する
3 に答える
1791 参照

cube - Maya で MEL を使用してルービック キューブをリギングする

Maya でルービック キューブをリグして、任意の方向に何度でも回転できるようにします。回転は 90 度単位で行われます。これらは私の Outliner のオブジェクトです:

26個のブロック(立方体の中心ブロックは不要) 9個の回転コントローラー(高さ/幅/奥行きの行/列用に3個) 1個のルートコントローラー

秘訣は、個々のブロックの制御をあるコントローラーから次のコントローラーに渡すことです。任意の時点で、ブロックは 3 つの異なるコントローラーの影響を受ける可能性があります。ただし、ローテーション後はコントローラーが変わります。

一連のマトリックス (2D 配列) を作成する必要があると思います。そのうちの 9 つ (コントローラーごとに 1 つ) です。それらにブロックを割り当て、ローテーション後に再割り当てします。スワップには一時的なマトリックスが必要だと思います。これを超えて、私はこれについてどうすればよいかわかりません。これらの行列は、ルート コントローラーのパラメーターにする必要がありますか? おそらく。

この問題の助けは役に立ちます。MEL は初めてですが、C/C++ などのバックグラウンドがあります。機能的なルービック キューブをどのように装備しますか?

0 投票する
2 に答える
5191 参照

c++ - カメラと画像認識

私は最近、ルービックキューブがカメラにかざされたことを認識するようにカメラを手に入れた男が、立方体の写真を撮り、コンピューターの画面に3x3グリッドを表示する前に、9つの正方形の色の組み合わせをキャプチャするYouTubeビデオを見ました。 . これはどのような種類のプログラミングで、この種のことを理解するにはどこから読み始めればよいでしょうか? 具体的には、カメラを制御し、画像の特定の部分を選択してそのデータを変換します。

0 投票する
2 に答える
3636 参照

algorithm - ルービックキューブの効率的な解き方

重複の可能性:
ルービック キューブをプログラムで解く

ルービックキューブを解くアプリを作りたいです。コンピューターは最大 20 手で解決できると読みました。しかし、インターネットで検索しても、それを実装する方法が見つかりません。そこで、フリドリッヒ法 ( http://en.wikipedia.org/wiki/Fridrich_Method ) について考えます。しかし、すべてのアルゴリズムを PC に教えるのは困難です。助言がありますか?ps私の英語でごめんなさい:)

0 投票する
4 に答える
316 参照

python - Pythonでルービックキューブ表記のような文字列を分割する最も効率的な方法は?

与えられたような文字列の場合、これを文字列"RL2R'F2LD'"に分割する最も効率的な方法は何"R" "L2" "R'" "F2" "L" "D'"ですか?最初にそれらを個々の文字に分割し、次にそれらをリストに追加しようとするなど、いくつかの方法を試しましたが、何も正しく機能しませんでした。

0 投票する
1 に答える
2093 参照

c++ - C++ で opengl を使用してルービック キューブの面を回転させる際の問題

宿題の一部として機能するルービック キューブを設計する必要があります。私はopenGLを直接使用していませんが、提供されたフレームワークを使用しています。( openGL に属さず、ここに本体がリストされていないすべての関数は、正しいと推定されます)

機能: キーを押して選択した場合、すべての面を回転する必要があります。立方体全体が回転する必要があります。

立方体全体の回転は正しく、この質問の主題にはなりません。

これを行うために、27 個の小さな立方体 (立方体のサイズは 3) からルービック キューブを作成し、同時に 3 次元配列を作成しました。小さなキューブ インデックスを含むキューブのレプリカ。これをよりよく理解するために:

最初の 1 つの面が次の場合:

回転後は次のようになります。

X 軸または Y 軸に対してキューブを無期限に回転させることができ、完全に機能します。ただし、回転を組み合わせると (X 回転と Y 回転をランダムに交互に)、立方体が変形する場合があります。これは一貫性がなく発生するため、原因を特定するのは困難です。

これは私がキューブを作成する方法です:

関数 drawCube() は、中心が原点に配置されたサイズ 4 の立方体を効果的に描画します。CubIndici は、立方体の位置を格納するために使用する 3D 配列です。

これは、3D 配列で行列を回転させるために使用している関数です。(私はそれを再確認したので正しいはずですが、おそらく何かが欠けています)。

CubIndici 3d 配列はグローバルであるため、実行する回転の種類 (X、Y、または Z に対して) を決定するには、軸パラメーターが必要です。

wキーを押すと、X軸を中心に(ハードコードされた、今のところ)面を回転させる必要があります

CubIndici 1 1には、面 CubIndici[*][*] 1の中心にある立方体が常に含まれている必要があります。

同様に、

Y 軸を中心に回転します。

1.57079633 は、90 度に相当するラジアンです。

理解を深めるために、左の面を X 軸で回転させ、上から下へ Y 軸で回転させる詳細表示を追加します。

画像

座標の最初のブロックは、最初の立方体面です。(CubIndici インデックス マトリックスは変更されていません)

pre rotatie - 面の立方体ごとの座標とインデックス。post rotatie - オブジェクトを回転させた後の座標とインデックス。(マトリックスは触れられていませんでした)ポスト回転マトリックス - マトリックスも回転させた後。「pre rotatie」と「post rotatie matrix」のインデックスを比較すると、90 度回転していることがわかります。

これは最初の回転 (X を中心に左面を回転させる) であり、完全に正しいです。

ただし、次の回転では、上から下の面 (および左側の面) に含まれる立方体は 2、5、8 である必要があります。ただし、それらは 2,5,6 として表示されます。最初の「post rotatie マトリックス」を見ると、2,5,8 が実際に一番上の行です。

これは立方体が変形する問題で、何が原因かわかりません。

不明な点があればお知らせください。投稿を編集するか、コメントに返信します。