![]() Lucas Garron in jungen Jahren |
Lucas GarronLucas ist einer der bekanntesten Vertreter des speedBLD (Geschwindigkeits-Blind-Lösung). Er ist schon mit 10 Jahren von Deutschland nach San Francisco gezogen. Dort hat er Mathematik an der Stanford Universität studiert. Hier ist er Präsident des cube club. Lucas ist auch einer der vier ersten und gegenwärtigen Mitglieder des WCS Regulations Committee, das die WCA Regeln im Jahr 2012 vollständig überarbeitet hat. Dieses Programm wurde im November 2005 veröffentlicht. Ende 2006 gab es ein Update und einige Ergänzungen. |
![]() |
![]() Der Rubiks Cube mit Hilfe des PovRay-Programms von L. Garron. |
![]() Lucas Garron |
|
Der Urheber des Programms lautet nach Info im Kommentar ein gewisser FlyerX. Weiter sind
dort die eMail-Adresse und die Webseite angegeben. Bei Überprüfung der Webseite stellt man
jedoch fest, dass diese nicht mehr vorhanden ist.
//POV-Ray Main scene file //================================== //This file has been created by PoseRay v3.12.2.456 //3D model to POV-Ray/Moray Converter. //Author: FlyerX //Email: flyerx_2000@yahoo.com //Web: http://mysite.verizon.net/sfg0000/ //================================== //Files needed to run the POV-Ray scene: //rubiks_POV_main.ini (initialization file - open this to render) //rubiks_POV_scene.pov (scene setup of cameras, lights and geometry) //rubiks_POV_geom.inc (geometry mesh) //rubiks_POV_mat.inc (materials) // |
![]() |
Erwähnt wird das Programm PoseRay. Dieses wandelt 3D-Modelle (Endung: 3ds) in
POVRay-Szenen oder Wavefront-Modelle um und bietet eine 3D-Vorschau unter
Nutzung von OpenGL API. Die Vermutung ist, dass ein Bild des Würfels mit Hilfe des
Umwandlungsprogramms in den PovRay-Code übertragen wurde. Zur Darstellung des Würfels
benötigt man laut Aussage im Kommentar 4 Programme, darunter das eigentliche POV-Programm. Alle 4 Dateien
können als eine ZIP-Datei heruntergeladen werden. |
|
Der Urheber dieser PovRay-Lösung ist namentlich nicht bekannt. Auch im Kommentar
im Programmcode wird dieser nicht angegeben. Es können nicht nur 3x3x3 Würfel
sondern auch 4x4x4-Würfel(sog. Rubik's Revenge Cubes) dargestellt werden.
Für dieses Programm benötigt man eine Include-Datei. Der Aufruf zum Ausgangswürfel
geschieht mit WRC_RubiksCube(' '). Weiter können mit Hilfe der Notation von Singmaster
beliebige Stellungen des Würfels erzeugt werden.
Hier ein Beispiel für einen 3x3x3-Würfel: WRC_RubiksCube("F2 D L2 D R U R L' B' ") Für einen 4x4x4-Würfel sähe das so aus: WRC_RubiksRevenge("U L' F f L2 F2 D") |
![]() |
![]() |
![]() |
Im Wesentlichen ändert man folgende Zeilen im PovRay-Code:
(1) #include "WRC_RubiksCube.inc" (2) object {WRC_RubiksCube("F2 D L2 D R U R L' B' ") (3) scale 1 (4) translate < -6.6/2, 2, -6.6/2 > (5) rotate y*45} |
In Zeile (1) wird die Include-Datei aufgerufen. Dann wird mit Hilfe von WRC_RubiksCube(" ") bzw. für den 4x4x4-Würfel
WRC_RubiksRevenge(" ") der entsprechende Würfel aufgerufen. In Klammern kann dann über die
festgesetzten Bewegungen das Aussehen des Würfels verändert werden. In Zeile (3) kann man die Größe des
Würfels festlegen. In den Zeilen (4) und (5) ist es möglich, den Würfel zu verschieben bzw. ihn zu drehen.
|
Diese Lösung von John L. Bolt benötigt auch eine Include-Datei. Mit diesem System können auch
Animationen erstellt werden. Dazu ist in der PovRay-Datei eine clock-Variable eingefügt. In der Zip-Datei
befindet sich neben der POV- und INC-Datei auch eine ini-Datei zur Erzeugung von mehreren
Bild-Dateien, die man dann zu einer AVI-Animation zusammenfügen kann.
Um einen Würfel zu erzeugen, müssen folgende Zeilen in der Pov-Datei vorhanden sein: #declare tTmp = array[3][3][3] // Temporary translation array #declare MvStr = "FARATrlRarlFRtAtrtLB" // Move string to scramble the cube #declare SStrX = "TBTBTFlbtlbtbFbffbFBfbFBABaRbrBRbrBbbABaBLbllBLBFbfbrbRbfBFBBabA" #declare SStrY = "bRBrRbfBFrAAttRRTFFLLFFLLFFLLtRRttAAlTLtlTLtblTLtlTLtblTLtlTLtbb" #declare SStr = concat(SStrX, SStrY) // Move string to solve the cube #declare MStr = concat(MvStr, SStr) // Complete move string |
Die Bezeichnungen der Drehungen orientieren sich nicht nach der Singmaster-Notation.
IT -Translation array II - Translation indirection array s - Move string to be applied. Can contain the following characters (use lower case for reverse) "L" - Rotate left slice around X-axis "I" - Rotate middle slice around X-axis "R" - Rotate right slice around X-axis "X" - Rotate cube around X-axis "B" - Rotate bottom slice around Y-axis "J" - Rotate middle slice around Y-axis "T" - Rotate top slice around Y-axis "Y" - Rotate cube around Y-axis "F" - Rotate forward slice around Z-axis "K" - Rotate middle slice around Z-axis "A" - Rotate aft slice around Z-axis "Z" - Rotate cube around Z-axis |
![]() |
![]() |
|
| |