問題タブ [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.
java - Javaでのルービックキューブ解決API
私は現在、ルービックキューブを解くロボットを作っています。私はAndroidスマートフォンを使用してキューブをスキャンし、Androidでも解決したいと考えています。ルービックキューブを解くことができるライブラリはありますか?
前もって感謝します
javascript - ルービックキューブを描くための3Dの基礎
パースペクティブを使用して html キャンバス要素にルービック キューブを描画したいのですが、3D グラフィックスやパースペクティブなどの経験がないため、これを達成するために役立つリソースをすべて探しています。私が見つけた唯一の役立つリンクは、このデモ用です:
c++ - OpenGL ルービック キューブ - マウスによる面の回転
私は最初の実際の OpenGL プロジェクトに取り組んでいます。3x3x3のルービックキューブです。ここに私がこれまでに持っているものの簡単なスクリーンショットへのリンクがあります(私のルービックキューブ)
キューブの回転は、マウスの右ボタンを押しながらマウスをドラッグすることで行います。これは、NeHe チュートリアル ( NeHe Arcball )のアークボールの例を使用して機能します。
6 つの実際のクワッドを介して 1 つの立方体を表すクラス singleCubes があり、その描画メソッドで使用できる表示リストに格納されています。クラス ComplexCube には 3x3x3 の singleCube の配列があり、完全なルービック キューブとやり取りするときにインターフェイスとして使用されます。
ここで、マウスの左ボタンを押したままドラッグすると、特定の各面を回転させたいと思います。ピッキングを使用して、ユーザーがクリックした単一の立方体の対応する面の ID を取得します。これも機能します。そこで、面上の 1 つの立方体の側面をクリックし、ドラッグの方向に応じて、影響を受ける立方体の回転とオフセット係数を設定します。(色を変更するだけでなく、実際に顔が回転するのを見ることも実装したい)
今私の問題は、マウスの右ドラッグでルービックキューブを任意の方向に回転させると、たとえば逆さまになることです。そのため、側面をクリックして面を右に回転させたい場合、立方体が逆さまになっているかどうかを追跡できないため、間違った方向に進んでしまいます。アークボール回転を使用しているため、これを決定するために使用できる x または y 回転角度がありません。
質問 1:上にリンクされているアークボールの例を使用しているときに、マウスのドラッグ情報 (1 つの面を回転させるとき) を変換するために、立方体が逆さまになっている場合、または後で情報を取得するにはどうすればよいですか?
セットアップ: C++ と Microsoft Visual Studio 2008、GLEW、freeglut
c - OpenGL: 画像表面に描かれた汚れ
ルービック キューブへのインターフェイスをコーディングしようとしています。
ただし、描画すると、立方体の面に汚れがあります。
これはよくコメントされたコードです。誰かが私を助けて、おそらくコードを実行して、どこが間違っているのか教えてもらえますか?
OK、コードを修正して、シアンの四角形を 0.001f 単位ではなく 0.01f 単位後ろに描画するようにしました。これにより、Z ファイティングが修正されたようです。ただし、 glPolygonOffset(factor, units) を使用してこの問題を修正したかったのですが、次の理由でそれを行うことができませんでした:
- facor と units の設定方法がわかりません (両方とも 1.0 を試しました)。
- さまざまな値を試しましたが、結果はありませんでした。
ブリーディング/スティッチング/Zファイティングなしのコードは次のとおりです。
java - 系列生成・幅優先探索
基本的に私がやっていることは、すべての可能な動きの幅優先探索でルービック キューブを解こうとすることです。これが立方体を解く最良の方法ではないことはわかっていますが、非常に短いシーケンスにのみ必要であり (したがって、検索の深さが 3 よりも深くなる可能性は低い)、次のもの以外を保存する必要はありません。現在のシーケンス。
増え続ける数字の文字列 (0,1,2,00,01,02...) を出力する方法を見つけようとしているので、それぞれを関数にプラグインして、その特定のシーケンスの移動はキューブを解決しますが、シーケンスを無期限に続行する方法を見つけるのに苦労しています。
これまでのところ、ネストされた for ループしか管理できませんでしたが、検索が深くなるたびに別のループが必要になります。この問題にどのようにアプローチできるか、誰にもわかりませんか?
漠然としていて申し訳ありませんが、私がやろうとしていることについてエッセイを書くことができましたが、それをシンプルにしようと思いました.
python - Python 3.2.1: exec('x = y()') はおもちゃの例で値を設定しますが、完全なコードでは設定しません
次のように、値を設定するために exec() ステートメントを使用しています。
予想どおり、これは 4 になります。
私のプログラムには、ルービック キューブを操作する操作があります。この簡素化されたバージョンでは、次の 4 つのことを行います。
立方体をインスタンス化して、1 つの面を埋めます (「正面左上」と「正面右下」などの略語を使用)。
その正面を回転させる関数を用意します。
キューブと命令のリストを受け取り、それらの命令をキューブに適用して、変更されたキューブを返す「インタープリター」関数を用意します。これが私が「exec」を使用する場所です(そして、破損が発生すると思われる場所です)。
最後に、面を 1 回回転させる命令を使用して、部分的な立方体でインタープリターを実行します。
+
exec(x = y) 形式を x = eval(y) に置き換えると、うまくいくようです。return_cube = eval(命令 + '(return_cube)')
だから多分これは単なる学術的なものです。おもちゃの例は機能するのに、実際のコードは失敗するのはなぜですか? (イコール記号を忘れるなど、明白でばかげたことをしていますか? 私は自分自身を蹴るつもりです、きっと...)
誰でも提供できるヘルプをありがとう。
android - Android Kube API サンプルが構造から外れます
私が取り組んでいるアプリケーションには、Android API サンプルのKubeアプリケーションを使用しています。
このサンプルは、27 個の小さな立方体から作成された OpenGL のルービック キューブのモデルを作成します。その後、立方体のランダムなレイヤーを回転させることにより、animate() メソッドで立方体がスクランブルされます。各回転の後、完全には理解できないプロセスでレイヤーがそれに応じて設定されます。
サンプルは正常に動作しますが、何らかの理由で回転の方向を true に変更すると、レイヤーが正しく更新されていないかのように、立方体が互いに重なり始めます。
助けていただければ幸いです:)
language-agnostic - ルービックキューブの表現方法
Mathematica でルービック キューブを設計する方法を知りたいのですが、それは可能ですか。立方体の 6 つの面にある小さい方の立方体の異なる分離をどのように決定できますか。
python - Case/Switch ステートメントの代わりに Python で辞書を使用する
完全なものとして初期化されているルービックキューブをランダム化したい(すべての色が正しい側にある)。立方体を回転させる移動機能があります。適切にランダム化するために、連続して 50 個の関数をランダムに選択したいと考えています。
私は主に C++ を使用しており、Python のケース/スイッチがないことがわかっているため、Python についてもう少し学ぶためにこのプロジェクトを行っています。そのため、辞書を試しています。辞書を作成すると、何らかの理由でコードが実行されるようです。
なので、この辞書を作ってみると、なぜか11項目全て実行してしまうようです(たぶん)。少なくとも if/elif ステートメントの長い文字列よりもエレガントな、より良い方法を見つけることができないようです。
!EDIT: 両方の提案を実装すると、関数の (「反転」) フラグはどちらの提案によっても設定されません。たとえば、1 と 7 を呼び出すと両方とも down_turn が返されますが、出力は、7 番にあるはずのフラグが設定されていないことを示しています。
何か案は?