Kugel selber basteln

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

LukasBanana

Betreff: Kugel selber basteln

BeitragSa, Jan 19, 2008 14:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute,

Kann mir vielleicht jemand sagen ob man nachlesen kann wie Blitz 3d die 'Sphere's aufbaut? Ich würde die Kugel kerne mal selber per 'addVertex' und 'addTriangle' zusammenbauen Smile
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana

blitzuser34

BeitragSa, Jan 19, 2008 14:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Was soll das bringen?
 

Dreamora

BeitragSa, Jan 19, 2008 14:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Indem du dir die Positionen auf der Kugeloberfläche berechnest. Wie du das am geschicktesten machst musst du dir selbst überlegen, da du es ja erreichen willst. Ich empfehle allerdings, dass du dich mit Kugelkoordinaten auseinander setzt, dann ist es recht simpel.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

LukasBanana

BeitragSa, Jan 19, 2008 19:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Koordinaten habe ich schon. Das war nicht sehr schwer. Allerdings habe ich ein Problem beim erstellen der Triangles.
Aber ich dachte vielleicht gibt es da ein fertiges Tutorial von B3D, aber wenn das so ist, ist es nicht so wichtig. Bzw. dann versuche ich es selbst noch ein bischen Cool
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana
 

Dreamora

BeitragSa, Jan 19, 2008 20:01
Antworten mit Zitat
Benutzer-Profile anzeigen
für solche Dinge gibt es keine Tutorials.
Triangulierung allgemein ist keine einfache Sache auf beliebigen Oberflächen ...

vornoi diagramme können in 2D noch aufgefahren werden ... in 3D wirds bedeutend komplexer.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Markus2

BeitragSo, Jan 20, 2008 11:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Vieleicht hilft dir das hier ?

Code: [AUSKLAPPEN]


;Super Formel !!!

;http://astronomy.swin.edu.au/~pbourke/curves/supershape/
;http://astronomy.swin.edu.au/~pbourke/surfaces/supershape3d/
;http://www.heise.de/newsticker/meldung/45863

Graphics3D 800,600,16,2
WireFrame 1

SetBuffer BackBuffer()
camera%=CreateCamera()

AmbientLight 10,10,10
li=CreateLight()
PositionEntity li,-4,-4,0
LightRange li,10

superobjekt%=CreateSuper%(8,60,100,30,1,1,  2,10,10,10, 1,1 , 36)
PositionEntity superobjekt%,0,0,4
UpdateNormals superobjekt

While Not KeyHit(1)
 ;Ich weiß, dass die Steuerung scheiße ist!!!
 RotateEntity superobjekt%,MouseX(),MouseY(),0
 RenderWorld
 Flip
Wend
End

Function CreateSuper%(m_1#,n1_1#,n2_1#,n3_1#,a_1#,b_1#,m_2#,n1_2#,n2_2#,n3_2#,a_2#,b_2#,detail%=40)

 Local r1#,r2#,phi#,theta#,alpha#,i%,j%
 Local mesh%=CreateMesh()
 Local surface%=CreateSurface(mesh%)

 alpha#=360/detail%
 phi#=-90
 r2#=super#(m_2#,n1_2#,n2_2#,n3_2#,a_2#,b_2#,phi#)
 For j%=0 To detail%-1
  theta#=j%*alpha#-180
  r1#=super#(m_1#,n1_1#,n2_1#,n3_1#,a_1#,b_1#,theta#)
  AddVertex(surface%,r1*Cos(theta#)*r2*Cos(phi#),r1*Sin(theta#)*r2*Cos(phi#),r2*Sin(phi#))
 Next

 For i%=1 To detail%/2
  phi#=i%*alpha#-90
  r2#=super#(m_2#,n1_2#,n2_2#,n3_2#,a_2#,b_2#,phi#)
  For j%=0 To detail%-1
   theta#=j%*alpha#-180
   r1#=super#(m_1#,n1_1#,n2_1#,n3_1#,a_1#,b_1#,theta#)
   AddVertex(surface%,r1*Cos(theta#)*r2*Cos(phi#),r1*Sin(theta#)*r2*Cos(phi#),r2*Sin(phi#))
  Next
  For j%=0 To detail%-1
   AddTriangle(surface%,(i%-1)*detail+j,(i%-1)*detail%+((j+1)Mod detail%),(i%)*detail%+((j+1)Mod detail%))
   AddTriangle(surface%,(i%-1)*detail+j,(i%)*detail%+((j+1)Mod detail%),i%*detail+j)
  Next
 Next
 Return mesh%
End Function

Function super#(m#,n1#,n2#,n3#,a#,b#,phi#)
 Return((Abs(Cos(m#*phi#/4)/a#))^n2#+(Abs(Sin(m#*phi#/4)/b#))^n3#)^(1/-n1#)
End Function

LukasBanana

BeitragSo, Jan 20, 2008 14:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Laughing sau cool wo hast du denn die formel her?!
DIe ist klasse danke! Very Happy
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana

Markus2

BeitragSo, Jan 20, 2008 18:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Die flog hier mal vor Jahren herum und ich hab sie archiviert Wink

LukasBanana

BeitragFr, Feb 08, 2008 22:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab mir das jetzt noch mal genauer angesehen, auch die Internetseiten die Markus2 angab, allerdings kann ich mit den Werten der Beispiele auf der Setee nicht viel anfangen.
Kann mir mal jemand sagen wie diese zu verstehen sind bzw. wie man diese richtig einsetzt?!
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group