Vypočítejte parametry vertikálních křivek pro návrh silnic a železnic. Zjistěte výšky, K hodnoty, vysoké/nízké body a další pro vrcholové a sag křivky v dopravních projektech.
Kalkulátor vertikální křivky je nezbytným nástrojem ve stavebním inženýrství, který pomáhá inženýrům navrhovat hladké přechody mezi různými svahy silnic. Vertikální křivky jsou parabolické křivky používané při návrhu silnic a železnic k vytvoření postupné změny mezi dvěma různými sklony nebo gradienty, což zajišťuje pohodlné podmínky jízdy a správný odtok vody. Tento kalkulátor zjednodušuje složité matematické výpočty potřebné pro návrh vertikálních křivek, což umožňuje stavebním inženýrům, návrhářům silnic a stavebním profesionálům rychle určit klíčové parametry, jako jsou výšky křivky, vysoké a nízké body a hodnoty K.
Ať už navrhujete dálnici, místní silnici nebo železnici, vertikální křivky jsou kritické pro bezpečnost, pohodlí řidičů a správu dešťové vody. Tento komplexní kalkulátor se zabývá jak vrcholovými křivkami (kde silnice stoupá a pak klesá), tak prohlubňujícími křivkami (kde silnice klesá a pak stoupá), poskytující všechny nezbytné informace potřebné pro správný návrh vertikálního zarovnání v projektech dopravního inženýrství.
Vertikální křivka je parabolická křivka používaná ve vertikálním zarovnání silnic, dálnic, železnic a jiné dopravní infrastruktury. Poskytuje hladký přechod mezi dvěma různými sklony nebo svahy, čímž eliminuje náhlou změnu, která by nastala, kdyby se svahy setkaly v jednom bodě. Tento hladký přechod je nezbytný pro:
Vertikální křivky jsou typicky parabolické, protože parabola poskytuje konstantní rychlost změny v gradientu, což vede k hladkému přechodu, který minimalizuje síly, kterým jsou vozidla a cestující vystaveni.
Existují dva hlavní typy vertikálních křivek používaných ve stavebním inženýrství:
Vrcholové křivky: Tyto nastávají, když je počáteční sklon větší než konečný sklon (např. přechod z +3% na -2%). Křivka tvoří kopec nebo vysoký bod. Vrcholové křivky jsou primárně navrženy na základě požadavků na zastavení viditelnosti.
Prohlubňující křivky: Tyto nastávají, když je počáteční sklon menší než konečný sklon (např. přechod z -2% na +3%). Křivka tvoří údolí nebo nízký bod. Prohlubňující křivky jsou typicky navrženy na základě viditelnosti světlometů a úvah o odtoku.
Aby byla vertikální křivka plně definována, musí být stanoveno několik klíčových parametrů:
Výška v jakémkoli bodě podél vertikální křivky může být vypočtena pomocí kvadratické rovnice:
Kde:
Hodnota K je měřítkem plochosti křivky a vypočítává se jako:
Kde:
Vyšší hodnoty K naznačují plochější křivky. Návrhové standardy často specifikují minimální hodnoty K na základě návrhové rychlosti a typu křivky.
Pro vrcholové křivky, kde a , nebo pro prohlubňující křivky, kde a , bude existovat vysoký nebo nízký bod v rámci křivky. Stanice tohoto bodu lze vypočítat jako:
Výška v tomto vysokém/nízkém bodě se pak vypočítá pomocí základní rovnice vertikální křivky.
Vzhledem k stanici a výšce PVI lze vypočítat PVC a PVT jako:
Poznámka: Dělení 200 v rovnicích výšky zohledňuje převod gradientu z procent na desetinnou formu a polovinu délky křivky.
Rovné sklony (g₁ = g₂): Když jsou počáteční a konečné sklony shodné, není potřeba žádná vertikální křivka. Hodnota K se stává nekonečnou a "křivka" je ve skutečnosti přímka.
Velmi malé rozdíly ve sklonu: Když je rozdíl mezi sklony velmi malý, hodnota K se stává velmi velkou. To může vyžadovat úpravy délky křivky pro praktickou implementaci.
Křivky s nulovou délkou: Vertikální křivka s nulovou délkou není matematicky platná a měla by být v návrhu vyhnuta.
Náš kalkulátor vertikální křivky zjednodušuje tyto složité výpočty, což vám umožňuje rychle určit všechny klíčové parametry pro návrh vaší vertikální křivky. Zde je návod, jak jej používat:
Po zadání požadovaných parametrů kalkulátor automaticky vypočítá a zobrazí:
Můžete také dotazovat výšku na jakékoli specifické stanici podél křivky:
Kalkulátor poskytuje vizuální reprezentaci vertikální křivky, která ukazuje:
Tato vizualizace vám pomáhá pochopit tvar křivky a ověřit, že splňuje vaše návrhové požadavky.
Výpočty vertikálních křivek jsou nezbytné v mnoha aplikacích stavebního inženýrství:
Vertikální křivky jsou základními komponenty návrhu silnic, které zajišťují bezpečné a pohodlné jízdní podmínky. Používají se k:
Například při návrhu dálnice, která musí překonat kopcovitý terén, musí inženýři pečlivě vypočítat vertikální křivky, aby zajistili, že řidiči mají dostatečnou viditelnost k zastavení, pokud se na silnici objeví překážka.
Ve železničním inženýrství jsou vertikální křivky kritické pro:
Železniční vertikální křivky mají často větší hodnoty K než silnice kvůli omezené schopnosti vlaků navigovat strmými změnami sklonu.
Vertikální křivky se používají při návrhu letištních ranvejí k:
Při rozvoji pozemků pro stavební projekty pomáhají vertikální křivky:
Vertikální křivky jsou nezbytné při návrhu:
Správný návrh vertikální křivky zajišťuje, že voda proudí při vhodných rychlostech a zabraňuje sedimentaci nebo erozi.
Zatímco parabolické vertikální křivky jsou standardem v většině aplikací stavebního inženýrství, existují alternativy:
Kruhové vertikální křivky: Používají se v některých starších návrzích a v určitých mezinárodních standardech. Poskytují měnící se rychlost změny sklonu, což může být pro řidiče méně pohodlné.
Clothoid nebo spirálové křivky: Někdy se používají v specializovaných aplikacích, kde je žádoucí postupně se zvyšující rychlost změny.
Kubické paraboly: Příležitostně se používají pro speciální situace, kde jsou potřeba složitější vlastnosti křivky.
Přímé aproximace: V velmi předběžných návrzích nebo pro velmi plochý terén mohou být místo skutečných vertikálních křivek použity jednoduché přímkové spojení.
Parabolická vertikální křivka zůstává standardem pro většinu aplikací díky své jednoduchosti, konzistentní rychlosti změny a dobře zavedeným návrhovým postupům.
Vývoj metodologií návrhu vertikálních křivek se vyvíjel spolu se stavebním inženýrstvím:
V rané výstavbě silnic byly vertikální zarovnání často určována přirozeným terénem s minimálním vyrovnáváním. Jak se vozidla stala rychlejšími a běžnějšími, potřeba vědecky přístupných metod návrhu silnic se stala zřejmou.
Parabolická vertikální křivka se stala standardem na počátku 20. století, když inženýři rozpoznali její výhody:
Do poloviny 20. století začaly dopravní agentury vyvíjet standardizované přístupy k návrhu vertikálních křivek:
S příchodem počítačů se návrh vertikálních křivek stal sofistikovanějším:
Dnes se návrh vertikálních křivek stále vyvíjí s novým výzkumem o chování řidičů, dynamice vozidel a environmentálních úvahách.
Hodnota K představuje horizontální vzdálenost potřebnou k dosažení 1% změny v gradientu. Vypočítává se dělením délky vertikální křivky absolutním rozdílem mezi počátečními a konečnými sklony. Vyšší hodnoty K naznačují plochější, postupnější křivky. Hodnoty K jsou často specifikovány v návrhových standardech na základě návrhové rychlosti a typu křivky.
Typ vertikální křivky závisí na vztahu mezi počátečním a konečným sklonem:
Minimální hodnoty K závisí na návrhové rychlosti, typu křivky a platných návrhových standardech. Například AASHTO poskytuje tabulky minimálních hodnot K na základě zastavení viditelnosti pro vrcholové křivky a viditelnosti světlometů pro prohlubňující křivky. Vyšší návrhové rychlosti vyžadují větší hodnoty K, aby se zajistila bezpečnost.
Vysoký bod (pro vrcholové křivky) nebo nízký bod (pro prohlubňující křivky) nastává, když je gradient podél křivky roven nule. To lze vypočítat pomocí vzorce:
Vysoký/nízký bod existuje pouze v rámci křivky, pokud tato stanice spadá mezi PVC a PVT.
Pokud jsou počáteční a konečné sklony shodné, není potřeba vertikální křivka. Výsledkem je jednoduše přímka s konstantním sklonem. V tomto případě by hodnota K byla teoreticky nekonečná.
Vertikální křivky ovlivňují směr a rychlost proudění vody na vozovkách. Vrcholové křivky obvykle usnadňují odtok tím, že směřují vodu pryč od vysokého bodu. Prohlubňující křivky mohou vytvářet potenciální problémy s odtokem v nízkém bodě, což často vyžaduje dodatečné odtokové struktury, jako jsou vtoky nebo žlaby.
Ve standardní symetrické vertikální křivce se PVC nachází polovinu délky křivky před PVI a PVT se nachází polovinu délky křivky za PVI.
Moderní výpočty vertikálních křivek mohou být extrémně přesné, pokud jsou prováděny správně. Nicméně, stavební tolerance, terénní podmínky a zaokrouhlování ve výpočtech mohou zavést malé variace. Pro většinu praktických účelů jsou výpočty na nejbližší centimetr nebo setinu stopy dostatečné pro výšky.
Zde jsou příklady, jak vypočítat parametry vertikální křivky v různých programovacích jazycích:
1' Excel VBA Funkce pro výpočet výšky v jakémkoli bodě na vertikální křivce
2Function VerticalCurveElevation(initialGrade, finalGrade, curveLength, pvcStation, pvcElevation, queryStation)
3 ' Převést sklony z procent na desetinnou formu
4 Dim g1 As Double
5 Dim g2 As Double
6 g1 = initialGrade / 100
7 g2 = finalGrade / 100
8
9 ' Vypočítat algebraický rozdíl ve sklonu
10 Dim A As Double
11 A = g2 - g1
12
13 ' Vypočítat vzdálenost od PVC
14 Dim x As Double
15 x = queryStation - pvcStation
16
17 ' Zkontrolovat, zda je stanice v rámci křivky
18 If x < 0 Or x > curveLength Then
19 VerticalCurveElevation = "Mimo limity křivky"
20 Exit Function
21 End If
22
23 ' Vypočítat výšku pomocí rovnice vertikální křivky
24 Dim elevation As Double
25 elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength)
26
27 VerticalCurveElevation = elevation
28End Function
29
30' Funkce pro výpočet hodnoty K
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 """Vypočítat hodnotu K vertikální křivky."""
5 grade_change = abs(final_grade - initial_grade)
6 if grade_change < 0.0001: # Vyhnout se dělení nulou
7 return float('inf')
8 return curve_length / grade_change
9
10def calculate_curve_type(initial_grade, final_grade):
11 """Určit, zda je křivka vrcholová, prohlubňující nebo žádná."""
12 if initial_grade > final_grade:
13 return "vrchol"
14 elif initial_grade < final_grade:
15 return "prohlubňující"
16 else:
17 return "žádná"
18
19def calculate_elevation_at_station(station, initial_grade, final_grade,
20 pvi_station, pvi_elevation, curve_length):
21 """Vypočítat výšku na jakékoli stanici podél vertikální křivky."""
22 # Vypočítat PVC a PVT stanice
23 pvc_station = pvi_station - curve_length / 2
24 pvt_station = pvi_station + curve_length / 2
25
26 # Zkontrolovat, zda je stanice v rámci křivky
27 if station < pvc_station or station > pvt_station:
28 return None # Mimo limity křivky
29
30 # Vypočítat výšku PVC
31 g1 = initial_grade / 100 # Převést na desetinnou formu
32 g2 = final_grade / 100 # Převést na desetinnou formu
33 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
34
35 # Vypočítat vzdálenost od PVC
36 x = station - pvc_station
37
38 # Vypočítat algebraický rozdíl ve sklonu
39 A = g2 - g1
40
41 # Vypočítat výšku pomocí rovnice vertikální křivky
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 """Vypočítat vysoký nebo nízký bod vertikální křivky, pokud existuje."""
49 g1 = initial_grade / 100
50 g2 = final_grade / 100
51
52 # Vysoký/nízký bod existuje pouze, pokud mají sklony opačné znaménko
53 if g1 * g2 >= 0 and g1 != 0:
54 return None
55
56 # Vypočítat vzdálenost od PVC k vysokému/nízkému bodu
57 pvc_station = pvi_station - curve_length / 2
58 x = -g1 * curve_length / (g2 - g1)
59
60 # Zkontrolovat, zda je vysoký/nízký bod v rámci křivky
61 if x < 0 or x > curve_length:
62 return None
63
64 # Vypočítat stanici vysokého/nízkého bodu
65 hl_station = pvc_station + x
66
67 # Vypočítat výšku PVC
68 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
69
70 # Vypočítat výšku v vysokém/nízkém bodě
71 A = g2 - g1
72 hl_elevation = pvc_elevation + g1 * x + (A * x * x) / (2 * curve_length)
73
74 return {"stanice": hl_station, "výška": hl_elevation}
75
1/**
2 * Vypočítat hodnotu K pro vertikální křivku
3 * @param {number} curveLength - Délka vertikální křivky v metrech
4 * @param {number} initialGrade - Počáteční sklon v procentech
5 * @param {number} finalGrade - Konečný sklon v procentech
6 * @returns {number} Hodnota K
7 */
8function calculateKValue(curveLength, initialGrade, finalGrade) {
9 const gradeChange = Math.abs(finalGrade - initialGrade);
10 if (gradeChange < 0.0001) {
11 return Infinity; // Pro shodné sklony
12 }
13 return curveLength / gradeChange;
14}
15
16/**
17 * Určit typ vertikální křivky
18 * @param {number} initialGrade - Počáteční sklon v procentech
19 * @param {number} finalGrade - Konečný sklon v procentech
20 * @returns {string} Typ křivky: "vrchol", "prohlubňující" nebo "žádná"
21 */
22function determineCurveType(initialGrade, finalGrade) {
23 if (initialGrade > finalGrade) {
24 return "vrchol";
25 } else if (initialGrade < finalGrade) {
26 return "prohlubňující";
27 } else {
28 return "žádná";
29 }
30}
31
32/**
33 * Vypočítat výšku na jakékoli stanici podél vertikální křivky
34 * @param {number} station - Dotazovaná stanice
35 * @param {number} initialGrade - Počáteční sklon v procentech
36 * @param {number} finalGrade - Konečný sklon v procentech
37 * @param {number} pviStation - Stanice PVI
38 * @param {number} pviElevation - Výška PVI v metrech
39 * @param {number} curveLength - Délka vertikální křivky v metrech
40 * @returns {number|null} Výška na stanici nebo null, pokud je mimo limity křivky
41 */
42function calculateElevationAtStation(
43 station,
44 initialGrade,
45 finalGrade,
46 pviStation,
47 pviElevation,
48 curveLength
49) {
50 // Vypočítat PVC a PVT stanice
51 const pvcStation = pviStation - curveLength / 2;
52 const pvtStation = pviStation + curveLength / 2;
53
54 // Zkontrolovat, zda je stanice v rámci křivky
55 if (station < pvcStation || station > pvtStation) {
56 return null; // Mimo limity křivky
57 }
58
59 // Převést sklony na desetinnou formu
60 const g1 = initialGrade / 100;
61 const g2 = finalGrade / 100;
62
63 // Vypočítat výšku PVC
64 const pvcElevation = pviElevation - (g1 * curveLength / 2);
65
66 // Vypočítat vzdálenost od PVC
67 const x = station - pvcStation;
68
69 // Vypočítat algebraický rozdíl ve sklonu
70 const A = g2 - g1;
71
72 // Vypočítat výšku pomocí rovnice vertikální křivky
73 const elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength);
74
75 return elevation;
76}
77
1public class VerticalCurveCalculator {
2 /**
3 * Vypočítat hodnotu K pro vertikální křivku
4 * @param curveLength Délka vertikální křivky v metrech
5 * @param initialGrade Počáteční sklon v procentech
6 * @param finalGrade Konečný sklon v procentech
7 * @return Hodnota K
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; // Pro shodné sklony
13 }
14 return curveLength / gradeChange;
15 }
16
17 /**
18 * Určit typ vertikální křivky
19 * @param initialGrade Počáteční sklon v procentech
20 * @param finalGrade Konečný sklon v procentech
21 * @return Typ křivky: "vrchol", "prohlubňující" nebo "žádná"
22 */
23 public static String determineCurveType(double initialGrade, double finalGrade) {
24 if (initialGrade > finalGrade) {
25 return "vrchol";
26 } else if (initialGrade < finalGrade) {
27 return "prohlubňující";
28 } else {
29 return "žádná";
30 }
31 }
32
33 /**
34 * Vypočítat PVC stanici a výšku
35 * @param pviStation Stanice PVI
36 * @param pviElevation Výška PVI v metrech
37 * @param initialGrade Počáteční sklon v procentech
38 * @param curveLength Délka vertikální křivky v metrech
39 * @return Objekt obsahující stanici a výšku PVC
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 * Vypočítat PVT stanici a výšku
50 * @param pviStation Stanice PVI
51 * @param pviElevation Výška PVI v metrech
52 * @param finalGrade Konečný sklon v procentech
53 * @param curveLength Délka vertikální křivky v metrech
54 * @return Objekt obsahující stanici a výšku PVT
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 * Vnitřní třída pro reprezentaci bodu se stanicí a výškou
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
Návrh dálnice vyžaduje vertikální křivku pro přechod z +3% sklonu na -2% sklon. PVI se nachází na stanici 1000+00 s výškou 150,00 metrů. Návrhová rychlost je 100 km/h, což vyžaduje minimální hodnotu K 80 podle návrhových standardů.
Krok 1: Vypočítat minimální délku křivky
Objevte další nástroje, které by mohly být užitečné pro vaši pracovní postup.