Aktuelle Zeit: 15.11.2018 12:42

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 66 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6, 7  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: Drawing3D - Draw-Befehle für 3D-Szenen
BeitragVerfasst: 22.08.2014 21:06 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Der Koordinatenursprung ist bei Drawing3D immer in der Mitte und außerdem (x,y,z)->(right,top,front) (also wie bei OGRE)
Anders als bei OGRE ist nur, dass Größe und Längeneinheiten immer in echten Pixeln sind, solange sich die Objkte in der z=0 Ebene befinden.

Hier die Codezeile mit dem Offset und Y-Flip
Code:
DrawImage3D(#Image3D, X-OutputWidth()/2,-Y+OutputHeight()/2, 0, ImageWidth(#Image), ImageHeight(#Image), 0, 0, Random(60)-30)

_________________
Bild
 
BildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - Draw-Befehle für 3D-Szenen
BeitragVerfasst: 23.08.2014 20:08 
Offline
Benutzeravatar

Registriert: 06.07.2014 12:21
@alter Mann
Zitat:
@Silbersurfer:
Ich vergesse meist, das auch Programmierer Mathe nicht mögen deshalb hier mal den Versuch einer Erklärung.

So will Ich das mal nicht ganz sagen, nur die schreibweise ist, wenn man kein Mathe Ass ist etwas schwer zu lesen :lol:
aber Danke damit kann Ich was anfangen, werde es mal alles austesten :allright:

@Stargate
Zitat:
Edit: Da es scheinbar interesse gibt, werde ich wohl das Projekt wieder aufnehmen.

Ja das wäre Prima es ist eine schöne saubere lib, Super Arbeit Stargate :allright: :allright: :allright:

_________________
Intel Quad Core 3,2 Ghz Radeon HD6950 2GB BlitzBasic Plus 1.48 , PureBasic 5.21 LTS/5.30


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - Draw-Befehle für 3D-Szenen
BeitragVerfasst: 24.08.2014 11:09 
Offline
Benutzeravatar

Registriert: 06.07.2014 12:21
Hallo Stargate,

Ich habe noch einen kleinen Bug gefunden.
Und zwar, wenn man ein Image3D objekt Scaliert (vergrößert). Dann kommt Array-Index außerhalb der zulässigen Grenzen
Schau dir dazu dein Demo an, und vergrößere mal dein Image3D außerhalb des Fensterbereiches dann kommt der Fehler

gruss Silbersurfer

_________________
Intel Quad Core 3,2 Ghz Radeon HD6950 2GB BlitzBasic Plus 1.48 , PureBasic 5.21 LTS/5.30


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - Draw-Befehle für 3D-Szenen
BeitragVerfasst: 24.08.2014 12:05 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
silbersurfer hat geschrieben:
Dann kommt Array-Index außerhalb der zulässigen GrenzenSchau dir dazu dein Demo an, und vergrößere mal dein Image3D außerhalb des Fensterbereiches dann kommt der Fehler

Hm, komisch, kann ich weder in dem hier angebotenen Incldue noch in meinem neuen Include feststellen.
Und ja ich habe den Debugger angeschatet...
Und "theoretisch" sind auch in beiden möglichen Bereichen abfragen drin.

Kannst du mal deine Fall hochladen und/oder mir schicken ?

_________________
Bild
 
BildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - Draw-Befehle für 3D-Szenen
BeitragVerfasst: 24.08.2014 15:35 
Offline
Benutzeravatar

Registriert: 06.07.2014 12:21
Sorry Stargate,

Nach dem du vergrößert hast mußt du nochmal Rotieren. Danach kommt erst der Fehlen !

an dieser Stelle von deinem Code
Code:
Procedure.i Drawing3D_ImageColor(*Color.Drawing3D_Color, X.f, Y.f)
   Protected *Image3D.Drawing3D_Image = Drawing3DInclude\CurrentImage3D
   Protected FX.f = Mod(X**Image3D\Width+0.5, 1.0)
   Protected FY.f = Mod(Y**Image3D\Height+0.5, 1.0)
   Protected PixelX0.i = X * *Image3D\Width  - 0.5 - FX
   Protected PixelY0.i = Y * *Image3D\Height - 0.5 - FY
   Protected PixelX1.i = X * *Image3D\Width  + 0.5 - FX
   Protected PixelY1.i = Y * *Image3D\Height + 0.5 - FY
   If PixelX0 < 0 : PixelX0 = 0 : EndIf
   If PixelY0 < 0 : PixelY0 = 0 : EndIf
   If PixelX1 > *Image3D\Width-1 : PixelX1 = *Image3D\Width-1 : EndIf
   If PixelY1 > *Image3D\Height-1 : PixelY1 = *Image3D\Height-1 : EndIf
   Protected *C00.Drawing3D_Color = *Image3D\Pixel(PixelX0, PixelY0) ;<<<<<<<<<<<<<<< Hier kommt der Fehler
   Protected *C10.Drawing3D_Color = *Image3D\Pixel(PixelX1, PixelY0)
   Protected *C01.Drawing3D_Color = *Image3D\Pixel(PixelX0, PixelY1)
   Protected *C11.Drawing3D_Color = *Image3D\Pixel(PixelX1, PixelY1)
   *Color\Alpha = *C00\Alpha*(1-FX)*(1-FY) + *C10\Alpha*(FX)*(1-FY) + *C01\Alpha*(1-FX)*(FY) + *C11\Alpha*(FX)*(FY)
   *Color\Red   = *C00\Red  *(1-FX)*(1-FY) + *C10\Red  *(FX)*(1-FY) + *C01\Red  *(1-FX)*(FY) + *C11\Red  *(FX)*(FY)
   *Color\Green = *C00\Green*(1-FX)*(1-FY) + *C10\Green*(FX)*(1-FY) + *C01\Green*(1-FX)*(FY) + *C11\Green*(FX)*(FY)
   *Color\Blue  = *C00\Blue *(1-FX)*(1-FY) + *C10\Blue *(FX)*(1-FY) + *C01\Blue *(1-FX)*(FY) + *C11\Blue *(FX)*(FY)
EndProcedure


Gruss Silbersurfer

_________________
Intel Quad Core 3,2 Ghz Radeon HD6950 2GB BlitzBasic Plus 1.48 , PureBasic 5.21 LTS/5.30


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - Draw-Befehle für 3D-Szenen
BeitragVerfasst: 24.08.2014 17:24 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Hm ist vermutlich bereits in einer neuen Version gefixt, da ich dort alle Koordinaten auf "InRange" prüfe.

PS: Mit Debugger ist das Include kaum zu verweden, weils einfach zu langsam ist.

_________________
Bild
 
BildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - Draw-Befehle für 3D-Szenen
BeitragVerfasst: 24.10.2014 10:15 
Offline

Registriert: 05.07.2009 17:51
Hallo STARGATE

Vielen Dank für Ihre Arbeit
Mit Drawing3D.pbi gute Arbeit aber jetzt mit Drawing3D_Object-Struktur
dynamische Elemente Fehler auftritt mit Purebasic-530
mein PC XP 32 sp3
Herzliche Grüße

Code:
Structure Drawing3D_Object
   StructureUnion
      Type.i
      Cluster.Drawing3D_Cluster   ; ERROR Structure Dynamic nein autorisierte Structure union
      Line.Drawing3D_Line
      Triangle.Drawing3D_Triangle
   EndStructureUnion
EndStructure


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - Draw-Befehle für 3D-Szenen
BeitragVerfasst: 24.10.2014 19:30 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Du kannst diese Struktur einfach löschen, sie wird für die Ausführung des Codes nicht benötigt.

_________________
Bild
 
BildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - Draw-Befehle für 3D-Szenen
BeitragVerfasst: 24.10.2014 22:14 
Offline

Registriert: 05.07.2009 17:51
bonsoir STARGATE
Hoppla : jetzt den Code ohne diese Struktur funktioniert
Ich hatte nicht daran gedacht, zu versuchen! :roll:
Vielen Dank


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - Draw-Befehle für 3D-Szenen
BeitragVerfasst: 03.11.2014 20:16 
Offline

Registriert: 06.06.2013 20:37
Hallo STARGATE,

zunächst mal vielen Dank für dieses tolle include!
War genau was ich für meine kleine Anwendung brauchte.
Kannst du mir sagen wie man einen Farbverlauf von rot bei 220 bis grün bei 180 hinbekommt?

LG

Wolfgang

_________________
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 66 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6, 7  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye