Praktikum 4 - "Task 2 deletePoint(Point)"

bagwell
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 109
Registriert: 15. Nov 2010 09:18

Praktikum 4 - "Task 2 deletePoint(Point)"

Beitrag von bagwell »

Hallo,

ich hab ne kleine Verständnisfrage zur Aufgabenstellung.

Kann es sein, dass zum Setzen der neuen Kanten mehrere Lösungen exisitieren?
Schließlich, kann man die frei gewordene Fläche ja auf mehrere Art und Weisen wieder in Dreiecke aufteilen.

Wenn nein, versteh ich Step 2 nicht so richtig :|

Danke und Gruß
bagwell

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: Praktikum 4 - "Task 2 deletePoint(Point)"

Beitrag von JannikV »

Solange nicht zusätzliche Anforderungen an die Triangulierung gestellt werden, was hier so weit ich das sehe nicht der Fall ist (der Kram mit Delauny scheint ja nur further reading zu sein), gibt es mehrere Lösungen, ja.

VG

Benutzeravatar
zimpfer
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 144
Registriert: 15. Mär 2009 01:07

Re: Praktikum 4 - "Task 2 deletePoint(Point)"

Beitrag von zimpfer »

bagwell hat geschrieben:Hallo,

ich hab ne kleine Verständnisfrage zur Aufgabenstellung.

Kann es sein, dass zum Setzen der neuen Kanten mehrere Lösungen exisitieren?
Schließlich, kann man die frei gewordene Fläche ja auf mehrere Art und Weisen wieder in Dreiecke aufteilen.

Ja, die Lösung ist nicht eindeutig.

Erich
Mausschubser
Mausschubser
Beiträge: 57
Registriert: 17. Okt 2010 13:29

Re: Praktikum 4 - "Task 2 deletePoint(Point)"

Beitrag von Erich »

In step 2 you have to set new edges to the triangulation.
Soll das heißen, es sollen/es reicht wenn nur neue Edge-Objekte hinzugefügt werden ( würde mir das Leben erheblich vereinfachen^^) oder soll es am Ende schon eine vollwertige Triangulation sein?

Eric_B
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 112
Registriert: 14. Okt 2010 22:44

Re: Praktikum 4 - "Task 2 deletePoint(Point)"

Beitrag von Eric_B »

Die entstehenden Triangles sollst natürlich auch erstellen :D und die gelöschten eben löschen.

bagwell
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 109
Registriert: 15. Nov 2010 09:18

Re: Praktikum 4 - "Task 2 deletePoint(Point)"

Beitrag von bagwell »

Ich bin jetzt bei der Aufgabe so weit, dass ich weiß welche Edge zu löschen sind und welche Triangles zu erstellen.
Um genau zu sein erstelle ich auch bereits die neuen Triangle Objekte.

Ich weiß nur nicht, wie ich diese jetzt in die Triangulation einfügen soll =/
Hat jemand ein paar Denkanstöße für mich parat?

Danke im Voraus!

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: Praktikum 4 - "Task 2 deletePoint(Point)"

Beitrag von JannikV »

In allen kanten aus denen das Dreieck besteht eine Referenz auf das neue Dreieck setzen.

lulu
Windoof-User
Windoof-User
Beiträge: 24
Registriert: 26. Okt 2011 17:20

Re: Praktikum 4 - "Task 2 deletePoint(Point)"

Beitrag von lulu »

Hallo,

ich gehe so vor:
suche alle Kanten, deren T1 bzw. T2 eine der zu löschenden Dreiecken ist und setzte T1 bzw. T2 auf null.
ich gehe davon aus, dass dadurch die Dreiecken gelöscht werden. ist das richtig?

ich speichere die randkanten und die points in zwei verschiedene listen, weil ich dachte, die werde ich beim erstellen neuen Dreiecken brauchen.
ich habe aber keine ahnung wie ich jetzt die neue Triangles erstellen muss. :oops:
kann jemand vielleicht mir helfen?

danke im Voraus

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: Praktikum 4 - "Task 2 deletePoint(Point)"

Beitrag von JannikV »

lulu hat geschrieben:Hallo,

ich gehe so vor:
suche alle Kanten, deren T1 bzw. T2 eine der zu löschenden Dreiecken ist und setzte T1 bzw. T2 auf null.
ich gehe davon aus, dass dadurch die Dreiecken gelöscht werden. ist das richtig?
Jap.
lulu hat geschrieben:ich speichere die randkanten und die points in zwei verschiedene listen, weil ich dachte, die werde ich beim erstellen neuen Dreiecken brauchen.
ich habe aber keine ahnung wie ich jetzt die neue Triangles erstellen muss. :oops:
kann jemand vielleicht mir helfen?

danke im Voraus
Ob du die Punkte brauchst weiß ich nicht. Eher nicht, ka.
Ist deine Liste der Randkanten denn in einer Reihenfolge? Wäre nützlich. Überleg mal was du machen könntest wenn du die Randkanten so in der Liste stehen hättest dass sie in der Triangulation hintereinander liegen wenn man daran entlang läuft.

VG

Cupido
Windoof-User
Windoof-User
Beiträge: 30
Registriert: 18. Apr 2012 16:31

Re: Praktikum 4 - "Task 2 deletePoint(Point)"

Beitrag von Cupido »

Hallo,

wollte mal fragen, ob es in der Triangulation Klasse so vorgesehen ist, dass man die Methode getTriangle nicht benutzen kann.
Wäre evtl. hilfreich diese Methode global innerhalb der Klasse in deletePoint zu nutzen.
Gruß
"Ich habe keine Macken, das sind Special Effects!"

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: Praktikum 4 - "Task 2 deletePoint(Point)"

Beitrag von JannikV »

Hi, natürlich kannst du die in Task 1 geschriebene Methode verwenden wenn sie dich in Task 2 weiterbringt.
Aber was meinst du mit global nutzen?

VG

Cupido
Windoof-User
Windoof-User
Beiträge: 30
Registriert: 18. Apr 2012 16:31

Re: Praktikum 4 - "Task 2 deletePoint(Point)"

Beitrag von Cupido »

JannikV hat geschrieben:Aber was meinst du mit global nutzen?
VG
Hi,
eigentlich nur, dass ich Methode getTriangle statisch haben wollte, um sie in anderen aufrufen zu können.
Aber auch nur, wenn sie mich weiterbringt. :)

gruß
"Ich habe keine Macken, das sind Special Effects!"

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: Praktikum 4 - "Task 2 deletePoint(Point)"

Beitrag von JannikV »

Du brauchst sie nicht statisch. Wenn du deletePoint als nicht statische Methode implementierst kannst du davon ausgehen, dass im Moment der Ausführung ein Triangulation Objekt existiert. Daher ist es in dem Moment ebenfalls möglich die nicht statische getTriangle Methode aufzurufen.

Im Übrigen würde es mit statischen Methoden gar nicht funktionieren. Denn entscheidend für das Ergebnis von getTriangle und deletePoint ist der Zustand der Triangulation. Auf dieser konkreten Struktur wird ja gearbeitet. Und wennn die Methode statisch ist ist kein Objekt der Klasse Triangulation notwendig um die Methoden auszuführen. Doch was sollen die dann bitte machen? ;)

Also, ruhig alles nicht-statisch lassen und benutzen wenn du es brauchst.

VG

Cupido
Windoof-User
Windoof-User
Beiträge: 30
Registriert: 18. Apr 2012 16:31

Re: Praktikum 4 - "Task 2 deletePoint(Point)"

Beitrag von Cupido »

JannikV hat geschrieben: Doch was sollen die dann bitte machen? ;)VG
... klar drauf arbeiten :idea:

Machmal sieht man vor lauter Triangles die Triangulation nicht mehr :)

thx 4 advice
"Ich habe keine Macken, das sind Special Effects!"

Antworten

Zurück zu „Archiv“