Wie erstelle ich simple Splines??
Übersicht

Cedric30003Betreff: Wie erstelle ich simple Splines?? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey Leute!!
Ich möchte in Zusammenarbeit mit PhillipB Splines erstellen, welche man auch aneinander anheften kann. Wir möchten mit Hilfe einer Radiuseingabe den Winkel einer Spline fetslegen, desto niedriger der Wert, desto schärfer die Kurve. Wäre soetwas umsetzbar? Bis jetzt haben wir nur theoretische, aber keine praktische Arbeit verrichtet, da uns einfach der Weg fehlt, wie soetwas umzusetzen ist. Am Ende sollen sie mit WayPoints verknüpft werden, so dass ein Objekt über den Nullgrad der Spline sich bewegt. Wie setzt man soetwas um? Danke im Voraus MfG Cedric & PhillipB |
||
Windows 7 Enterprise (x64) | AMD Athlon II X4 620 (4x2,61GHz) | 8GB RAM | nVIDIA GeForce 9500GT (1024MB) |
![]() |
ZEVSBetreff: Splines |
![]() Antworten mit Zitat ![]() |
---|---|---|
Als theorethische Arbeit setze ich mal vorraus, dass ihr immer für zwei aneinanderliegende Knoten eine Funktionsgleichung berechnet (was ihr mit Winkel und Radius meint, ist mir schleierhaft. Splines sind für mich aneinandergereihte Funktionen beliebigen Grades). Entsprechend könnt ihr in einer For-Schleife einfach jeden X-Wert überprüfen, die richtige Funktionsgleichung heraussuchen und den Y-Wert ermitteln. Bei der Objektanimation sind die Y-Werte genauso zu berechnen. Wenn ihr die Splines aneinandersetzen wollt, muss einfach immer der letze Knoten der vorhergehenden mit dem ersten der nächsten übereinstimmen.
Zwei Tipps: Der Koordinatenursprung ist beim Zeichnen links oben. Entsprechend müssen die Y-Werte gespiegelt werden. Ich (und ich denke viele andere auch) wusste nicht, was Splines überhaupt sind. Da Wikipedia immer sehr komprimiert ist, wäre eine allgemein verständlichere Problemschilderung immer besser Ich hoffe, dass ich euch soweit helfen konnte |
||
![]() |
darth |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
Aufruf für die Worklog-Suchfunktion (nach Worten im Worklog) \o/ Würde wahrscheinlich die ganzen Suchergebnisse zerstören, weil zuviel Mist kommt, aber egal. Damit hättet ihr sowas gefunden: https://www.blitzforum.de/worklogs/292/#2342 \o/ Splines \o/ MfG, Darth |
||
Diese Signatur ist leer. |
Cedric30003 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also ich meine soetwas
http://upload.wikimedia.org/wi...lation.svg Quelle: Wikipedia.org Aber das ganze halt mit beispielsweise einer Straße (also das schwarze) |
||
Windows 7 Enterprise (x64) | AMD Athlon II X4 620 (4x2,61GHz) | 8GB RAM | nVIDIA GeForce 9500GT (1024MB) |
![]() |
ZEVSBetreff: Winkel und Radius |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich sehe in der Grafik weder Winkel noch Radius, von denen die Rede war.
An sich reichen aber die gegeben Informationen (eigentlich ja nur die roten Knoten) nicht aus, um eine eindeutige Spline festzulegen. Bis das klar ist, sehe ich mich (und viele andere) außer stande, euch zu helfen. Offsensichtlich hat darth aber ein vielversprechendes Framework gefunden. |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
http://de.wikipedia.org/wiki/Spline
sollte dir ja schon bekannt sein, erläuternd dazu noch: http://de.wikipedia.org/wiki/B%C3%A9zierkurve Hier steht eigentlich alles was man dazu wissen muss, und es sollte daraus auch klar werden dass man bei Splines keine Radii angibt sondern eben Stützpunktewelche die Interpolationsbasis für den Kurvenverlauf darstellen. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Sir Gauss der III |
![]() Antworten mit Zitat ![]() |
---|---|---|
Als Denkanstoss, auch wenn es kein Spline ist, würde ich vollgendes Vorschlagen wenn es euch hauptsächlich um variabe Kurfen geht, die mit einer Strecke untereinander verbunden sind:
* Ihr zieht zwei Gerade, die im gewünschten winkel zueinander verlaufen ( < ). * Zu den beiden erstellt ihr je eine Parallele nach innen versetzt mit dem Abstand des gewünschten Radius. ( << ) * Schnittpunkt der innenliegenden geraden ist der Mittelpunkt des Kreises * Gerade und kreise werden zu ihren Berührungspunkten gekürzt (innenliegende Geraden löschen) usw. viel einfacher wäre, wenn ihr veorgefertigte Bauelemente nehmt und die Landschaft in ein Raster unterteilt. dann habt ihr definierte start und endpunkte jedes bauteils und fügt diese nur noch zusammen. gruß Sir Gauss |
||
Cedric30003 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Sir Gauss der III:
Könntest du es vielleicht einmal grafisch darstellen, da ich deine Antwort mir nicht wirklich vorstellen kann. Danke im Voraus Cedric A. |
||
Windows 7 Enterprise (x64) | AMD Athlon II X4 620 (4x2,61GHz) | 8GB RAM | nVIDIA GeForce 9500GT (1024MB) |
![]() |
The Shark |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da ich sowohl Zeit als auch Lust hatte: Bitteschön
Mit d kannst den radius verändern. |
||
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen dank dafür aber das löst leider unser Problem nicht da wir das ja in auswirkung von 3d objekten haben wollen.
Wir wollen auch nicht viele Objekte erstellen das wäre echt zu viel Aufwand. Diese Spline sollte aus einem Grundobjekt besten was zusammen gerückt wird je nach Eingabe. mfg PhillipB. |
||
![]() |
Sir Gauss der III |
![]() Antworten mit Zitat ![]() |
---|---|---|
Habs mal schnell skizziert.
![]() Legende: Schwarz = Gerade, später gerade Wegteile Gelb = Kreis, Später Wegkurfen Rot = Parallele zum Weg Blau = Abstand der Paralelle (gleiches Maß ( Radius des kreises)) Grün = Schnittpunkt der Paralellen und Mittelpunkt Kreis Dann gilt es noch, Kreis und Geraden richtig zu kürzen damit sie sich verbinden. PÜunkte auf dem kreis (als Wegpunkte) können über dessen Radius einfach verteilt werden. Naja, und ne Rückmeldung ob ihr es so anwendet oder nicht bzw. obs half wäre interessant. gruß Sir Gauss Edit: ich fände es immer noch sinnvoller vorgefertigte Elemente zu nutzen (viertelskreis, Halbkreis, gerade mit start und endpunkten, S kurfen ...) und diese über einzelne Wegpunkte und verschiedene Größen eingeben. |
||
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ Sir Gauss der III
Ja das hat uns schon etwas gebracht doch jetzt die Frage ob es eine einfache Möglichkeit gibt das man irgentwie aus einem kurzen Stück dann so einen Kreis formt. Also das das programm aus einer geraden (3d Modell) eine Kurve erstellt mit den Radien .... mfg PhillipB. |
||
STRINGS - Einige tragen sie|wir programmieren sie! ![]() |
- Zuletzt bearbeitet von PhillipB am Mo, Jul 04, 2011 21:48, insgesamt einmal bearbeitet
Cedric30003 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Sir Gauss der III: Erstmal Danke, dass du dir die Mühe gemacht hast, das alles so aufzuzeichnen, das Prinzip ist mir jetzt einigermaßten klar.
Da es ja keine andere Lösung gibt, werden uns wohl an vorgefertigten Objekten orientieren müssen @PhillipB Es heißt Kurve |
||
Windows 7 Enterprise (x64) | AMD Athlon II X4 620 (4x2,61GHz) | 8GB RAM | nVIDIA GeForce 9500GT (1024MB) |
![]() |
Sir Gauss der III |
![]() Antworten mit Zitat ![]() |
---|---|---|
hm, ein 3d Modell zu ändern geht schon. ich habe mich jetzt noch nicht direkt mit befasst, daher ist jetzt alles mal etwas unsicher was ich so in den Raum werfe.
mit dem Befehl TriangleVertex können die einzelnen Vertexpunkte (ecken der Dreiecke eines mesh) gewählt werden, mit VertexCoords können sie verschoben werden. In der Theorie würde ich nun so vorgehen, dass ich wie oben beschrieben eine Kurve erstelle. auf dieser Kurve verteile ich nun, ganz gleich wie lang sie ist, eine bestimmte Anzahl an punkte (z.B. 10). nun verschiebe ich von meinem Straßen\Schienenmesh meine Vertexpunkte zu den Kurvenpunkte. Nun, obs so geht sei mal dahin gestellt. gruß Sir Gauss |
||
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
So in etwa verstehe ich das gibt es einen Beispiel code für soetwas?
mfg PhillipB. |
||
STRINGS - Einige tragen sie|wir programmieren sie! ![]() |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group