Mesh Fläche erstellen
Übersicht

![]() |
dav3d |
![]() Antworten mit Zitat ![]() |
---|---|---|
sry hab grad ne Pause gemacht ![]() ![]() Nun erstens echt vielen Dank für die Codes!! ![]() wege dem:"ich sollte eure Codes auch mal versuchen zu verstehen"und "du hast mein Zitat definitiv nicht gelesen". Erstens hab ich jeden einzelnen Tipp, Code , Hinweis,... etc ausprobiert und mich damit beschäftigt, und wenn du den Zitat meinst wo du die coords zuweisung erklärst, klar habe ich den gelesen, ich sagte ya du basierst auf der selben Idee wie ich. Bitte behaupte nicht was du nicht weisst, wenn du mir hilfst wie du es auch tust bin ich sehr dankbar, wenn aber nicht hab ich da auch kein Problem, aber bitte kritisier mich nicht so. ![]() noch mal Danke für alles ich denk das Problem hat sich gelöst könnt aber natürlich ruhig weiterposten. |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das Problem warum 'Array index out of bounds' kommt ist folgender...
size=20 Dim(size*size) ergibt 400 Alle Maximalwerte von (z*(size+1) + x) = (20*(20+1) + 20) ergeben 440 Soviel kann das vordefinierte Array 'nicht' speichern und meldet die Fehlermeldung. Auch wenn dieser Fehler bei ausgeschaltetem Debugger nicht auftritt, sollte man ein Programm in solcher Form nicht verkaufen/verbreiten... Es kann immer sein das dieses bei anderen System zu einem Absturz führt... Entweder du korregierst den Fehler mit eigenen Überlegungen oder wartest bis eventuell Dremora es tut (weil 'niemand' gern eigenen 'fehlerhaften' Code in der Öffentlichkeit verbreitet) oder nimmst die zweidimensionale Array-Geschichte... Aber du wolltest aus einem mir noch unbekannten Grund nicht auf sowas 'umsteigen'... |
||
![]() |
dav3d |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für den Hinweis, ich werde sehen was ich tu, 2D Arrays sind auch gut nur fand ich es einfacher mit einem 1D Array da alle vertices in einem Stapel speichern wollte, dann sollte mein Code so funktionieren:
for tx=0 to (size^2)-size ; -size da die letzte Spalte schon bei der zweitletzten verwendet wirt v0=ve(tx+1) der vertex eins hinten v1=ve(tx+1+size) der vertex eins hinten und rechts(eine Spalte weiter) v3=ve(tx) der vertex auf dem aktuellen platz v2=ve(tx+size) der vertex auf dem aktuellen platz eine Spalte weiter |
||
![]() |
dav3d |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nun ist das Problem definitiv gelöst! ![]() Ich hab die Codeversion von hectic genommen -kapier jetzt das mit den 2D Array- und hab noch folgende verenderungen vorgenommen: Code: [AUSKLAPPEN] size=20
Dim ve(size,size) For z=0 To size-1 ; bei beiden "-1" da man ya bei 0 anfängt For x=0 To size-1 ; ve(x,z)=AddVertex (surface,x,0,z) Next Next For z=0 To size-2 ; hier -2 da die letzte Spalte mit der vorherigen verwendet wirt und nicht weiter benötigt wirt. For x=0 To size-1 v0=ve(x,z) v1=ve(x,z+1) v2=ve(x+1,z+1) v3=ve(x+1,z) AddTriangle surface,v0,v1,v2 AddTriangle surface,v0,v2,v3 Next Next Yuhuuu!! Danke nochmal für die Unterstüzung ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group