Python Tutorial, #47 Rubiks Cube in 3D

preview_player
Показать описание
Mit Python und der 3D-Engine Ursina programmieren wir in etwa 30 Zeilen den Rubiks Cube inkl. Drehung, Zoom, Tilt und das animierte Verdrehen der einzelnen Schichten über die üblichen Tastaturkommandos U, L, F usw.

Рекомендации по теме
Комментарии
Автор

Wirklich korrekt, dass du richtig komplizierte Projekte in Python umsetzt und es als Video mit vollen Quellcode mit uns teilst. So kann man wirklich fortgeschrittener lernen.

derindividualist
Автор

Ich bin gerade auf der Suche nach Software zur Programmierung von Cubing Algorithmen auf Deine Seite hier gestoßen. Dein Tutorial ist super, vielen Dank! Als (sehr :-)) alter Java Programmierer, der auch noch mal Python lernen will, werde ich mir Deine anderen Tutorials auch anschauen.

johanneskrimm
Автор

Das ist schon echt geil, was Du uns hier immer zeigst!
Also vielen Dank nochmals!

NormannCfC
Автор

Gutes Video 👍

Ich habe ein bisschen an der input-Methode gebastelt, dadurch wird dem fehlerhaften verschieben der Kinder vorgebeugt und ich habe mal die get-Methode von dict genommen. Hattes du ja im AoC irgendwo mal benutzt.

def input(key):
global start
achse, schicht, winkel = rot_dict.get(key, ('z', 0, 0))
if time.perf_counter() - start > 0.4:
start = time.perf_counter()
elter_kind_beziehung(achse, schicht)
shift = held_keys['shift']
if shift else winkel}, duration=0.3)')

start = time.perf_counter()

LG ✌

masterbe
Автор

Prima Tutorial! Die eval Funktion lässt sich vermeiden, indem man getattr benutzt. Also z.B. getattr(zentrum, f'animate_rotation_{achse}')(winkel, duration=0.5) oder if getattr(w.position, achse) == schicht:

alexanderpoplawski
Автор

Excellent! Very Professional, and at the same time easy to understand. I have just one question concerning my cube: Sometimes it seems to break up, that is if I am moving the layers with the key press( or simulating a number of key press). Is this common with ursina ? sonst, Vielen Dank und schone grusse aus Irland

roryodonoghue
Автор

Leider stimmen bei mir nicht die modellle und Texturen.
Ich muss mir die Datein herunterladen.

MylittleGamefrommoj
Автор

Vielen Dank, gutes Arbeit, ich versucht das gleiche zu machen kommt allerdings bei mir den Fehelr

Known pip types:
glxGraphicsPipe
(3 aux display modules not yet loaded)

medechenouf
Автор

Habe auch die Videos von Daniel Shiffman gesehen. Extrem wie er das alles programmiert und das ohne Konzept. Schon sehr interessant. Aber auch schön zu sehen dass man das in Python mit Ursina in 30 Zeilen schafft.
Mich würde noch interessieren ob man hier mit der Maus per Drag die einzelnen Ebenen bewegen kann?
Eventuell auch Mathematik anwenden um aus der Matrix der einzelnen Positionen der Würfel dann diesen automatisch vom Programm lösen zu lassen.

Wäre das mit der Engine auch möglich?

punchnergy
Автор

Vorweg: ein sehr gutes und differenziertes Video!
Wie gesagt, fängt der eigentlich Spass ja erst jetzt mit Lösungsalgorithmen an, aber wie gebe ich automatisiert eine Drehungsfolge an, da dass app.run() ja jeglichen folgenden code blockiert. Und ein weiteres Programm was Tastenanschläge simuliert ist ein wenig grob und ganz sicher nicht der "way to go".

idiotpfosten
Автор

Could you provide english version of you video

WahranRai
Автор

Ich kenne mich mit github nicht gut aus - Wo finde ich denn da die *.obj- bzw. die *. png-Datei?

lesehuette
Автор

Habe ich beim Mitcoden einen Fehler gemacht oder dreht sich der Würfel komisch, wenn man zu schnell Eingaben macht? Wenn ich Beispielsweise innerhalb einer Sekunde "U U U U U U U U U" drücke, dann ist der Würfel am Ende auch gar nicht mehr Würfelförmig, sondern komplett kaputt.

Ich weiß nicht, wie ich das beheben kann. Ich habe eine globale Variable eingeführt, aber die reicht alleine nicht. Mit einem Sleep könnte ich das Problem zwar beheben, aber dann ist die Animation ebenfalls im Eimer (es wird dann nämlich nicht mehr animiert)

Trotzdem schöner Code und gutes Video! Man lernt viel!

Gruss

lscuber
Автор

Achja, kann man Schrift auf die Kinder rendern? Idee wäre Buchstaben auf die Seiten zu packen welche Taste sie bewegt.

masterbe
Автор

Bin noch Anfänger in der Programmierung und finde es klasse, was du hier machst. Leider verstehe ich nicht, wie ich die .obj Datei auf meinen Rechner bekomme. Bitte um Hilfe.

nertagon
Автор

don't title it in english if u're going to speak gobberish, enjoy the dislike

mohamedaminebenbouali