2011-01-03 5 views
3

Ich versuche eine Anwendung zu machen, die Bild in Puzzles schneidet. Mein Problem ist, dass ich nicht weiß, wie man das macht (irgendeine Art von Algorithmus). Ich möchte männliche und weibliche Enden von Puzzles haben, aber nicht immer an der gleichen Stelle (wie in der Mitte der Puzzle-Grenze) so das: https://stackoverflow.com/questions/2755389/how-to-create-jigsaw-image-puzzle-using-c Lösung passt mir nicht.Jigsaw Puzzle, schneiden Stücke aus Bild

Gibt es irgendeinen "intelligenten" Algorithmus, um dies zu erreichen? Ich habe über Bezierkurven nachgedacht, aber ich weiß nicht, wie ich das richtig machen soll.

Antwort

3

Sie könnten einen zufälligen Offset verwenden. Sie speichern für jede Seite die Art der Interaktion (dh männlich oder weiblich), den Ankertyp (Sie könnten einen Satz unterschiedlich aussehender "Anker" verwenden und den Versatz verwenden.

Diese Marke für die einfache Kontrolle: Sie müssen gleiche Anker haben, gleiche Offset und andere Art für die zweiteilige Lage sein

Bezug auf verlinken
Guillaume

+2

Überprüfen von Stücken ist viel einfacher. Sie müssen nur Ihre Stücke nummerieren und jedem Stück eine Anzahl seiner Nachbarn zuweisen, dann überprüfen Sie einfach Ihre Zahlen. – Ertai

+0

hat nicht einmal daran gedacht! Manchmal ist das Offensichtliche wirklich schwerer zu sehen. Danke für die Bemerkung –

0

Randomisierung ist Ihr Retter! Wird die Position der Kurve nicht zufällig randomisiert?

+0

Vielleicht ... aber ich dachte ... es gibt einige Bezier-Kurven, die ein 3D-Ei erzeugen können ... vielleicht gibt es einige, die mit einer kleinen Randomisierung eine Puzzlezeile (horizontal und vertikal gemischt) ergeben können. – Ertai