Berechnen Sie die Parameter von Vertikalbögen für Straßen- und Schienenentwurf. Finden Sie Höhen, K-Werte, Hoch- und Tiefpunkte und mehr für Wölbungen und Senkungen in Verkehrsprojekten.
Ein Vertikale Kurvenrechner ist ein wesentliches Werkzeug im Bauingenieurwesen, das Ingenieuren hilft, sanfte Übergänge zwischen verschiedenen Straßenneigungen zu entwerfen. Vertikale Kurven sind parabolische Kurven, die im Straßen- und Eisenbahndesign verwendet werden, um einen allmählichen Wechsel zwischen zwei unterschiedlichen Steigungen oder Neigungen zu schaffen, um komfortable Fahrbedingungen und eine ordnungsgemäße Entwässerung zu gewährleisten. Dieser Rechner vereinfacht die komplexen mathematischen Berechnungen, die für das Design von vertikalen Kurven erforderlich sind, und ermöglicht es Bauingenieuren, Straßenplanern und Bauprofis, schnell wichtige Parameter wie Kurvenhöhen, Hoch- und Tiefpunkte sowie K-Werte zu bestimmen.
Egal, ob Sie eine Autobahn, eine lokale Straße oder eine Eisenbahn entwerfen, vertikale Kurven sind entscheidend für die Sicherheit, den Fahrkomfort und das ordnungsgemäße Regenwasser-Management. Dieser umfassende Rechner behandelt sowohl Höhenkurven (bei denen die Straße ansteigt und dann abfällt) als auch Senkkurven (bei denen die Straße abfällt und dann ansteigt) und bietet alle wesentlichen Informationen, die für das richtige Design der vertikalen Ausrichtung in Verkehrsingenieurprojekten erforderlich sind.
Eine vertikale Kurve ist eine parabolische Kurve, die in der vertikalen Ausrichtung von Straßen, Autobahnen, Eisenbahnen und anderer Verkehrsinfrastruktur verwendet wird. Sie bietet einen sanften Übergang zwischen zwei unterschiedlichen Neigungen oder Steigungen und beseitigt den abrupten Wechsel, der auftreten würde, wenn die Neigungen an einem Punkt aufeinandertreffen. Dieser sanfte Übergang ist entscheidend für:
Vertikale Kurven sind typischerweise parabolisch geformt, da eine Parabel eine konstante Änderungsrate in der Neigung bietet, was zu einem sanften Übergang führt, der die Kräfte minimiert, die von Fahrzeugen und Passagieren erfahren werden.
Es gibt zwei Haupttypen von vertikalen Kurven, die im Bauingenieurwesen verwendet werden:
Höhenkurven: Diese treten auf, wenn die Anfangsneigung größer ist als die Endneigung (z.B. von +3% auf -2%). Die Kurve bildet einen Hügel oder einen hohen Punkt. Höhenkurven werden hauptsächlich basierend auf den Anforderungen an die Haltesichtweite entworfen.
Senkkurven: Diese treten auf, wenn die Anfangsneigung kleiner ist als die Endneigung (z.B. von -2% auf +3%). Die Kurve bildet ein Tal oder einen tiefen Punkt. Senkkurven werden typischerweise basierend auf der Scheinwerfersichtweite und Entwässerungsüberlegungen entworfen.
Um eine vertikale Kurve vollständig zu definieren, müssen mehrere wichtige Parameter festgelegt werden:
Die Höhe an einem beliebigen Punkt entlang einer vertikalen Kurve kann mit der quadratischen Gleichung berechnet werden:
Wo:
Der K-Wert ist ein Maß für die Flachheit der Kurve und wird berechnet als:
Wo:
Höhere K-Werte weisen auf flachere Kurven hin. Entwurfsstandards geben oft Mindest-K-Werte basierend auf der Entwurfsgeschwindigkeit und dem Kurventyp an.
Für Höhenkurven, bei denen und , oder Senkkurven, bei denen und , gibt es einen hohen oder niedrigen Punkt innerhalb der Kurve. Der Standort dieses Punktes kann berechnet werden als:
Die Höhe an diesem Hoch-/Tiefpunkt wird dann mit der grundlegenden Gleichung der vertikalen Kurve berechnet.
Gegebenenfalls können die PVC- und PVT-Stationen und -Höhen berechnet werden als:
Hinweis: Die Division durch 200 in den Höhenformeln berücksichtigt die Umwandlung der Neigung von Prozent in Dezimalform und die halbe Länge der Kurve.
Gleiche Neigungen (g₁ = g₂): Wenn die Anfangs- und Endneigungen gleich sind, ist keine vertikale Kurve erforderlich. Der K-Wert wird unendlich, und die "Kurve" ist tatsächlich eine gerade Linie.
Sehr kleine Neigungsunterschiede: Wenn der Unterschied zwischen den Neigungen sehr klein ist, wird der K-Wert sehr groß. Dies kann Anpassungen der Kurvenlänge für die praktische Umsetzung erforderlich machen.
Kurven mit null Länge: Eine vertikale Kurve mit null Länge ist mathematisch nicht gültig und sollte im Design vermieden werden.
Unser vertikaler Kurvenrechner vereinfacht diese komplexen Berechnungen und ermöglicht es Ihnen, schnell alle wichtigen Parameter für Ihr vertikales Kurvendesign zu bestimmen. Hier erfahren Sie, wie Sie ihn verwenden:
Nachdem Sie die erforderlichen Parameter eingegeben haben, berechnet der Rechner automatisch und zeigt an:
Sie können auch die Höhe an einer bestimmten Station entlang der Kurve abfragen:
Der Rechner bietet eine visuelle Darstellung der vertikalen Kurve, die zeigt:
Diese Visualisierung hilft Ihnen, die Form der Kurve zu verstehen und zu überprüfen, ob sie Ihren Entwurfsvorgaben entspricht.
Berechnungen vertikaler Kurven sind in zahlreichen Anwendungen des Bauingenieurwesens unerlässlich:
Vertikale Kurven sind grundlegende Komponenten des Straßenentwurfs, die sichere und komfortable Fahrbedingungen gewährleisten. Sie werden verwendet, um:
Zum Beispiel müssen Ingenieure bei der Planung einer Autobahn, die hügeliges Terrain durchqueren muss, vertikale Kurven sorgfältig berechnen, um sicherzustellen, dass die Fahrer ausreichend Sichtweite haben, um sicher zu stoppen, wenn ein Hindernis auf der Straße erscheint.
Im Eisenbahningenieurwesen sind vertikale Kurven entscheidend für:
Eisenbahnvertikale Kurven haben oft größere K-Werte als Straßen, da Züge weniger in der Lage sind, steile Neigungsänderungen zu navigieren.
Vertikale Kurven werden im Design von Flughafenbahnen verwendet, um:
Bei der Entwicklung von Grundstücken für Bauprojekte helfen vertikale Kurven:
Vertikale Kurven sind entscheidend beim Entwurf von:
Ein ordnungsgemäßes Design vertikaler Kurven stellt sicher, dass Wasser mit angemessenen Geschwindigkeiten fließt und Sedimentation oder Erosion verhindert wird.
Während parabolische vertikale Kurven in den meisten Anwendungen der Bauingenieurwissenschaften der Standard sind, gibt es Alternativen:
Kreisförmige vertikale Kurven: In einigen älteren Designs und in bestimmten internationalen Standards verwendet. Sie bieten eine variierende Änderungsrate in der Neigung, die für Fahrer weniger komfortabel sein kann.
Clothoid- oder Spiral-Kurven: Manchmal in spezialisierten Anwendungen verwendet, bei denen eine allmählich zunehmende Änderungsrate gewünscht wird.
Kubische Parabeln: Gelegentlich für spezielle Situationen verwendet, in denen komplexere Kurvenmerkmale erforderlich sind.
Gerade Linien-Approximationen: In sehr vorläufigen Designs oder für sehr flaches Terrain können einfache gerade Verbindungen anstelle von echten vertikalen Kurven verwendet werden.
Die parabolische vertikale Kurve bleibt der Standard für die meisten Anwendungen aufgrund ihrer Einfachheit, ihrer konstanten Änderungsrate und der gut etablierten Entwurfverfahren.
Die Entwicklung der Methodik für das Design vertikaler Kurven hat sich parallel zur Entwicklung des Verkehrsingenieurwesens entwickelt:
In den frühen Straßenbau wurden vertikale Ausrichtungen oft durch das natürliche Terrain mit minimaler Erdbewegung bestimmt. Mit der zunehmenden Geschwindigkeit und Häufigkeit von Fahrzeugen wurde der Bedarf an wissenschaftlicheren Ansätzen für das Straßen-Design offensichtlich.
Die parabolische vertikale Kurve wurde im frühen 20. Jahrhundert zum Standard, als Ingenieure ihre Vorteile erkannten:
Bis zur Mitte des 20. Jahrhunderts begannen Verkehrsbehörden, standardisierte Ansätze für das Design vertikaler Kurven zu entwickeln:
Mit dem Aufkommen von Computern wurde das Design vertikaler Kurven komplexer:
Heute entwickelt sich das Design vertikaler Kurven weiterhin mit neuer Forschung zu Fahrer- und Fahrzeugverhalten sowie Umweltüberlegungen.
Der K-Wert repräsentiert die horizontale Distanz, die erforderlich ist, um eine 1%ige Änderung der Neigung zu erreichen. Er wird berechnet, indem die Länge der vertikalen Kurve durch die absolute Differenz zwischen der Anfangs- und Endneigung geteilt wird. Höhere K-Werte weisen auf flachere, allmählichere Kurven hin. K-Werte werden oft in Entwurfsstandards basierend auf der Entwurfsgeschwindigkeit und dem Kurventyp spezifiziert.
Der Typ der vertikalen Kurve hängt von der Beziehung zwischen den Anfangs- und Endneigungen ab:
Mindest-K-Werte hängen von der Entwurfsgeschwindigkeit, dem Kurventyp und den anwendbaren Entwurfsstandards ab. Zum Beispiel stellt AASHTO Tabellen mit Mindest-K-Werten basierend auf der Haltesichtweite für Höhenkurven und der Scheinwerfersichtweite für Senkkurven zur Verfügung. Höhere Entwurfsgeschwindigkeiten erfordern größere K-Werte, um die Sicherheit zu gewährleisten.
Der Hochpunkt (für Höhenkurven) oder Tiefpunkt (für Senkkurven) tritt dort auf, wo die Neigung entlang der Kurve null ist. Dies kann mit der Formel berechnet werden:
Der Hoch-/Tiefpunkt existiert nur innerhalb der Kurve, wenn diese Station zwischen PVC und PVT liegt.
Wenn die Anfangs- und Endneigungen gleich sind, ist keine vertikale Kurve erforderlich. Das Ergebnis ist einfach eine gerade Linie mit einer konstanten Neigung. In diesem Fall wäre der K-Wert theoretisch unendlich.
Vertikale Kurven beeinflussen die Richtung und Geschwindigkeit des Wasserflusses auf Straßen. Höhenkurven erleichtern typischerweise die Entwässerung, indem sie Wasser vom höchsten Punkt ablenken. Senkkurven können potenzielle Entwässerungsprobleme am tiefsten Punkt schaffen, was häufig zusätzliche Entwässerungsstrukturen wie Einlässe oder Durchlässe erforderlich macht.
In einer standardmäßigen symmetrischen vertikalen Kurve befindet sich der PVC normalerweise halb so weit vor dem PVI wie der PVT halb so weit nach dem PVI.
Moderne Berechnungen vertikaler Kurven können extrem genau sein, wenn sie korrekt durchgeführt werden. Allerdings können Bau-Toleranzen, Feldbedingungen und Rundungen in den Berechnungen kleine Variationen einführen. Für die meisten praktischen Zwecke sind Berechnungen auf den nächsten Zentimeter oder Hundertstel Fuß ausreichend für Höhen.
Hier sind Beispiele, wie man Parameter vertikaler Kurven in verschiedenen Programmiersprachen berechnet:
1' Excel VBA-Funktion zur Berechnung der Höhe an einem beliebigen Punkt auf einer vertikalen Kurve
2Function VerticalCurveElevation(initialGrade, finalGrade, curveLength, pvcStation, pvcElevation, queryStation)
3 ' Konvertieren Sie die Neigungen von Prozent in Dezimal
4 Dim g1 As Double
5 Dim g2 As Double
6 g1 = initialGrade / 100
7 g2 = finalGrade / 100
8
9 ' Berechnen Sie die algebraische Differenz der Neigungen
10 Dim A As Double
11 A = g2 - g1
12
13 ' Berechnen Sie die Distanz vom PVC
14 Dim x As Double
15 x = queryStation - pvcStation
16
17 ' Überprüfen Sie, ob die Station innerhalb der Kurve liegt
18 If x < 0 Or x > curveLength Then
19 VerticalCurveElevation = "Außerhalb der Kurvenlimits"
20 Exit Function
21 End If
22
23 ' Berechnen Sie die Höhe mit der Gleichung der vertikalen Kurve
24 Dim elevation As Double
25 elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength)
26
27 VerticalCurveElevation = elevation
28End Function
29
30' Funktion zur Berechnung des K-Werts
31Function KValue(curveLength, initialGrade, finalGrade)
32 KValue = curveLength / Abs(finalGrade - initialGrade)
33End Function
34
1import math
2
3def calculate_k_value(curve_length, initial_grade, final_grade):
4 """Berechnen Sie den K-Wert einer vertikalen Kurve."""
5 grade_change = abs(final_grade - initial_grade)
6 if grade_change < 0.0001: # Vermeiden Sie Division durch Null
7 return float('inf')
8 return curve_length / grade_change
9
10def calculate_curve_type(initial_grade, final_grade):
11 """Bestimmen Sie, ob die Kurve eine Höhenkurve, eine Senkkurve oder keine ist."""
12 if initial_grade > final_grade:
13 return "crest"
14 elif initial_grade < final_grade:
15 return "sag"
16 else:
17 return "neither"
18
19def calculate_elevation_at_station(station, initial_grade, final_grade,
20 pvi_station, pvi_elevation, curve_length):
21 """Berechnen Sie die Höhe an einer beliebigen Station entlang einer vertikalen Kurve."""
22 # Berechnen Sie PVC- und PVT-Stationen
23 pvc_station = pvi_station - curve_length / 2
24 pvt_station = pvi_station + curve_length / 2
25
26 # Überprüfen Sie, ob die Station innerhalb der Kurvenlimits liegt
27 if station < pvc_station or station > pvt_station:
28 return None # Außerhalb der Kurvenlimits
29
30 # Konvertieren Sie die Neigungen in Dezimal
31 g1 = initial_grade / 100 # In Dezimal umwandeln
32 g2 = final_grade / 100 # In Dezimal umwandeln
33 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
34
35 # Berechnen Sie die Distanz vom PVC
36 x = station - pvc_station
37
38 # Berechnen Sie die algebraische Differenz der Neigungen
39 A = g2 - g1
40
41 # Berechnen Sie die Höhe mit der Gleichung der vertikalen Kurve
42 elevation = pvc_elevation + g1 * x + (A * x * x) / (2 * curve_length)
43
44 return elevation
45
46def calculate_high_low_point(initial_grade, final_grade, pvi_station,
47 pvi_elevation, curve_length):
48 """Berechnen Sie den Hoch- oder Tiefpunkt einer vertikalen Kurve, falls vorhanden."""
49 g1 = initial_grade / 100
50 g2 = final_grade / 100
51
52 # Hoch-/Tiefpunkt existiert nur, wenn die Neigungen entgegengesetzt sind
53 if g1 * g2 >= 0 and g1 != 0:
54 return None
55
56 # Berechnen Sie die Distanz vom PVC zum Hoch-/Tiefpunkt
57 pvc_station = pvi_station - curve_length / 2
58 x = -g1 * curve_length / (g2 - g1)
59
60 # Überprüfen Sie, ob der Hoch-/Tiefpunkt innerhalb der Kurvenlimits liegt
61 if x < 0 or x > curve_length:
62 return None
63
64 # Berechnen Sie die Station des Hoch-/Tiefpunkts
65 hl_station = pvc_station + x
66
67 # Berechnen Sie die PVC-Höhe
68 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
69
70 # Berechnen Sie die Höhe am Hoch-/Tiefpunkt
71 A = g2 - g1
72 hl_elevation = pvc_elevation + g1 * x + (A * x * x) / (2 * curve_length)
73
74 return {"station": hl_station, "elevation": hl_elevation}
75
1/**
2 * Berechnen Sie den K-Wert für eine vertikale Kurve
3 * @param {number} curveLength - Länge der vertikalen Kurve in Metern
4 * @param {number} initialGrade - Anfangsneigung in Prozent
5 * @param {number} finalGrade - Endneigung in Prozent
6 * @returns {number} K-Wert
7 */
8function calculateKValue(curveLength, initialGrade, finalGrade) {
9 const gradeChange = Math.abs(finalGrade - initialGrade);
10 if (gradeChange < 0.0001) {
11 return Infinity; // Für gleiche Neigungen
12 }
13 return curveLength / gradeChange;
14}
15
16/**
17 * Bestimmen Sie den Typ der vertikalen Kurve
18 * @param {number} initialGrade - Anfangsneigung in Prozent
19 * @param {number} finalGrade - Endneigung in Prozent
20 * @returns {string} Kurventyp: "crest", "sag" oder "neither"
21 */
22function determineCurveType(initialGrade, finalGrade) {
23 if (initialGrade > finalGrade) {
24 return "crest";
25 } else if (initialGrade < finalGrade) {
26 return "sag";
27 } else {
28 return "neither";
29 }
30}
31
32/**
33 * Berechnen Sie die Höhe an einer beliebigen Station entlang einer vertikalen Kurve
34 * @param {number} station - Abfrage-Station
35 * @param {number} initialGrade - Anfangsneigung in Prozent
36 * @param {number} finalGrade - Endneigung in Prozent
37 * @param {number} pviStation - PVI-Station
38 * @param {number} pviElevation - PVI-Höhe in Metern
39 * @param {number} curveLength - Länge der vertikalen Kurve in Metern
40 * @returns {number|null} Höhe an der Station oder null, wenn außerhalb der Kurvenlimits
41 */
42function calculateElevationAtStation(
43 station,
44 initialGrade,
45 finalGrade,
46 pviStation,
47 pviElevation,
48 curveLength
49) {
50 // Berechnen Sie PVC- und PVT-Stationen
51 const pvcStation = pviStation - curveLength / 2;
52 const pvtStation = pviStation + curveLength / 2;
53
54 // Überprüfen Sie, ob die Station innerhalb der Kurvenlimits liegt
55 if (station < pvcStation || station > pvtStation) {
56 return null; // Außerhalb der Kurvenlimits
57 }
58
59 // Konvertieren Sie die Neigungen in Dezimal
60 const g1 = initialGrade / 100;
61 const g2 = finalGrade / 100;
62
63 // Berechnen Sie die PVC-Höhe
64 const pvcElevation = pviElevation - (g1 * curveLength / 2);
65
66 // Berechnen Sie die Distanz vom PVC
67 const x = station - pvcStation;
68
69 // Berechnen Sie die algebraische Differenz der Neigungen
70 const A = g2 - g1;
71
72 // Berechnen Sie die Höhe mit der Gleichung der vertikalen Kurve
73 const elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength);
74
75 return elevation;
76}
77
1public class VerticalCurveCalculator {
2 /**
3 * Berechnen Sie den K-Wert für eine vertikale Kurve
4 * @param curveLength Länge der vertikalen Kurve in Metern
5 * @param initialGrade Anfangsneigung in Prozent
6 * @param finalGrade Endneigung in Prozent
7 * @return K-Wert
8 */
9 public static double calculateKValue(double curveLength, double initialGrade, double finalGrade) {
10 double gradeChange = Math.abs(finalGrade - initialGrade);
11 if (gradeChange < 0.0001) {
12 return Double.POSITIVE_INFINITY; // Für gleiche Neigungen
13 }
14 return curveLength / gradeChange;
15 }
16
17 /**
18 * Bestimmen Sie den Typ der vertikalen Kurve
19 * @param initialGrade Anfangsneigung in Prozent
20 * @param finalGrade Endneigung in Prozent
21 * @return Kurventyp: "crest", "sag" oder "neither"
22 */
23 public static String determineCurveType(double initialGrade, double finalGrade) {
24 if (initialGrade > finalGrade) {
25 return "crest";
26 } else if (initialGrade < finalGrade) {
27 return "sag";
28 } else {
29 return "neither";
30 }
31 }
32
33 /**
34 * Berechnen Sie die PVC-Station und -Höhe
35 * @param pviStation PVI-Station
36 * @param pviElevation PVI-Höhe in Metern
37 * @param initialGrade Anfangsneigung in Prozent
38 * @param curveLength Länge der vertikalen Kurve in Metern
39 * @return Objekt, das Station und Höhe von PVC enthält
40 */
41 public static Point calculatePVC(double pviStation, double pviElevation,
42 double initialGrade, double curveLength) {
43 double station = pviStation - curveLength / 2;
44 double elevation = pviElevation - (initialGrade / 100) * (curveLength / 2);
45 return new Point(station, elevation);
46 }
47
48 /**
49 * Berechnen Sie die PVT-Station und -Höhe
50 * @param pviStation PVI-Station
51 * @param pviElevation PVI-Höhe in Metern
52 * @param finalGrade Endneigung in Prozent
53 * @param curveLength Länge der vertikalen Kurve in Metern
54 * @return Objekt, das Station und Höhe von PVT enthält
55 */
56 public static Point calculatePVT(double pviStation, double pviElevation,
57 double finalGrade, double curveLength) {
58 double station = pviStation + curveLength / 2;
59 double elevation = pviElevation + (finalGrade / 100) * (curveLength / 2);
60 return new Point(station, elevation);
61 }
62
63 /**
64 * Innere Klasse zur Darstellung eines Punktes mit Station und Höhe
65 */
66 public static class Point {
67 public final double station;
68 public final double elevation;
69
70 public Point(double station, double elevation) {
71 this.station = station;
72 this.elevation = elevation;
73 }
74 }
75}
76
Ein Autobahndesign erfordert eine vertikale Kurve, um von einer +3% Neigung zu einer -2% Neigung überzugehen. Die PVI befindet sich bei Station 1000+00 mit einer Höhe von 150,00 Metern. Die Entwurfsgeschwindigkeit beträgt 100 km/h, was einen Mindest-K-Wert von 80 gemäß den Entwurfsstandards erfordert.
Schritt 1: Berechnen Sie die Mindestkurvenlänge
Entdecken Sie weitere Tools, die für Ihren Workflow nützlich sein könnten