Kalkulačka vertikálnych kriviek pre projekty cestného inžinierstva
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
Vstupné parametre
Curve Parameters
PVI Information
Výsledky
Charakteristiky krivky
Kľúčové body
Dotaz na stanicu
Vizualizácia
Dokumentácia
Kalkulačka vertikálnych kriviek pre stavebné inžinierstvo
Úvod
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.
Základy vertikálnych kriviek
Čo je vertikálna krivka?
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:
- Pohodlie a bezpečnosť vodiča
- Správnu vzdialenosť na výhľad pre vodičov
- Efektivitu prevádzky vozidla
- Efektívny odtok
- Estetický vzhľad vozovky
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.
Typy vertikálnych kriviek
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.
Kľúčové parametre vertikálnych kriviek
Aby bola vertikálna krivka úplne definovaná, je potrebné určiť niekoľko kľúčových parametrov:
- Počiatočný sklon (g₁): Sklon vozovky pred vstupom do krivky, vyjadrený v percentách
- Konečný sklon (g₂): Sklon vozovky po opustení krivky, vyjadrený v percentách
- Dĺžka krivky (L): Horizontálna vzdialenosť, po ktorú sa vertikálna krivka rozprestiera, zvyčajne meraná v metroch alebo stopách
- PVI (Bod vertikálnej interakcie): Teoretický bod, kde by sa stretli dve tangenciálne sklony, keby tam nebola krivka
- PVC (Bod vertikálnej krivky): Začiatkový bod vertikálnej krivky
- PVT (Bod vertikálneho tangentu): Koncový bod vertikálnej krivky
- Hodnota K: Horizontálna vzdialenosť potrebná na dosiahnutie 1% zmeny v sklone, meradlo plochosti krivky
Matematické vzorce
Základná rovnica vertikálnej krivky
Výška v akomkoľvek bode pozdĺž vertikálnej krivky sa dá vypočítať pomocou kvadratickej rovnice:
Kde:
- = Výška pri vzdialenosti od PVC
- = Výška pri PVC
- = Počiatočný sklon (desatinná forma)
- = Vzdialenosť od PVC
- = Algebraický rozdiel v sklone ()
- = Dĺžka vertikálnej krivky
Výpočet hodnoty K
Hodnota K je meradlom plochosti krivky a vypočítava sa ako:
Kde:
- = Rýchlosť vertikálnej krivosti
- = Dĺžka vertikálnej krivky
- = Počiatočný sklon (percento)
- = Konečný sklon (percento)
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.
Výpočet najvyššieho/najnižšieho bodu
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.
Výpočty PVC a PVT
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.
Okrajové prípady
-
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úť.
Ako používať kalkulačku vertikálnych kriviek
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ť:
Krok 1: Zadajte základné parametre krivky
- Zadajte počiatočný sklon (g₁) v percentách (napr. 2 pre 2% stúpajúci sklon, -3 pre 3% klesajúci sklon)
- Zadajte konečný sklon (g₂) v percentách
- Zadajte dĺžku krivky v metroch
- Špecifikujte stanicu PVI (hodnota stanice v bode vertikálnej interakcie)
- Zadajte výšku PVI v metroch
Krok 2: Skontrolujte výsledky
Po zadaní požadovaných parametrov kalkulačka automaticky vypočíta a zobrazí:
- Typ krivky: Či je krivka vrcholová, dolinová alebo ani jedna
- Hodnota K: Rýchlosť vertikálnej krivosti
- Stanica a výška PVC: Začiatkový bod krivky
- Stanica a výška PVT: Koncový bod krivky
- Najvyšší/najnižší bod: Ak je to relevantné, stanica a výška najvyššieho alebo najnižšieho bodu na krivke
Krok 3: Dotaz na špecifické stanice
Môžete tiež dotazovať výšku na akúkoľvek konkrétnu stanicu pozdĺž krivky:
- Zadajte hodnotu dotazovacej stanice
- Kalkulačka zobrazí príslušnú výšku na tejto stanici
- Ak je stanica mimo hraníc krivky, kalkulačka to označí
Krok 4: Vizualizácia krivky
Kalkulačka poskytuje vizuálne zobrazenie vertikálnej krivky, ktoré zobrazuje:
- Profil krivky
- Kľúčové body (PVC, PVI, PVT)
- Najvyšší alebo najnižší bod (ak je to relevantné)
- Tangenciálne sklony
Táto vizualizácia vám pomôže pochopiť tvar krivky a overiť, že spĺňa vaše návrhové požiadavky.
Použitie a aplikácie
Výpočty vertikálnych kriviek sú nevyhnutné v mnohých aplikáciách stavebného inžinierstva:
Návrh diaľnic a ciest
Vertikálne krivky sú základnými komponentmi návrhu ciest, ktoré zabezpečujú bezpečné a pohodlné jazdné podmienky. Používajú sa na:
- Vytvorenie hladkých prechodov medzi rôznymi sklony ciest
- Zabezpečenie primeranej vzdialenosti na výhľad pre vodičov
- Poskytovanie správneho odtoku, aby sa predišlo akumulácii vody
- Splnenie návrhových štandardov a špecifikácií pre rôzne klasifikácie ciest
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.
Návrh železníc
V železničnom inžinierstve sú vertikálne krivky kritické pre:
- Zabezpečenie hladkej prevádzky vlakov
- Minimalizáciu opotrebovania tratí a komponentov vlakov
- Udržanie pohodlia pasažierov
- Umožnenie správnej prevádzky pri návrhových rýchlostiach
Vertikálne krivky železníc často majú väčšie hodnoty K ako cesty kvôli obmedzenej schopnosti vlakov zvládať strmé zmeny v sklone.
Návrh pristávacích dráh na letiskách
Vertikálne krivky sa používajú pri návrhu pristávacích dráh na letiskách na:
- Zabezpečenie správneho odtoku povrchu pristávacej dráhy
- Poskytovanie primeranej vzdialenosti na výhľad pre pilotov
- Splnenie požiadaviek FAA alebo medzinárodných leteckých úradov
- Uľahčenie hladkých vzletov a pristátí
Rozvoj pozemkov a úprava terénu
Pri rozvoji pozemkov pre stavebné projekty pomáhajú vertikálne krivky:
- Vytvárať esteticky príjemné terénne formy
- Zabezpečiť správne riadenie povrchových vôd
- Minimalizovať množstvo zemných prác
- Poskytovať prístupné trasy, ktoré spĺňajú požiadavky ADA
Systémy riadenia povrchových vôd
Vertikálne krivky sú nevyhnutné pri navrhovaní:
- Odtokových kanálov
- Koryt
- Zariadení na zadržiavanie povrchových vôd
- Kanalizačných systémov
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.
Alternatívy k parabolickým vertikálnym krivkám
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.
História návrhu vertikálnych kriviek
Vývoj metodológií návrhu vertikálnych kriviek sa vyvíjal spolu s dopravným inžinierstvom:
Raný návrh ciest (pred 1900)
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.
Vývoj parabolických kriviek (začiatok 1900)
Parabolická vertikálna krivka sa stala štandardom na začiatku 20. storočia, keď inžinieri uznali jej výhody:
- Konštantná rýchlosť zmeny v sklone
- Relatívne jednoduché matematické vlastnosti
- Dobrá rovnováha medzi pohodlím a konštrukčnosťou
Štandardizácia (polovica 1900)
Do polovice 20. storočia začali dopravné agentúry vyvíjať štandardizované prístupy k návrhu vertikálnych kriviek:
- AASHTO (Americká asociácia štátnych diaľničných a dopravných úradov) stanovila smernice pre minimálne hodnoty K na základe zastavovacej vzdialenosti
- Podobné normy boli vyvinuté na medzinárodnej úrovni
- Vzdialenosť na výhľad sa stala primárnym faktorom pri určovaní dĺžok kriviek
Moderné výpočtové prístupy (koniec 1900 - súčasnosť)
S príchodom počítačov sa návrh vertikálnych kriviek stal sofistikovanejším:
- Počítačom podporovaný návrh (CAD) automatizoval výpočty
- 3D modelovanie umožnilo lepšiu vizualizáciu a integráciu s horizontálnym zarovnaním
- Optimalizačné algoritmy pomohli nájsť najefektívnejšie vertikálne zarovnania
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.
Často kladené otázky
Čo je hodnota K v návrhu vertikálnych kriviek?
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.
Ako zistím, či potrebujem vrcholovú alebo dolinovú vertikálnu krivku?
Typ vertikálnej krivky závisí od vzťahu medzi počiatočným a konečným sklonom:
- Ak je počiatočný sklon väčší ako konečný sklon (g₁ > g₂), potrebujete vrcholovú krivku
- Ak je počiatočný sklon menší ako konečný sklon (g₁ < g₂), potrebujete dolinovú krivku
- Ak sú počiatočný a konečný sklon rovnaké (g₁ = g₂), nie je potrebná žiadna vertikálna krivka
Akú minimálnu hodnotu K by som mal použiť vo svojom návrhu?
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.
Ako vypočítam najvyšší alebo najnižší bod vertikálnej krivky?
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.
Čo sa stane, ak sú počiatočné a konečné sklony rovnaké?
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.
Ako vertikálne krivky ovplyvňujú odtok?
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á.
Aký je rozdiel medzi PVI, PVC a PVT?
- PVI (Bod vertikálnej interakcie): Teoretický bod, kde by sa predĺžené počiatočné a konečné sklony stretli
- PVC (Bod vertikálnej krivky): Začiatkový bod vertikálnej krivky
- PVT (Bod vertikálneho tangentu): Koncový bod vertikálnej krivky
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.
Ako presné sú výpočty vertikálnych kriviek?
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.
Kódové príklady
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
Praktické príklady
Príklad 1: Návrh vrcholovej krivky diaľnice
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
Súvisiace nástroje
Objavte ďalšie nástroje, ktoré by mohli byť užitočné pre vašu pracovnú postupnosť