Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

Jojo

Trainee

  • "Jojo" is male
  • "Jojo" started this thread

Posts: 94

Date of registration: Nov 16th 2005

Location: Foreign Recruit :)

Occupation: Programmierer

1

Sunday, August 10th 2008, 1:01pm

gdv VertKurs

Hallo,
ich verstehe nicht ganz wo ist der Unterschied zw Uebblatt 3 und Uebblatt 4 wo man erstmal ein JanusObjekt laedt als Parallelprojektion und nachher zentriert. Bei mir hat sich so ergeben dass meine Parallelprojektion nur dann sichtbar ist wenn ich mit bbox die breite und hoehe berechne. Hat jemand eine andere Loesung ?
Gruesse

BLUESCREEN

Junior Schreiberling

  • "BLUESCREEN" is male

Posts: 244

Date of registration: Oct 11th 2005

2

Sunday, August 10th 2008, 4:25pm

Ich glaub, darüber musst du dir keine Gedanken machen.
Wenn du das schon beim dritten Blatt gelöst hast, gibt es beim vierten Blatt eben weniger zu tun.

Jojo

Trainee

  • "Jojo" is male
  • "Jojo" started this thread

Posts: 94

Date of registration: Nov 16th 2005

Location: Foreign Recruit :)

Occupation: Programmierer

3

Sunday, August 10th 2008, 8:24pm

ja aber so verliere ich diese Option: umschalten mit Menupunkt Center View. Bei mir ist ja Center View noch bei dem ersten Laden von dem Tria-objekt.
oder anders gefragt: das laden von einem Triobjekt als Parallelprojektion bedeutet noch nicht dass man was sehen kann. Dann war ich die ganze Zeit richtig nur halt falsch die Uebblaetter interpretiert.

This post has been edited 1 times, last edit by "Jojo" (Aug 10th 2008, 8:50pm)


BLUESCREEN

Junior Schreiberling

  • "BLUESCREEN" is male

Posts: 244

Date of registration: Oct 11th 2005

4

Sunday, August 10th 2008, 9:17pm

ja aber so verliere ich diese Option: umschalten mit Menupunkt Center View. Bei mir ist ja Center View noch bei dem ersten Laden von dem Tria-objekt.


Ich sehe da kein Problem. Es soll den Menüpunkt "center view" geben und beim Laden eines Objektes soll das gleich automatisch aufgerufen werden.
Oder anders gesagt: Wenn man direkt nach dem Laden auf "center view" klickt, sollte sich die Darstellung nicht ändern. Wenn man aber nach dem Laden die Kamera rotiert hat (späteres Aufgabenblatt), kommt man mit "center view" zurück zur Ausgangsdarstellung.

Jojo

Trainee

  • "Jojo" is male
  • "Jojo" started this thread

Posts: 94

Date of registration: Nov 16th 2005

Location: Foreign Recruit :)

Occupation: Programmierer

5

Monday, August 11th 2008, 9:14am

hmmm habe es jetzt so implementiert wie Du, BLUESCREEN meintest und finde es eigentlich logisch. Danke fuer den Hinweis.

PS: Ich habe erst jetzt gesehen dass ich das Thread falsh unter AG/B-Fach geoeffnet habe, statt unet A-Katalog. Wie kann ich es moven oder das koennen nur Moderatoren?

Jojo

Trainee

  • "Jojo" is male
  • "Jojo" started this thread

Posts: 94

Date of registration: Nov 16th 2005

Location: Foreign Recruit :)

Occupation: Programmierer

6

Monday, August 11th 2008, 3:29pm

und mal wieder ein Problemchen:
wie kann ich folgendes umgehen - terminate called after throwing an instance of 'std::length_error' what(): vector::_M_fill_insert
Passiert beim resizen von einem Vektor wenn ich mein Center View ausfuehre.
Der Wert von Vektor.capacity ist 1386961910 und ist gleich der size. Laut C++ gurus dann kann man nicht Pointer verwenden und mein _sicht._Punkte.resize(inhalt->_Punkte.size()) wird aborted mit dem obengenannten Fehler

This post has been edited 1 times, last edit by "Jojo" (Aug 11th 2008, 3:31pm)


  • "Schokoholic" is male

Posts: 2,518

Date of registration: Oct 4th 2006

Location: Hannover

Occupation: Haarspaltung

7

Monday, August 11th 2008, 4:31pm

Der Wert von Vektor.capacity ist 1386961910 und ist gleich der size.

Bist du sicher, dass die Zahl stimmt? 1,3 Milliarden Objekte? Selbst wenn das Bytes wären und nicht irgendwelche Objekte hättest du damit schon 1,3 GB Speicher belegt. Denk da noch mal drüber nach. ;)

Quoted

Laut C++ gurus dann kann man nicht Pointer verwenden und mein _sicht._Punkte.resize(inhalt->_Punkte.size()) wird aborted mit dem obengenannten Fehler

Hm, was du mit "kann man nicht Pointer verwenden" meinst versteh ich gerade nicht. Ich vermute ja mal, dass es irgendwo bei dem resize() hängt. Wieso willst du das überhaupt nutzen? Von den Variablennamen _sicht und inhalt würd ich mal darauf schließen, dass du eine Kopie deines 3D-Objektes anlegst und dann die Kopie in Sichtkoordinaten transformierst. Aber dafür könnte man auch eine einfache Zuweisung nehmen:

Source code

1
_sicht.Punkte = inhalt->Punkte;


Wenn ich das falsch verstanden habe tuts mir Leid, aber mehr kann ich aus deinem Text nicht herauslesen. ;)


Übrigens, schau mal hier. Das findet man wenn man nach 'std::length_error' googlet:
http://www.aoc.nrao.edu/~tjuerges/ALMA/S…gth__error.html

Quoted

Thrown when an object is constructed that would exceed its maximum permitted size

BLUESCREEN

Junior Schreiberling

  • "BLUESCREEN" is male

Posts: 244

Date of registration: Oct 11th 2005

8

Monday, August 11th 2008, 4:46pm

terminate called after throwing an instance of 'std::length_error' what(): vector::_M_fill_insert
Passiert beim resizen von einem Vektor wenn ich mein Center View ausfuehre.
Der Wert von Vektor.capacity ist 1386961910 und ist gleich der size.


Sind das Vertices, die du da speicherst? Wo kommen die alle her? Keine der Dateien enthält so viele, also musst du irgendwo was falsch gemacht habe. Prüf mal den Code, der die Daten in den vector einfügt. Oder fehlt vllt. zwischendurch ein vector::clear()?

Jojo

Trainee

  • "Jojo" is male
  • "Jojo" started this thread

Posts: 94

Date of registration: Nov 16th 2005

Location: Foreign Recruit :)

Occupation: Programmierer

9

Monday, August 11th 2008, 5:18pm

da speichere ich die Punkte von dem TriaObjekt. Bei dem normalen Laden von dem TriaObjekt da stehen 2903. Aber wenn ich Center View waehle dann kriege diese riesige Zahl. Auf jeden Fall etwas stimmt nicht mit dem Code abe habe keine Ahnung was. Also C++ macht keinen Spass manchmal ;( Beim Center View mache ich eigentlich nichts anders als beim ersten Laden fuer die parallele Projektion.

BLUESCREEN

Junior Schreiberling

  • "BLUESCREEN" is male

Posts: 244

Date of registration: Oct 11th 2005

10

Monday, August 11th 2008, 5:47pm

Veränderst du die Vertices in deiner center-view-Funktion? Und wenn ja: warum? :D
Du musst doch nur die Slider und einige Vektoren zurücksetzen und dafür braucht man nur die Bounding Box, aber nicht alle Vertices.

Jojo

Trainee

  • "Jojo" is male
  • "Jojo" started this thread

Posts: 94

Date of registration: Nov 16th 2005

Location: Foreign Recruit :)

Occupation: Programmierer

11

Monday, August 11th 2008, 5:53pm

;) ja ganau das mache ich. Ich verwende (*inhalt) um mit bbox die grenzen zu rechnen, skalierung-Wert zu bestimmen und abstand-Wert.

This post has been edited 1 times, last edit by "Jojo" (Aug 11th 2008, 6:20pm)


Jojo

Trainee

  • "Jojo" is male
  • "Jojo" started this thread

Posts: 94

Date of registration: Nov 16th 2005

Location: Foreign Recruit :)

Occupation: Programmierer

12

Monday, August 11th 2008, 7:23pm

hat sich erledigt. Wenn ich wirklich alles implementiert hatte wie fuers Laden von TriaObj funktioniert jetzt auch das Center view. Sollte das addTriaObj nochmal aufrufen und Vertices Vektoren initialisieren damit es klappt