Mathe Frage [erledigt]

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

onkelz89

Betreff: Mathe Frage [erledigt]

BeitragFr, Okt 02, 2009 11:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

möchte ein Grassystem bauen.
Ich hänge am herausfinden der Höhe... es ist KEIN BlitzTerrain


Ich habe immer 4 Höhen

1---2
. --- .
. --- .
3---4
(soll von oben ein Viereck meines Terrains darstellen)

wie kann ich nun anhand einer zufälligen X und Z Koordinate - die jeweilige Y berechnen?

Ich hoffe ihr könnt damit was anfangen Rolling Eyes


Mein Ansatz bisher (die Länge zwischen 2 Ecken ist immer 80):

( (Höhe1 - H2) / 80 * X ) + ( (Höhe1 - H3) / 80 * Z ) ) / 2 = Y ! Ist aber ganz falsch
  • Zuletzt bearbeitet von onkelz89 am Fr, Okt 02, 2009 14:04, insgesamt einmal bearbeitet

Noobody

BeitragFr, Okt 02, 2009 12:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man davon ausgeht, dass die Koordinaten X und Z in deiner Zeichnung von der linken oberen Ecke ausgehen und die Y-Werte der Eckpunkte in deiner Zeichnung gleich numeriert sind, würde die Formel so aussehen Code: [AUSKLAPPEN]
Local X# = RandomX/80.
Local Z# = RandomZ/80.

Local Y# = Y1#*( 1 - X# )*( 1 - Z# ) + Y2#*X*( 1 - Z# ) + Y3#*( 1 - X# )*Z# + Y4#*X*Z#
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun
 

onkelz89

BeitragFr, Okt 02, 2009 13:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die schnelle Antwort Smile

Hat halb geklappt. Die Grasbüschel sind in der richtigen Höhe, aber nicht am richtigen Punkt (X/Z)

Code: [AUSKLAPPEN]
For i=0 To 10
gras.gras = New gras
gras\obj = CopyEntity(O11_gras)
SaveX#=Rand(80)/80
SaveZ#=Rand(80)/80
SaveY=Planet(world_koord_x+x,world_koord_z+z,1)*( 1 - SaveX# )*( 1 - SaveZ# ) + Planet(world_koord_x+x+1,world_koord_z+z,1)*SaveX*( 1 - SaveZ# ) + Planet(world_koord_x+x,world_koord_z+z+1,1)*( 1 - SaveX# )*SaveZ# + Planet(world_koord_x+x+1,world_koord_z+z+1,1)*SaveX*SaveZ#


               
PositionEntity gras\obj,(world_koord_x+x)*80+SaveX#*80,SaveY,(world_koord_z+z)*80+SaveZ#*80
Next


Okay habs, die /80 muss gegen /80.0 ersetzt werden...


Vielen Dank für die Hilfe Smile Smile Smile

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group