![]() |
1D heightmap generator
Liste der Anhänge anzeigen (Anzahl: 1)
hab mal für mein "ballerburg" spiel das ich gerade code unter anderem eine test und versuchs applikation gebaut womit ich eindimensionale heightmaps zufällig generieren lassen kann.. für jede funktion stehen diverse schieberegler für die einstellungen bereit.
ich denke mal es gibt sicherlich irgendwehn den das interressiert und vielleicht den code gebrauchen kann :) |
Re: 1D heightmap generator
das erste mal gleich: ich hab 1024*768 und dein fenster ist deutlich für mehr bestimmt :shock:
es ragt über meine startleiste und alles andere heraus :wall: ;) ARGH KLEINER MACHEN BRINGT NIX :roll: ich kanns derweil nicht testen(ich stell die auflösung jetzt nicht um ;) ) |
Re: 1D heightmap generator
jo :) hab halt bisschen mehr ;) aber dafür is ja der source dabei.....
habs halt mal schlamping hier gepostet.. is ja nur ne test app da schau ich net aufs aussehen usw sondern auf die kernfunktion |
Re: 1D heightmap generator
Ich hab auch 1024 * 768 ;)
Ähm... kleine Frage Was ist denn 1D, muss das nicht 2D heißen? :gruebel: |
Re: 1D heightmap generator
1 d ist nur eine Linie ;) bei vielen spielen die 3d sind und taktik besitzen (strategie spiele) werden bäume und Büsche 1d gezeichnet ;)
|
Re: 1D heightmap generator
Ein Linie ist bei mir 2D
Ein Punkt 1D. Ein Körper 3D. Eine Animation von Körpern 4D. Jedenfals kenn ich das so aus Mathe. |
Re: 1D heightmap generator
Genau so sehe ich das auch (4D kannte ich noch nicht ^^)
1 Punkt ist 1D, auch wenn er y und y - Koordinaten hat. 2D hat ja x und y - Koordinate ==> 2D 3D hat x, y und z - Koordinate ==> 3D 4D dachte ich, gibt's gar nicht. :roll: Naja, ist ja auch nicht so wichtig, das wird dann langsam doch zu OT. ;) |
Re: 1D heightmap generator
Zitat:
Also an alle zurück zum Thema! |
Re: 1D heightmap generator
...neee noch nicht ;)
Eine Linie ist 1D. Man kennt doch aus der Grundschule noch den guten alten Zahlenstrahl. Die Position auf diesem kann man doch mit einer Zahl angeben, gell!? Also eine Dimension. Ein Punkt ist 0-dimensional! Man kann einen Punkt im Grunde garnicht beschreiben, da er schon fast nicht mehr existiert. Was man aber wohl machen kann: Man kann einen Punkt in höherdimensionalem Kontext beschreiben, und benötigt dazu n Werte, wobei n die Dimension des Kontextes ist. Einzig und allein eine Fläche ist 2D. Um einen expliziten Punkt in einer Fläche anzufahren braucht man 2 Koordinaten. 4D ist nicht die Animation von 3D-Körpern! Man kann es als solche interpretieren, aber aus mathematischer Sicht gibt es überhaupt keinen Grund >3 Dimensionen nicht wie <3 Dimensionen zu betrachten: Als statisches System. Einzig dass der Mensch in seiner Vorstellungskraft in der Regel auf 3 Dimensionen beschränkt ist macht diese Betrachtungsweise von 4D quasi nötig. Aber was machst du jetzt mit 5D?? Ein Punkt ist auch immer noch 0D wenn er in nem 30D Raum beschrieben wird. Man braucht zwar 30 Koordinaten um seine Lage explizit zu beschreiben, aber seine Ausdehnung ist immer noch 1/Unendlich. feddisch :) |
Re: 1D heightmap generator
recht hat er ... :mrgreen:
|
Re: 1D heightmap generator
quatsch. ein punkt is 2d. hat eine seite, die x mm lang is, und eine, die y mm lang is. wenn er 1d wäre, würdest du ihn gar nich sehen.
|
Re: 1D heightmap generator
verdammt noch mal, dizzy hat recht!!!
damits nit ot wird: hast du zufällig einen für 2d? ich habs nämlich nit hingekriegt |
Re: 1D heightmap generator
Zitat:
|
Re: 1D heightmap generator
Du denkst jetzt Punkt=Pixel, gell? Ein mathematischer Punkt hat keine Ausdehnung! NIE! Du kannst einen Punkt auch nie sehen. Er ist definitiv zu klein ;). Man kann zwar kentlich machen wo er in etwa liegt, aber den Punkt an sich wirst du niemals zu Gesicht bekommen.
Wenn man sich etwas mit Matrizenrechnung beschäftigst, dann man die Dimensionalitiät einer Figur tatsächlich bestimmen, und ein Punkt ist dim(0). Eine Linie hat auch nur zu einer Seite hni eine Ausdehnung! Faktisch wirst du auch keine Linie sehen, da sie unendlich dünn ist. Der Mensch muss sich nur mit Krücken bei der Darstellung behelfen. Das ist überhaupt glaube ich dein Problem: Du trennst nicht zwischen Fakten und Darstellung. :zwinker: gruss, dizzy |
Re: 1D heightmap generator
Hallo,
du solltest Dich nicht auf solch simple Funktionen verlassen. Das sieht einfach sch**** aus... Statt dessen solltest Du eine "gesmoothte" Zufallsfunktion verwendet und danach die Punkte linear oder kubisch interpolieren. Damit erreicht man eine deutlich realistischere Darstellung einer Landschaft. |
Re: 1D heightmap generator
@dizzy:
Ich bin aber von der Mengenlehre ausgegangen! Berichtige mich wenn ich irgentwo falsch liege! R^1 = 1D => z.B. 1, 1.2, 1.111 R^2 = 2D => z.B. (1,2), (3, 1.2) ==> f(x) <- funktionen des Zweidimensionalen Raum's R^3 = 3D => z.B. (1, 2, 0.5), (3, 1.2, 3.5) ==> f(x, y) <- funktionen des 3Dimensionalen Raum's 1D Punkt x=1.182 2D Punkt f(x) an der Stelle x=x0. 2D Linie f(x)=mx+n, Df=[1, 5] 2D kann auch Flächen darstellen ==> bestimmtes Integral I(0,2) von 2 wäre ein Quadrat mit einer länge von 2 LE. 3D Punkt f(x, y) an der Stelle a=(2,3) 3D Linie f(x, y) = m*t+n (wobei m und n vektoren der dritten Dimension sind (x, y, z)T) 3D Flächen sind Ebenen ax+bx+cz=d mit eingeschränkten Definitionsbereich 3D Körper sind Flächen die Schnittgeraden habe, die wiederrum die Kanten darstellen, die wiederrunm den Def.-Bereich festlegen. |
Re: 1D heightmap generator
also 2 d ist sowas wie ein rechteck ;)
|
Re: 1D heightmap generator
wenn du mir die algorithmen gibst die mir mehr smoothheit reinbringt dann kein problem ;)
ich hab nur mit einfachsten mitteln soweit ich selber denken kann da was rein gebracht.. hab natürlich auch schon überlegt ;) ich könnte ja die täler erkennen irgendwie und dann diese auffüllen und zur tal mitte hin mit immer weniger höhen.. so würde ich dann eine spitze talecke rund machen können.... o_O aber das kann ich mir verkneifen da ich noch andere ecken meines games erstmal coden muss.. ich will nacher keine landschaft wie in worms wo auchnoch der berg "überhängen" kann und solche krassen sachen.. sondern ein simples 2D opengl game das spass macht :) |
Re: 1D heightmap generator
Zitat:
Das Problem das hier herrscht ist die Frage nach der Dimensionalität die beschrieben wird, und der Dimensionalität in der etwas beschrieben wird. Mit einer Linie die in der Form A + r*B + k*C = s (Großbuchstaben seien Vektoren beliebiger Dimensionalität, Kleinbuchstaben reelle Zahlen) beschrieben wird, beschreibst du einen 2-dimensionalen Unterraum eines höherdimensionalen Raumes. Dafür benötigst du zum einen so viele Koordinaten in den Vektoren wie der "größere" Raum an Dimensionen hat, und so viele skalierte Vektoren wie der resultierende Unterraum Dimensionen haben soll. Die Ebene hat zwei skalierte Vektoren: r*B und k*C. Deshalb ist die Ebene 2D! Es ist vollkommen pups-egal wie viele Dimensionen der Raum hat, in den du die Ebene beschreibst, also ist es genau so egal wie viele Koordinaten dazu nötig sind! Die Anzahl der nötigen Koordinaten sagt überhaupt nichts über die Dimensionalität des beschriebenen Objektes aus. Oder ist ein Punkt im 23-Dimensionalen Raum auch gleich 23-dimensional, nur weil du 23 Koordinaten brauchst um ihn zu beschreiben!? Nö! Um's konkret zu machen mal ein Punkt und eine Fläche und ein Volumen per Formel in einen 5D-Raum einbeschrieben:
Code:
Und das alles im 5-dimensionalen Raum! Ab einem 5D-Gebilde sind in diesem Raum die skalierten Vektoren auf jeden Fall linear abhängig, so dass sich in einen n-dimensionalen Raum prinzipbedingt keine (n+1)-dimensionalen Unterräume definieren lassen.
Punkt:
/ 1 \ | 2 | p = | 3 | | 4 | \ 5 / -> kein skalierter Vektor -> 0D Gerade: / 1 \ / 2 \ | 2 | | 3 | g = | 3 | + s * | 1 | | 4 | | 2 | \ 5 / \ 6 / -> ein skalierter Vektor -> 1D Ebene: / 1 \ / 2 \ / 1 \ | 2 | | 3 | | 4 | e = | 3 | + s * | 1 | + r * | 2 | | 4 | | 2 | | 3 | \ 5 / \ 6 / \ 0 / -> zwei skalierte Vektoren -> 2D (aber auch nor dann wenn die beiden linear unabhähgig sind, also nicht in die selbe Richtung zeigen. Sonst ließen sie sich zu einem skalieretn Vektor zusammenfassen, und die Dimension sinkt!) Volumen: / 1 \ / 2 \ / 1 \ / 6 \ | 2 | | 3 | | 4 | | 3 | v = | 3 | + s * | 1 | + r * | 2 | + t * | 0 | | 4 | | 2 | | 3 | | 1 | \ 5 / \ 6 / \ 0 / \ 3 / -> drei skalierte Vektoren -> 3D Eine Ebene ist nicht automatisch 5-dimensional, nur weil sie in einem 5D-Raum liegt! Die Ebene ist immer 2D, so wie ein Punkt immer 0D ist. Du kannst einen Punkt in einen 1D-Raum durch eine Koordinate beschreiben, aber der Punkt ist dim(0) - er ist lediglich ein Unterraum von 1D, und bei 1D geht nur 0D als echter Unterraum. Und wenn du einen Punkt im R³ beschreibst, so stellt er einen 0D-Unterraum dar! Wäre er 3D, müsste der "Punkt" den gesamten Raum ausfüllen! |
Re: 1D heightmap generator
Aha, du beschreibst mit Dimensionen also Punkte, Gerade, Räume.
Ich beschreibe mit Dimensionen Umgebungen. Ich habe mal mit einem Medieninformatiker diskutiert und er meint das sie Umgebung mit Dimensionen beschreiben. Das würde sich auch mit dem decken was ich im ersten Semester in Mathe gelernt habe (R³=3D;R²=2D). Deine Def. glingt schlüssig und konsequent, sind aber für mich irre führende Begriffe. Aber das hat man ja leider oft in solchen naturwissenschaftlichen Disziplinen. Übrigens: 0D klingt sehr sehr seltsam (vielleicht weil ich es hier auch zum ersten mal gelesen habe). |
Re: 1D heightmap generator
für mich klingt das alles seltsam ;)
ich habs hab auch erst ne weil nachgedacht als ich gepostet hab.. was das überhaupt für eine dimension ist was ich da mache.. draufgekommen bin ich so: 2D ist für mich eine fläche ( z.b. der bildschirm der X und Y hat aber keine optische tiefe ( 3D -> 2D )) und da meine linie die ich da generiere wenn ich sie von oben sehen würde keine dicke hat.. sondern halt nur eine länge ( und eine höhe ) ist es für mich von oben gesehen 1D.. aber wenn man sie von der seite sehen würde wäre es wieder 2D weil ja die höhenkoordinaten dazukommen würden.. naja sehr komisch das ganze ( aber mir ists wurscht welche dimension das ist ;) am schluss kommt halt ne 2D heighmap raus ( von der seite gesehen ) |
Re: 1D heightmap generator
Zitat:
Zitat:
Zitat:
Zitat:
grüzli, dizzy \\edit: @supermuckl: Stell dir vor deine ganze Welt in der du lebst ist die eine Linie. Du kannst in dieser Welt dann nur in eine einzige Richtung gehen - entlang der Linie. Du bekommst ja u.U. erst garnicht mit, dass diese Linie "schief" in einer Fläche liegt, da sich dein Horizonzt auf die eine Richtung beschränkt. Eine Linie (Gerade) ist 1D. Man kann auch eine Ebene im 5D-Raum so beschreiben, dass man tatsächlich nur 2 Koordinaten braucht! Beim "normalen" 5D-Raum nutzt du ein Koordinatensystem in dem 5 Vektoren mit der Länge 1 die Basis bilden. Das sog. Erzeugendensystem. Diese Vektoren sind: (1/0/0/0/0) (0/1/0/0/0) (0/0/1/0/0) (0/0/0/1/0) (0/0/0/0/1) Einen Punkte gibts du dann an, in dem du jeden dieser Vektoren mit einer Zahl multiplizierst, und aufaddierst. Der Punkt (1/2/3/4/5) bildet sich also durch:
Code:
Bilde ich aber das Erzeugendensystem aus den beiden Vektoren:
/ 1 \ / 0 \ / 0 \ / 0 \ / 0 \ / 1 \
| 0 | | 1 | | 0 | | 0 | | 0 | | 2 | 1 * | 0 | + 2 * | 0 | + 3 * | 1 | + 4 * | 0 | + 5 * | 0 | = | 3 | | 0 | | 0 | | 0 | | 1 | | 0 | | 4 | \ 0 / \ 0 / \ 0 / \ 0 / \ 1 / \ 5 / (1/2/3/4/0) (0/0/0/0/1) die ja auch 5D sind, so wären die Koordinaten des selben Punktes nicht mehr (1/2/3/4/5), sondern (1/5):
Code:
Und wenn irgendwo in einen Raum eine Ebene einbeschrieben ist, so geschieht das meist auf diese Weise. Man erinnere sich an die Gleichung A + k*B + r*C = p. Die sieht dem von oben verdächtig ähnlich, nicht?
/ 1 \ / 0 \ / 1 \
| 2 | | 0 | | 2 | 1 * | 3 | + 5 * | 0 | = | 3 | | 4 | | 0 | | 4 | \ 0 / \ 1 / \ 5 / Nur lassen sich mit diesem System eben nur Punkte im 5D-Raum beschreiben, die auf einer Ebenen liegen, also nicht mehr den ganzen R^5. Es gehen 3 Dimensionen verloren, und es sind auch gerade 3 Vektoren weniger im Erzeugendensystem. Also ein 2D-Unterraum im R^5. Man erzeugt sich quasi ein minderdimensionales nicht zwangsläufig rechtwinkliges (also nicht mehr kartesisches) Koordinatensystem, bei dem die beiden Parameter k und r die Koordinaten darstellen. Nur ist der Mensch das auf 1 normierte kartesische Koordinatensystem so sehr "eingeschossen", dass die Vorstellung von beliebigen Systemen nicht grad leicht fällt. alter ist das ot... mann mann *g*. Aber Mathe ist sooo geil! |
Re: 1D heightmap generator
Ähm, es ist ja hoch interessant, was hier so zusatande kommt. ;)
Ich stimme dizzy zu. Ich wollt nur mal kurz anmerken, dass es hier um einen Hightmap-Generator get, den man testen soll und Stellung dazu nimmt. :mrgreen: Ich hätte nie gedacht, dass ich durch meinen Beitrag so eine OT-Welle auslöse. :lol: Nachtrag: Achja, jetzt bitte :arrow: BACK TO TOPIC |
Re: 1D heightmap generator
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz