Vypočítajte parametre vertikálnych kriviek pre návrh ciest a železníc. Nájdite výšky, hodnoty K, vysoké/nízke body a ďalšie pre vrcholové a prepadové krivky v dopravných projektoch.
Kalkulačka vertikálnych kriviek je nevyhnutným nástrojom v stavebnom inžinierstve, ktorý pomáha inžinierom navrhovať hladké prechody medzi rôznymi sklony ciest. Vertikálne krivky sú parabolické krivky používané pri navrhovaní ciest a železníc na vytvorenie postupnej zmeny medzi dvoma rôznymi sklony alebo gradientmi, čo zabezpečuje pohodlné jazdné podmienky a správny odtok vody. Táto kalkulačka zjednodušuje zložitý matematický výpočet potrebný na navrhovanie vertikálnych kriviek, čo umožňuje stavebným inžinierom, návrhárom ciest a odborníkom na výstavbu rýchlo určiť kľúčové parametre, ako sú výšky kriviek, najvyššie a najnižšie body a hodnoty K.
Či už navrhujete diaľnicu, miestnu cestu alebo železnicu, vertikálne krivky sú kritické pre bezpečnosť, pohodlie vodiča a správne riadenie povrchových vôd. Táto komplexná kalkulačka sa zaoberá ako vrcholovými krivkami (kde cesta stúpa a potom klesá), tak aj dolinovými krivkami (kde cesta klesá a potom stúpa), poskytujúc všetky nevyhnutné informácie potrebné na správny návrh vertikálneho zarovnania v projektoch dopravy.
Vertikálna krivka je parabolická krivka používaná vo vertikálnom zarovnaní ciest, diaľnic, železníc a inej dopravnej infraštruktúry. Poskytuje hladký prechod medzi dvoma rôznymi sklony alebo gradientmi, čím eliminuje náhly prechod, ktorý by nastal, keby sa sklony stretli v jednom bode. Tento hladký prechod je nevyhnutný pre:
Vertikálne krivky sú typicky parabolické, pretože parabola poskytuje konštantnú rýchlosť zmeny v sklone, čo vedie k hladkému prechodu, ktorý minimalizuje sily, ktorým sú vystavení vozidlá a pasažieri.
Existujú dva hlavné typy vertikálnych kriviek používaných v stavebnom inžinierstve:
Vrcholové krivky: Tieto sa vyskytujú, keď je počiatočný sklon väčší ako konečný sklon (napr. prechod z +3% na -2%). Krivka vytvára kopec alebo vysoký bod. Vrcholové krivky sú primárne navrhované na základe požiadaviek na zastavovaciu vzdialenosť.
Dolinové krivky: Tieto sa vyskytujú, keď je počiatočný sklon menší ako konečný sklon (napr. prechod z -2% na +3%). Krivka vytvára dolinu alebo nízky bod. Dolinové krivky sú typicky navrhované na základe vzdialenosti svetiel a úvah o odtoku.
Aby bola vertikálna krivka úplne definovaná, je potrebné určiť niekoľko kľúčových parametrov:
Výška v akomkoľvek bode pozdĺž vertikálnej krivky sa dá vypočítať pomocou kvadratickej rovnice:
Kde:
Hodnota K je meradlom plochosti krivky a vypočítava sa ako:
Kde:
Vyššie hodnoty K indikujú plochšie krivky. Návrhové normy často špecifikujú minimálne hodnoty K na základe návrhovej rýchlosti a typu krivky.
Pre vrcholové krivky, kde a , alebo dolinové krivky, kde a , existuje najvyšší alebo najnižší bod v rámci krivky. Stanica tohto bodu sa dá vypočítať ako:
Výška v tomto najvyššom/najnižšom bode sa potom vypočíta pomocou základnej rovnice vertikálnej krivky.
S ohľadom na stanicu a výšku PVI sa dajú vypočítať PVC a PVT ako:
Poznámka: Delenie 200 v rovniciach výšky zohľadňuje prevod sklonu z percenta na desatinnú formu a polovičnú dĺžku krivky.
Rovnaké sklony (g₁ = g₂): Keď sú počiatočný a konečný sklon rovnaké, nie je potrebná žiadna vertikálna krivka. Hodnota K sa stáva nekonečnou a "krivka" je vlastne priamka.
Veľmi malé rozdiely v sklone: Keď je rozdiel medzi sklonmi veľmi malý, hodnota K sa stáva veľmi veľkou. To môže vyžadovať úpravy dĺžky krivky pre praktickú implementáciu.
Krivky s nulovou dĺžkou: Vertikálna krivka s nulovou dĺžkou nie je matematicky platná a mala by sa v návrhu vyhnúť.
Naša kalkulačka vertikálnych kriviek zjednodušuje tieto zložitosti, čo vám umožňuje rýchlo určiť všetky kľúčové parametre pre návrh vašej vertikálnej krivky. Tu je návod, ako ju používať:
Po zadaní požadovaných parametrov kalkulačka automaticky vypočíta a zobrazí:
Môžete tiež dotazovať výšku na akúkoľvek konkrétnu stanicu pozdĺž krivky:
Kalkulačka poskytuje vizuálne zobrazenie vertikálnej krivky, ktoré zobrazuje:
Táto vizualizácia vám pomôže pochopiť tvar krivky a overiť, že spĺňa vaše návrhové požiadavky.
Výpočty vertikálnych kriviek sú nevyhnutné v mnohých aplikáciách stavebného inžinierstva:
Vertikálne krivky sú základnými komponentmi návrhu ciest, ktoré zabezpečujú bezpečné a pohodlné jazdné podmienky. Používajú sa na:
Napríklad, pri navrhovaní diaľnice, ktorá musí prechádzať kopcovitým terénom, musia inžinieri starostlivo vypočítať vertikálne krivky, aby zabezpečili, že vodiči budú mať dostatočnú vzdialenosť na výhľad na to, aby bezpečne zastavili, ak sa na ceste objaví prekážka.
V železničnom inžinierstve sú vertikálne krivky kritické pre:
Vertikálne krivky železníc často majú väčšie hodnoty K ako cesty kvôli obmedzenej schopnosti vlakov zvládať strmé zmeny v sklone.
Vertikálne krivky sa používajú pri návrhu pristávacích dráh na letiskách na:
Pri rozvoji pozemkov pre stavebné projekty pomáhajú vertikálne krivky:
Vertikálne krivky sú nevyhnutné pri navrhovaní:
Správny návrh vertikálnych kriviek zabezpečuje, že voda tečie pri primeraných rýchlostiach a zabraňuje usadzovaniu alebo erózii.
Aj keď parabolické vertikálne krivky sú štandardom v väčšine aplikácií stavebného inžinierstva, existujú aj alternatívy:
Kruhové vertikálne krivky: Používajú sa v niektorých starších návrhoch a v určitých medzinárodných normách. Poskytujú variabilnú rýchlosť zmeny v sklone, čo môže byť menej pohodlné pre vodičov.
Klothoidové alebo špirálové krivky: Niekedy sa používajú v špecializovaných aplikáciách, kde je žiadaná postupne sa zvyšujúca rýchlosť zmeny.
Kubické paraboly: Občas sa používajú pre špeciálne situácie, kde sú potrebné zložitejšie vlastnosti kriviek.
Prímočiare aproximácie: V veľmi predbežných návrhoch alebo pre veľmi plochý terén sa môžu namiesto skutočných vertikálnych kriviek používať jednoduché priamkové spojenia.
Parabolická vertikálna krivka zostáva štandardom pre väčšinu aplikácií kvôli svojej jednoduchosti, konzistentnej rýchlosti zmeny a dobre etablovaným návrhovým postupom.
Vývoj metodológií návrhu vertikálnych kriviek sa vyvíjal spolu s dopravným inžinierstvom:
V raných cestných stavbách sa vertikálne zarovnania často určovali podľa prirodzeného terénu s minimálnym pregrádovaním. S rastúcou rýchlosťou a čoraz častejším používaním vozidiel sa ukázala potreba vedeckejších prístupov k návrhu ciest.
Parabolická vertikálna krivka sa stala štandardom na začiatku 20. storočia, keď inžinieri uznali jej výhody:
Do polovice 20. storočia začali dopravné agentúry vyvíjať štandardizované prístupy k návrhu vertikálnych kriviek:
S príchodom počítačov sa návrh vertikálnych kriviek stal sofistikovanejším:
Dnes sa návrh vertikálnych kriviek naďalej vyvíja s novým výskumom o správaní vodičov, dynamike vozidiel a environmentálnych úvahách.
Hodnota K predstavuje horizontálnu vzdialenosť potrebnú na dosiahnutie 1% zmeny v sklone. Vypočítava sa vydelením dĺžky vertikálnej krivky absolútnym rozdielom medzi počiatočnými a konečnými sklony. Vyššie hodnoty K naznačujú plochšie, postupnejšie krivky. Normy návrhu často špecifikujú minimálne hodnoty K na základe návrhovej rýchlosti a typu krivky.
Typ vertikálnej krivky závisí od vzťahu medzi počiatočným a konečným sklonom:
Minimálne hodnoty K závisia od návrhovej rýchlosti, typu krivky a platných návrhových noriem. Napríklad AASHTO poskytuje tabuľky minimálnych hodnôt K na základe zastavovacej vzdialenosti pre vrcholové krivky a vzdialenosti svetiel pre dolinové krivky. Vyššie návrhové rýchlosti vyžadujú väčšie hodnoty K na zabezpečenie bezpečnosti.
Najvyšší bod (pre vrcholové krivky) alebo najnižší bod (pre dolinové krivky) sa vyskytuje tam, kde sa sklon pozdĺž krivky rovná nule. Toto sa dá vypočítať pomocou vzorca:
Najvyšší/najnižší bod existuje iba v rámci krivky, ak táto stanica spadá medzi PVC a PVT.
Ak sú počiatočné a konečné sklony rovnaké, nie je potrebná žiadna vertikálna krivka. Výsledkom je jednoducho priamka s konštantným sklonom. V tomto prípade by sa hodnota K teoreticky stala nekonečnou.
Vertikálne krivky ovplyvňujú smer a rýchlosť toku vody na vozovkách. Vrcholové krivky zvyčajne uľahčujú odtok vody tým, že smerujú vodu preč od vysokého bodu. Dolinové krivky môžu vytvárať potenciálne problémy s odtokom na nízkom bode, čo často vyžaduje dodatočné odtokové štruktúry, ako sú vtoky alebo korytá.
V štandardnej symetrickej vertikálnej krivke sa PVC nachádza pol dĺžky krivky pred PVI a PVT sa nachádza pol dĺžky krivky za PVI.
Moderné výpočty vertikálnych kriviek môžu byť mimoriadne presné, ak sú vykonané správne. Avšak konštrukčné tolerancie, terénne podmienky a zaokrúhľovanie vo výpočtoch môžu zaviesť malé variácie. Pre väčšinu praktických účelov sú výpočty na najbližší centimeter alebo stotinu stopy dostatočné pre výšky.
Tu sú príklady, ako vypočítať parametre vertikálnych kriviek v rôznych programovacích jazykoch:
1' Excel VBA funkcia na výpočet výšky v akomkoľvek bode na vertikálnej krivke
2Function VerticalCurveElevation(initialGrade, finalGrade, curveLength, pvcStation, pvcElevation, queryStation)
3 ' Prevod sklonov z percenta na desatinnú formu
4 Dim g1 As Double
5 Dim g2 As Double
6 g1 = initialGrade / 100
7 g2 = finalGrade / 100
8
9 ' Vypočítanie algebraického rozdielu v sklone
10 Dim A As Double
11 A = g2 - g1
12
13 ' Vypočítanie vzdialenosti od PVC
14 Dim x As Double
15 x = queryStation - pvcStation
16
17 ' Kontrola, či je stanica v rámci krivky
18 If x < 0 Or x > curveLength Then
19 VerticalCurveElevation = "Mimo hraníc krivky"
20 Exit Function
21 End If
22
23 ' Vypočítanie výšky pomocou rovnice vertikálnej krivky
24 Dim elevation As Double
25 elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength)
26
27 VerticalCurveElevation = elevation
28End Function
29
30' Funkcia na 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čítajte hodnotu K vertikálnej krivky."""
5 grade_change = abs(final_grade - initial_grade)
6 if grade_change < 0.0001: # Vyhnite sa deleniu nulou
7 return float('inf')
8 return curve_length / grade_change
9
10def calculate_curve_type(initial_grade, final_grade):
11 """Určte, či je krivka vrcholová, dolinová alebo ani jedna."""
12 if initial_grade > final_grade:
13 return "vrcholová"
14 elif initial_grade < final_grade:
15 return "dolinová"
16 else:
17 return "ani jedna"
18
19def calculate_elevation_at_station(station, initial_grade, final_grade,
20 pvi_station, pvi_elevation, curve_length):
21 """Vypočítajte výšku na akejkoľvek stanici pozdĺž vertikálnej krivky."""
22 # Vypočítanie PVC a PVT staníc
23 pvc_station = pvi_station - curve_length / 2
24 pvt_station = pvi_station + curve_length / 2
25
26 # Kontrola, či je stanica v rámci krivky
27 if station < pvc_station or station > pvt_station:
28 return None # Mimo hraníc krivky
29
30 # Vypočítanie výšky PVC
31 g1 = initial_grade / 100 # Prevod na desatinnú formu
32 g2 = final_grade / 100 # Prevod na desatinnú formu
33 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
34
35 # Vypočítanie vzdialenosti od PVC
36 x = station - pvc_station
37
38 # Vypočítanie algebraického rozdielu v sklone
39 A = g2 - g1
40
41 # Vypočítanie výšky pomocou rovnice vertikálnej krivky
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čítajte najvyšší alebo najnižší bod vertikálnej krivky, ak existuje."""
49 g1 = initial_grade / 100
50 g2 = final_grade / 100
51
52 # Najvyšší/najnižší bod existuje iba v prípade, že sklony majú opačné znamienka
53 if g1 * g2 >= 0 and g1 != 0:
54 return None
55
56 # Vypočítanie vzdialenosti od PVC k najvyššiemu/najnižšiemu bodu
57 pvc_station = pvi_station - curve_length / 2
58 x = -g1 * curve_length / (g2 - g1)
59
60 # Kontrola, či je najvyšší/najnižší bod v rámci krivky
61 if x < 0 or x > curve_length:
62 return None
63
64 # Vypočítanie stanice najvyššieho/najnižšieho bodu
65 hl_station = pvc_station + x
66
67 # Vypočítanie výšky PVC
68 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
69
70 # Vypočítanie výšky v najvyššom/najnižšom bode
71 A = g2 - g1
72 hl_elevation = pvc_elevation + g1 * x + (A * x * x) / (2 * curve_length)
73
74 return {"stanica": hl_station, "výška": hl_elevation}
75
1/**
2 * Vypočítajte hodnotu K pre vertikálnu krivku
3 * @param {number} curveLength - Dĺžka vertikálnej krivky v metroch
4 * @param {number} initialGrade - Počiatočný sklon v percentách
5 * @param {number} finalGrade - Konečný sklon v percentách
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; // Pre rovnaké sklony
12 }
13 return curveLength / gradeChange;
14}
15
16/**
17 * Určte typ vertikálnej krivky
18 * @param {number} initialGrade - Počiatočný sklon v percentách
19 * @param {number} finalGrade - Konečný sklon v percentách
20 * @returns {string} Typ krivky: "vrcholová", "dolinová" alebo "ani jedna"
21 */
22function determineCurveType(initialGrade, finalGrade) {
23 if (initialGrade > finalGrade) {
24 return "vrcholová";
25 } else if (initialGrade < finalGrade) {
26 return "dolinová";
27 } else {
28 return "ani jedna";
29 }
30}
31
32/**
33 * Vypočítajte výšku na akejkoľvek stanici pozdĺž vertikálnej krivky
34 * @param {number} station - Dotazovaná stanica
35 * @param {number} initialGrade - Počiatočný sklon v percentách
36 * @param {number} finalGrade - Konečný sklon v percentách
37 * @param {number} pviStation - Stanica PVI
38 * @param {number} pviElevation - Výška PVI v metroch
39 * @param {number} curveLength - Dĺžka vertikálnej krivky v metroch
40 * @returns {number|null} Výška na stanici alebo null, ak je mimo hraníc krivky
41 */
42function calculateElevationAtStation(
43 station,
44 initialGrade,
45 finalGrade,
46 pviStation,
47 pviElevation,
48 curveLength
49) {
50 // Vypočítanie PVC a PVT staníc
51 const pvcStation = pviStation - curveLength / 2;
52 const pvtStation = pviStation + curveLength / 2;
53
54 // Kontrola, či je stanica v rámci krivky
55 if (station < pvcStation || station > pvtStation) {
56 return null; // Mimo hraníc krivky
57 }
58
59 // Prevod sklonov na desatinnú formu
60 const g1 = initialGrade / 100;
61 const g2 = finalGrade / 100;
62
63 // Vypočítanie výšky PVC
64 const pvcElevation = pviElevation - (g1 * curveLength / 2);
65
66 // Vypočítanie vzdialenosti od PVC
67 const x = station - pvcStation;
68
69 // Vypočítanie algebraického rozdielu v sklone
70 const A = g2 - g1;
71
72 // Vypočítanie výšky pomocou rovnice vertikálnej krivky
73 const elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength);
74
75 return elevation;
76}
77
1public class VerticalCurveCalculator {
2 /**
3 * Vypočítajte hodnotu K pre vertikálnu krivku
4 * @param curveLength Dĺžka vertikálnej krivky v metroch
5 * @param initialGrade Počiatočný sklon v percentách
6 * @param finalGrade Konečný sklon v percentách
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; // Pre rovnaké sklony
13 }
14 return curveLength / gradeChange;
15 }
16
17 /**
18 * Určte typ vertikálnej krivky
19 * @param initialGrade Počiatočný sklon v percentách
20 * @param finalGrade Konečný sklon v percentách
21 * @return Typ krivky: "vrcholová", "dolinová" alebo "ani jedna"
22 */
23 public static String determineCurveType(double initialGrade, double finalGrade) {
24 if (initialGrade > finalGrade) {
25 return "vrcholová";
26 } else if (initialGrade < finalGrade) {
27 return "dolinová";
28 } else {
29 return "ani jedna";
30 }
31 }
32
33 /**
34 * Vypočítajte PVC stanicu a výšku
35 * @param pviStation Stanica PVI
36 * @param pviElevation Výška PVI v metroch
37 * @param initialGrade Počiatočný sklon v percentách
38 * @param curveLength Dĺžka vertikálnej krivky v metroch
39 * @return Objekt obsahujúci stanicu 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čítajte PVT stanicu a výšku
50 * @param pviStation Stanica PVI
51 * @param pviElevation Výška PVI v metroch
52 * @param finalGrade Konečný sklon v percentách
53 * @param curveLength Dĺžka vertikálnej krivky v metroch
54 * @return Objekt obsahujúci stanicu 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 * Vnútorná trieda na reprezentáciu bodu so stanicou 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 diaľnice vyžaduje vertikálnu krivku na prechod z +3% sklonu na -2% sklon. PVI sa nachádza na stanici 1000+00 s výškou 150,00 metra. Návrhová rýchlosť je 100 km/h, čo vyžaduje minimálnu hodnotu K 80 podľa návrhových noriem.
Krok 1: Vypočítajte minimálnu dĺžku krivky
Objavte ďalšie nástroje, ktoré by mohli byť užitočné pre vašu pracovnú postupnosť