3d würfel

Status
Nicht offen für weitere Antworten.

jonny0024

Mitglied
Hallöchen,

ich habe ein problem, und zwar ich soll einen 3D würfel der in 64 kleine würfeln aufgeteilt ist und durch jeden kleinen würfel geht ne schnurr durch und und und... meine frage ist: wie kann ich die arrays miteinander verketten so das auch der letzte würfel hinter der ersten endet also wie eine hals kette??

bin nen bisel überfordert :(

Edit von Lectron-X: Habe deinen Doppelpost gelöscht. Falls ein Beitrag im falschen Forum liegt, wird er ohnehin von einem Moderator verschoben.
 
Zuletzt bearbeitet von einem Moderator:

Lexi

Bekanntes Mitglied
Also du hast im Prinzip eine Kette auf der 64 Würfel aufgefädelt sind ?
Und diese Kette soll dann so zusammen gelegt werden, dass daraus ein Quader entsteht ? Habe ich das so richtig verstanden ?

Was du mit den Arrays möchtest weiß ich noch nicht so genau aber wenn du schon "3D Würfel" sagst, hört sich das nach einem Ansatz mit einem 3d Array an.
Suchst du sowas in der Art?
Java:
Würfel[][][] quader = new Würfel[5][5][5];
Das wäre jetzt ein Quader mit den Maßen 5x5x5.
 

jonny0024

Mitglied
ja genau bei ist das 4x4x4
ich soll meinem programm halt sagen das er zusammenstellen soll, das ist so eine art puzzel
 

jonny0024

Mitglied
die aufgabe ist etwas komplexer aber mein problem ist erstmal das ich die arrays oder besser die kleinen würfel mit miteinander verkette und die sollen halt am ende wieder zusammen
 

Lexi

Bekanntes Mitglied
Oh klar 4^3 = 64, ich weiß auch nicht warum ich da grad nicht drauf gekommen bin -.-

Also ich kann mir zwar wage denken was du da zusammenbasteln willst, aber mir fehlen noch genauere Informationen um dir iwie weiterhelfen zu können. Ganz hilfreich wären bisher ausporbierte Ansätze also deinen bisher geschriebenen Code, oder sollte dieser noch nicht vorhanden sein, wenigstens eine ausführliche "Aufgabenstellung" oder Beschreibung was du nachher genau erreichen möchtest.

Willst du die ganze Sache später als GUI präsentieren ? Oder ist das ganze eine einfachere Konsolenanwendung ?
 

Lexi

Bekanntes Mitglied
die aufgabe ist etwas komplexer aber mein problem ist erstmal das ich die arrays oder besser die kleinen würfel mit miteinander verkette und die sollen halt am ende wieder zusammen

Wie gesagt das ist zu wage. Auf jeden fall mir. Ich kann damit so nicht groß was anfangen, ich würden schon ganz gerne etwas Code oder genauere Aufgabenstellungen o.ä. sehen, wie oben bereits erwähnt ..
 

jonny0024

Mitglied
ok moment
und vorab ja das wird als gui aber bis dahin soll er erstmal nur auf meiner konsole laufen:).

also die aufgabenstellung:

wir haben einen würfel bekommen der in sich nochmal in 64 kleine würfel aufgeteilt ist. und diese sind von eins bis 64 durchnummeriert. und alle würfel sind mit einer schnurr zusammen gekettet wie gesagt wie eine halskette und der 64. hört hinter der ersten auf die schnurr geht also einmal durch die würfel durch. bei den würfeln 1,5,8,15,24,30,32,43,49,58,64 geht die schnurr gerade durch und bei den restlichen geht der 90grad wieder aus einer der vier seiten raus also so wie hierSnake Cube aber halt am ende wieder zusammen. den baum habe ich auch erstellt zwar nicht bis zum ende aber reicht aber das ist ja egal;-) und das was ich machen soll ist das mein programm das selber zusammenstellen soll und das soll später auch grafisch dargestellt werden wie gesagt ich hoffe du verstehst das wir hatten noch weniger informationen gehabt er meinte nur hier seht euch das an und macht mal hehe
 

jonny0024

Mitglied
und ich komme halt mit der verkettung nicht klar und code mäßig habe ich nur in meinem laptop was aber der ist nicht da :-(
 

Lexi

Bekanntes Mitglied
Du hast in deiner Beschreibung grad irgendwas von Knoten gesagt. Da weiß ich jetzt nicht genau, ob ich dir da so groß weiterhelfen kann, da bin ich selbst noch Neuling.
Ansonsten könntest du eine Klasse schreiben, in deren Instanzvariablen man speichern kann wie die Schnur durch den Würfel geht ( gerade durch, um die Ecke - wenn Ecke dann um welche Ecke ? ).

Von dieser Klasse erstellst du dann mehrere Objekte und füllst dein Array damit. Ich habe allerdings keine Ahnung ob das hier der gewollte, oder ein überhaupt plausibler Ansatz ist, da müssten noch ein paar andere Leute hier was zu sagen.

Java:
public class Cube{
	
	public enum StringDirektion{ STRAIGHT, UP, DOWN, LEFT, RIGHT };
	private StringDirection dir;
	
	public Cube(StringDirection dir){
		this.dir = dir;
	}
	
	public StringDirection getDirection(){
		return dir;
	}
	
	public void setDirection(StringDirection dir){
		this.dir = dir;
	}
}
 

Lexi

Bekanntes Mitglied
Ich weiß ja nicht, ob das unbedingt ein Array sein muss. Wenn nicht könntest du das ganze evtl in eine Collection stecken und die Klasse Cube Comparable implementieren lassen. Dann könntest du die Elemente mit sort() recht angenehm anordnen.
Aber wie genau du dann compareTo(Object other) implementieren musst weiß ich auch nicht.
 

0x7F800000

Top Contributor
Ist dir aufgefallen, dass das 4x4x4 gitter ein graph ist, und der durchgezogene Faden ein hamiltonscher pfad?
(das zum thema "Design graphs, not Algorithms", nicht dass du dir die mühe machst, irgendetwas völlig neuartiges zu erfinden)
 

Marco13

Top Contributor
"Design graphs, not Algorithms"

Das hattest du schonmal gepostet... und das erklärt auch ein bißchen deinen Ansatz bei deiner Graphenbibliothek ;) ... es könnte aber irrtierend sein, dass das ausgerechnet aus dem "Algorithm Design Manual" stammt ;) Vielleicht sollte man dazusagen, wie genau diese Empfehlung gemeint ist ... (lapidar formuliert: Es gibt einen Satz von Graphenalgorithmen, mit dem man "fast" ALLE Probleme lösen kann, wenn man sein Problem nur so in einen Graphen presst, dass die Lösung für das Graphenproblem der Lösung für das eigentliche Problem entspricht.)
 

0x7F800000

Top Contributor
jaa, dieser meiner ansatz mit einem mega-allgemeinen graphen war nur zur bedarfsermittlung des interfaces gedacht, ist wohl im allgemeinen nicht so toll anwendbar.

Was ich mit dem zitat sagen wollte bezog sich eher darauf wie man DENKT und nicht wie man das ausimplementiert. In diesem Fall sollte man eben an Graphen und Hamiltonkreis denken, dafür gibt es ja schon irgendwelche algos.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben