Kalkulator Krzywych Wysokościowych dla Projektów Inżynierii Lądowej
Oblicz parametry krzywych wysokościowych dla projektowania dróg i kolei. Znajdź wysokości, wartości K, punkty najwyższe/najniższe i więcej dla krzywych wznoszących i opadających w projektach transportowych.
Kalkulator Krzywej Wektorowej
Parametry Wejściowe
Curve Parameters
PVI Information
Wyniki
Charakterystyka Krzywej
Punkty Kluczowe
Zapytanie o Stację
Wizualizacja
Dokumentacja
Kalkulator Krzywej Wzwyżonej dla Inżynierii Lądowej
Wprowadzenie
Kalkulator krzywej wzwyżonej jest niezbędnym narzędziem w inżynierii lądowej, które pomaga inżynierom projektować płynne przejścia między różnymi nachyleniami drogi. Krzywe wzwyżone są parabolicznymi krzywymi używanymi w projektowaniu dróg i kolei, aby stworzyć stopniową zmianę między dwoma różnymi nachyleniami, zapewniając komfortowe warunki jazdy i odpowiednie odwadnianie. Ten kalkulator upraszcza skomplikowane obliczenia matematyczne wymagane do projektowania krzywych wzwyżonych, umożliwiając inżynierom lądowym, projektantom dróg i profesjonalistom budowlanym szybkie określenie kluczowych parametrów, takich jak wysokości krzywej, punkty najwyższe i najniższe oraz wartości K.
Niezależnie od tego, czy projektujesz autostradę, drogę lokalną, czy kolej, krzywe wzwyżone są kluczowe dla bezpieczeństwa, komfortu kierowcy i odpowiedniego zarządzania wodami opadowymi. Ten kompleksowy kalkulator obsługuje zarówno krzywe wzwyżone (gdzie droga wznosi się, a następnie opada), jak i krzywe opadające (gdzie droga opada, a następnie wznosi się), dostarczając wszystkich niezbędnych informacji potrzebnych do prawidłowego projektowania wyrównania pionowego w projektach inżynierii transportowej.
Podstawy Krzywej Wzwyżonej
Czym jest Krzywa Wzwyżona?
Krzywa wzwyżona to paraboliczna krzywa używana w pionowym wyrównaniu dróg, autostrad, kolei i innych infrastruktury transportowej. Zapewnia płynne przejście między dwoma różnymi nachyleniami, eliminując nagłą zmianę, która wystąpiłaby, gdyby nachylenia spotkały się w punkcie. To płynne przejście jest niezbędne dla:
- Komfortu i bezpieczeństwa kierowców
- Odpowiedniej odległości widzenia dla kierowców
- Efektywności działania pojazdów
- Skutecznego odwadniania
- Estetycznego wyglądu drogi
Krzywe wzwyżone mają zazwyczaj kształt paraboliczny, ponieważ parabola zapewnia stałą szybkość zmiany nachylenia, co skutkuje płynniejszym przejściem, które minimalizuje siły doświadczane przez pojazdy i pasażerów.
Rodzaje Krzywych Wzwyżonych
Istnieją dwa główne typy krzywych wzwyżonych stosowanych w inżynierii lądowej:
-
Krzywe Wzwyżone: Występują, gdy początkowe nachylenie jest większe niż końcowe nachylenie (np. przechodząc z +3% do -2%). Krzywa tworzy wzgórze lub punkt najwyższy. Krzywe wzwyżone są głównie projektowane na podstawie wymagań dotyczących odległości widzenia podczas zatrzymania.
-
Krzywe Opadające: Występują, gdy początkowe nachylenie jest mniejsze niż końcowe nachylenie (np. przechodząc z -2% do +3%). Krzywa tworzy dolinę lub punkt najniższy. Krzywe opadające są zazwyczaj projektowane na podstawie odległości widzenia reflektorów i rozważań dotyczących odwadniania.
Kluczowe Parametry Krzywej Wzwyżonej
Aby w pełni zdefiniować krzywą wzwyżoną, należy ustalić kilka kluczowych parametrów:
- Początkowe Nachylenie (g₁): Nachylenie drogi przed wejściem w krzywą, wyrażone w procentach
- Końcowe Nachylenie (g₂): Nachylenie drogi po wyjściu z krzywej, wyrażone w procentach
- Długość Krzywej (L): Pozioma odległość, na której rozciąga się krzywa wzwyżona, zazwyczaj mierzona w metrach lub stopach
- PVI (Punkt Przecięcia Wyrównania Pionowego): Teoretyczny punkt, w którym dwie tangentne nachylenia by się przecięły, gdyby nie było krzywej
- PVC (Punkt Krzywej Wzwyżonej): Punkt początkowy krzywej wzwyżonej
- PVT (Punkt Tangentu Wzwyżonego): Punkt końcowy krzywej wzwyżonej
- Wartość K: Pozioma odległość wymagana do osiągnięcia zmiany nachylenia o 1%, miara płaskości krzywej
Wzory Matematyczne
Podstawowe Równanie Krzywej Wzwyżonej
Wysokość w dowolnym punkcie wzdłuż krzywej wzwyżonej można obliczyć za pomocą równania kwadratowego:
Gdzie:
- = Wysokość w odległości od PVC
- = Wysokość w PVC
- = Początkowe nachylenie (forma dziesiętna)
- = Odległość od PVC
- = Algebraiczna różnica w nachyleniach ()
- = Długość krzywej wzwyżonej
Obliczanie Wartości K
Wartość K jest miarą płaskości krzywej i oblicza się ją jako:
Gdzie:
- = Wskaźnik krzywizny pionowej
- = Długość krzywej wzwyżonej
- = Początkowe nachylenie (procent)
- = Końcowe nachylenie (procent)
Wyższe wartości K wskazują na płaskie krzywe. Normy projektowe często określają minimalne wartości K w zależności od prędkości projektowej i typu krzywej.
Obliczanie Punktów Najwyższych/Najniższych
Dla krzywych wzwyżonych, gdzie i , lub krzywych opadających, gdzie i , w krzywej będzie punkt wysoki lub niski. Stację tego punktu można obliczyć jako:
Wysokość w tym punkcie wysokim/niskim jest następnie obliczana za pomocą podstawowego równania krzywej wzwyżonej.
Obliczenia PVC i PVT
Biorąc pod uwagę stację i wysokość PVI, można obliczyć PVC i PVT jako:
Uwaga: Dzielenie przez 200 w wzorach wysokości uwzględnia konwersję nachylenia z procentów na formę dziesiętną oraz połowę długości krzywej.
Przypadki Krawędziowe
-
Równe Nachylenia (g₁ = g₂): Gdy początkowe i końcowe nachylenia są równe, nie jest potrzebna krzywa wzwyżona. Wartość K staje się nieskończona, a "krzywa" jest w rzeczywistości prostą linią.
-
Bardzo Małe Różnice Nachylenia: Gdy różnica między nachyleniami jest bardzo mała, wartość K staje się bardzo duża. Może to wymagać dostosowania długości krzywej do praktycznej realizacji.
-
Krzywe o Zerowej Długości: Krzywa wzwyżona o zerowej długości nie jest matematycznie ważna i powinna być unika w projektowaniu.
Jak Używać Kalkulatora Krzywej Wzwyżonej
Nasz kalkulator krzywej wzwyżonej upraszcza te skomplikowane obliczenia, umożliwiając szybkie określenie wszystkich kluczowych parametrów dla projektowania krzywej wzwyżonej. Oto jak go używać:
Krok 1: Wprowadź Podstawowe Parametry Krzywej
- Wprowadź Początkowe Nachylenie (g₁) w formie procentowej (np. 2 dla nachylenia 2% w górę, -3 dla nachylenia 3% w dół)
- Wprowadź Końcowe Nachylenie (g₂) w formie procentowej
- Wprowadź Długość Krzywej w metrach
- Określ Stację PVI (wartość stacji w punkcie przecięcia wyrównania pionowego)
- Wprowadź Wysokość PVI w metrach
Krok 2: Przejrzyj Wyniki
Po wprowadzeniu wymaganych parametrów kalkulator automatycznie obliczy i wyświetli:
- Typ Krzywej: Czy krzywa jest wzwyżona, opadająca, czy żadna
- Wartość K: Wskaźnik krzywizny pionowej
- Stacja i Wysokość PVC: Punkt początkowy krzywej
- Stacja i Wysokość PVT: Punkt końcowy krzywej
- Punkt Najwyższy/Najniższy: Jeśli dotyczy, stacja i wysokość najwyższego lub najniższego punktu na krzywej
Krok 3: Zapytaj o Konkretne Stacje
Możesz również zapytać o wysokość w dowolnej konkretnej stacji wzdłuż krzywej:
- Wprowadź wartość Stacji Zapytania
- Kalkulator wyświetli odpowiadającą wysokość w tej stacji
- Jeśli stacja znajduje się poza granicami krzywej, kalkulator to wskaże
Krok 4: Wizualizuj Krzywą
Kalkulator zapewnia wizualną reprezentację krzywej wzwyżonej, pokazując:
- Profil krzywej
- Kluczowe punkty (PVC, PVI, PVT)
- Punkt wysoki lub niski (jeśli dotyczy)
- Nachylenia tangentne
Ta wizualizacja pomaga zrozumieć kształt krzywej i zweryfikować, czy spełnia wymagania projektowe.
Przykłady Zastosowania i Aplikacje
Obliczenia krzywej wzwyżonej są niezbędne w licznych zastosowaniach inżynierii lądowej:
Projektowanie Autostrad i Dróg
Krzywe wzwyżone są fundamentalnymi elementami projektowania dróg, zapewniającymi bezpieczne i komfortowe warunki jazdy. Są używane do:
- Tworzenia płynnych przejść między różnymi nachyleniami dróg
- Zapewnienia odpowiedniej odległości widzenia dla kierowców
- Umożliwienia prawidłowego odwadniania, aby zapobiec gromadzeniu się wody
- Spełniania norm projektowych i specyfikacji dla różnych klasyfikacji dróg
Na przykład, projektując autostradę, która musi przebyć górzysty teren, inżynierowie muszą starannie obliczyć krzywe wzwyżone, aby zapewnić, że kierowcy mają wystarczającą odległość widzenia, aby bezpiecznie zatrzymać się w przypadku pojawienia się przeszkody na drodze.
Projektowanie Kolei
W inżynierii kolejowej krzywe wzwyżone są kluczowe dla:
- Zapewnienia płynnej pracy pociągów
- Minimalizowania zużycia torów i komponentów pociągu
- Utrzymywania komfortu pasażerów
- Umożliwienia prawidłowej pracy przy prędkościach projektowych
Krzywe wzwyżone w kolejnictwie często mają większe wartości K niż drogi z powodu ograniczonej zdolności pociągów do pokonywania stromych zmian nachylenia.
Projektowanie Pasów Startowych na Lotniskach
Krzywe wzwyżone są stosowane w projektowaniu pasów startowych na lotniskach, aby:
- Zapewnić odpowiednie odwadnianie powierzchni pasa
- Umożliwić odpowiednią odległość widzenia dla pilotów
- Spełniać wymagania FAA lub międzynarodowych organów lotniczych
- Ułatwić płynne starty i lądowania
Rozwój Ziemi i Wyrównanie Terenu
Podczas rozwijania ziemi dla projektów budowlanych krzywe wzwyżone pomagają:
- Tworzyć estetycznie przyjemne formy terenu
- Zapewniać odpowiednie zarządzanie wodami opadowymi
- Minimalizować ilości robót ziemnych
- Zapewniać dostępne trasy, które spełniają wymagania ADA
Systemy Zarządzania Wodami Opadowymi
Krzywe wzwyżone są niezbędne w projektowaniu:
- Kanałów odwadniających
- Rurociągów
- Obiektów retencyjnych wód opadowych
- Systemów kanalizacyjnych
Prawidłowe projektowanie krzywych wzwyżonych zapewnia, że woda płynie w odpowiednich prędkościach i zapobiega osadzaniu się lub erozji.
Alternatywy dla Parabolicznych Krzywych Wzwyżonych
Chociaż paraboliczne krzywe wzwyżone są standardem w większości zastosowań inżynieryjnych, istnieją alternatywy:
-
Krzywe Okrągłe: Używane w niektórych starszych projektach i w określonych międzynarodowych standardach. Zapewniają zmienną szybkość zmiany nachylenia, co może być mniej komfortowe dla kierowców.
-
Krzywe Clothoid lub Spiralne: Czasami używane w specjalnych zastosowaniach, gdzie pożądana jest stopniowo zwiększająca się szybkość zmiany.
-
Parabole Kubiczne: Okazjonalnie używane w szczególnych sytuacjach, gdzie potrzebne są bardziej złożone właściwości krzywej.
-
Przybliżenia Liniowe: W bardzo wstępnych projektach lub dla bardzo płaskiego terenu, proste połączenia prostoliniowe mogą być używane zamiast prawdziwych krzywych wzwyżonych.
Paraboliczna krzywa wzwyżona pozostaje standardem w większości zastosowań z powodu swojej prostoty, stałej szybkości zmiany i dobrze ustalonych procedur projektowych.
Historia Projektowania Krzywych Wzwyżonych
Rozwój metodologii projektowania krzywych wzwyżonych ewoluował równolegle z inżynierią transportową:
Wczesne Projektowanie Dróg (Przed 1900 rokiem)
Wczesne budowy dróg często opierały się na naturalnym terenie z minimalnym wyrównaniem. W miarę jak pojazdy stawały się szybsze i bardziej powszechne, potrzeba bardziej naukowych podejść do projektowania dróg stała się oczywista.
Rozwój Krzywych Parabolicznych (Początek XX wieku)
Paraboliczna krzywa wzwyżona stała się standardem na początku XX wieku, gdy inżynierowie dostrzegli jej zalety:
- Stała szybkość zmiany nachylenia
- Stosunkowo proste właściwości matematyczne
- Dobre zrównoważenie komfortu i możliwości budowlanych
Standaryzacja (Połowa XX wieku)
Do połowy XX wieku agencje transportowe zaczęły opracowywać znormalizowane podejścia do projektowania krzywych wzwyżonych:
- AASHTO (Amerykańskie Stowarzyszenie Stanowych Autostrad i Transportu) ustanowiło wytyczne dotyczące minimalnych wartości K w oparciu o wymagania dotyczące odległości widzenia podczas zatrzymania dla krzywych wzwyżonych i odległości widzenia reflektorów dla krzywych opadających.
- Podobne normy opracowano na poziomie międzynarodowym.
- Odległość widzenia stała się głównym czynnikiem przy określaniu długości krzywych.
Nowoczesne Podejścia Obliczeniowe (Koniec XX wieku do Dziś)
Z pojawieniem się komputerów projektowanie krzywych wzwyżonych stało się bardziej zaawansowane:
- Oprogramowanie CAD (komputerowe wspomaganie projektowania) zautomatyzowało obliczenia
- Modelowanie 3D umożliwiło lepszą wizualizację i integrację z wyrównaniem poziomym
- Algorytmy optymalizacji pomogły znaleźć najbardziej efektywne wyrównania pionowe
Dziś projektowanie krzywych wzwyżonych nadal ewoluuje wraz z nowymi badaniami nad zachowaniem kierowców, dynamiką pojazdów i kwestiami środowiskowymi.
Często Zadawane Pytania
Co to jest wartość K w projektowaniu krzywych wzwyżonych?
Wartość K reprezentuje poziomą odległość wymaganą do osiągnięcia zmiany nachylenia o 1%. Oblicza się ją, dzieląc długość krzywej wzwyżonej przez bezwzględną różnicę między początkowym a końcowym nachyleniem. Wyższe wartości K wskazują na płaskie, bardziej łagodne krzywe. Wartości K są często określane w normach projektowych na podstawie prędkości projektowej i tego, czy krzywa jest wzwyżona, czy opadająca.
Jak określić, czy potrzebuję krzywej wzwyżonej, czy opadającej?
Typ krzywej zależy od relacji między początkowym a końcowym nachyleniem:
- Jeśli początkowe nachylenie jest większe niż końcowe nachylenie (g₁ > g₂), potrzebujesz krzywej wzwyżonej
- Jeśli początkowe nachylenie jest mniejsze niż końcowe nachylenie (g₁ < g₂), potrzebujesz krzywej opadającej
- Jeśli początkowe i końcowe nachylenia są równe (g₁ = g₂), nie jest potrzebna krzywa wzwyżona
Jaką minimalną wartość K powinienem użyć w moim projekcie?
Minimalne wartości K zależą od prędkości projektowej, typu krzywej i obowiązujących norm projektowych. Na przykład AASHTO dostarcza tabel minimalnych wartości K w oparciu o odległość widzenia podczas zatrzymania dla krzywych wzwyżonych i odległość widzenia reflektorów dla krzywych opadających. Wyższe prędkości projektowe wymagają większych wartości K, aby zapewnić bezpieczeństwo.
Jak obliczyć punkt wysoki lub niski krzywej wzwyżonej?
Punkt wysoki (dla krzywych wzwyżonych) lub niski (dla krzywych opadających) występuje tam, gdzie nachylenie wzdłuż krzywej wynosi zero. Można to obliczyć za pomocą wzoru:
Punkt wysoki/niski istnieje tylko w obrębie krzywej, jeśli ta stacja znajduje się między PVC a PVT.
Co się dzieje, jeśli początkowe i końcowe nachylenia są równe?
Jeśli początkowe i końcowe nachylenia są równe, nie jest potrzebna krzywa wzwyżona. Rezultatem jest po prostu prosta linia o stałym nachyleniu. W tym przypadku wartość K byłaby teoretycznie nieskończona.
Jak krzywe wzwyżone wpływają na odwadnianie?
Krzywe wzwyżone wpływają na kierunek i prędkość przepływu wody na drogach. Krzywe wzwyżone zazwyczaj ułatwiają odwadnianie, kierując wodę z dala od punktu najwyższego. Krzywe opadające mogą stwarzać potencjalne problemy z odwadnianiem w punkcie najniższym, często wymagając dodatkowych struktur odwadniających, takich jak wpusty lub rurociągi.
Jaka jest różnica między PVI, PVC a PVT?
- PVI (Punkt Przecięcia Wyrównania Pionowego): Teoretyczny punkt, w którym przedłużone linie nachylenia początkowego i końcowego by się przecięły
- PVC (Punkt Krzywej Wzwyżonej): Punkt początkowy krzywej wzwyżonej
- PVT (Punkt Tangentu Wzwyżonego): Punkt końcowy krzywej wzwyżonej
W standardowej symetrycznej krzywej wzwyżonej PVC znajduje się w połowie długości krzywej przed PVI, a PVT znajduje się w połowie długości krzywej po PVI.
Jak dokładne są obliczenia krzywej wzwyżonej?
Nowoczesne obliczenia krzywej wzwyżonej mogą być niezwykle dokładne, gdy są przeprowadzane poprawnie. Jednak tolerancje budowlane, warunki terenowe i zaokrąglenia w obliczeniach mogą wprowadzać niewielkie różnice. W większości praktycznych zastosowań obliczenia do najbliższego centymetra lub setnej części stopy są wystarczające dla wysokości.
Przykłady Kodów
Oto przykłady, jak obliczyć parametry krzywej wzwyżonej w różnych językach programowania:
1' Funkcja VBA w Excelu do obliczania wysokości w dowolnym punkcie na krzywej wzwyżonej
2Function VerticalCurveElevation(initialGrade, finalGrade, curveLength, pvcStation, pvcElevation, queryStation)
3 ' Konwertuj nachylenia z procentów na formę dziesiętną
4 Dim g1 As Double
5 Dim g2 As Double
6 g1 = initialGrade / 100
7 g2 = finalGrade / 100
8
9 ' Oblicz algebraiczną różnicę nachyleń
10 Dim A As Double
11 A = g2 - g1
12
13 ' Oblicz odległość od PVC
14 Dim x As Double
15 x = queryStation - pvcStation
16
17 ' Sprawdź, czy stacja znajduje się w granicach krzywej
18 If x < 0 Or x > curveLength Then
19 VerticalCurveElevation = "Poza granicami krzywej"
20 Exit Function
21 End If
22
23 ' Oblicz wysokość za pomocą równania krzywej wzwyżonej
24 Dim elevation As Double
25 elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength)
26
27 VerticalCurveElevation = elevation
28End Function
29
30' Funkcja do obliczania wartości 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 """Oblicz wartość K krzywej wzwyżonej."""
5 grade_change = abs(final_grade - initial_grade)
6 if grade_change < 0.0001: # Unikaj dzielenia przez zero
7 return float('inf')
8 return curve_length / grade_change
9
10def calculate_curve_type(initial_grade, final_grade):
11 """Określ, czy krzywa jest wzwyżona, opadająca, czy żadna."""
12 if initial_grade > final_grade:
13 return "wzwyżona"
14 elif initial_grade < final_grade:
15 return "opadająca"
16 else:
17 return "żadna"
18
19def calculate_elevation_at_station(station, initial_grade, final_grade,
20 pvi_station, pvi_elevation, curve_length):
21 """Oblicz wysokość w dowolnej stacji wzdłuż krzywej wzwyżonej."""
22 # Oblicz stacje PVC i PVT
23 pvc_station = pvi_station - curve_length / 2
24 pvt_station = pvi_station + curve_length / 2
25
26 # Sprawdź, czy stacja znajduje się w granicach krzywej
27 if station < pvc_station or station > pvt_station:
28 return None # Poza granicami krzywej
29
30 # Oblicz wysokość PVC
31 g1 = initial_grade / 100 # Konwertuj na formę dziesiętną
32 g2 = final_grade / 100 # Konwertuj na formę dziesiętną
33 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
34
35 # Oblicz odległość od PVC
36 x = station - pvc_station
37
38 # Oblicz algebraiczną różnicę nachyleń
39 A = g2 - g1
40
41 # Oblicz wysokość za pomocą równania krzywej wzwyżonej
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 """Oblicz punkt wysoki lub niski krzywej wzwyżonej, jeśli istnieje."""
49 g1 = initial_grade / 100
50 g2 = final_grade / 100
51
52 # Punkt wysoki/niski istnieje tylko, jeśli nachylenia mają przeciwne znaki
53 if g1 * g2 >= 0 and g1 != 0:
54 return None
55
56 # Oblicz odległość od PVC do punktu wysokiego/niskiego
57 pvc_station = pvi_station - curve_length / 2
58 x = -g1 * curve_length / (g2 - g1)
59
60 # Sprawdź, czy punkt wysoki/niski znajduje się w granicach krzywej
61 if x < 0 or x > curve_length:
62 return None
63
64 # Oblicz stację punktu wysokiego/niskiego
65 hl_station = pvc_station + x
66
67 # Oblicz wysokość PVC
68 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
69
70 # Oblicz wysokość w punkcie wysokim/niskim
71 A = g2 - g1
72 hl_elevation = pvc_elevation + g1 * x + (A * x * x) / (2 * curve_length)
73
74 return {"stacja": hl_station, "wysokość": hl_elevation}
75
1/**
2 * Oblicz wartość K dla krzywej wzwyżonej
3 * @param {number} curveLength - Długość krzywej wzwyżonej w metrach
4 * @param {number} initialGrade - Początkowe nachylenie w procentach
5 * @param {number} finalGrade - Końcowe nachylenie w procentach
6 * @returns {number} Wartość K
7 */
8function calculateKValue(curveLength, initialGrade, finalGrade) {
9 const gradeChange = Math.abs(finalGrade - initialGrade);
10 if (gradeChange < 0.0001) {
11 return Infinity; // Dla równych nachyleń
12 }
13 return curveLength / gradeChange;
14}
15
16/**
17 * Określ typ krzywej wzwyżonej
18 * @param {number} initialGrade - Początkowe nachylenie w procentach
19 * @param {number} finalGrade - Końcowe nachylenie w procentach
20 * @returns {string} Typ krzywej: "wzwyżona", "opadająca" lub "żadna"
21 */
22function determineCurveType(initialGrade, finalGrade) {
23 if (initialGrade > finalGrade) {
24 return "wzwyżona";
25 } else if (initialGrade < finalGrade) {
26 return "opadająca";
27 } else {
28 return "żadna";
29 }
30}
31
32/**
33 * Oblicz wysokość w dowolnej stacji wzdłuż krzywej wzwyżonej
34 * @param {number} station - Stacja zapytania
35 * @param {number} initialGrade - Początkowe nachylenie w procentach
36 * @param {number} finalGrade - Końcowe nachylenie w procentach
37 * @param {number} pviStation - Stacja PVI
38 * @param {number} pviElevation - Wysokość PVI w metrach
39 * @param {number} curveLength - Długość krzywej wzwyżonej w metrach
40 * @returns {number|null} Wysokość w stacji lub null, jeśli poza granicami krzywej
41 */
42function calculateElevationAtStation(
43 station,
44 initialGrade,
45 finalGrade,
46 pviStation,
47 pviElevation,
48 curveLength
49) {
50 // Oblicz stacje PVC i PVT
51 const pvcStation = pviStation - curveLength / 2;
52 const pvtStation = pviStation + curveLength / 2;
53
54 // Sprawdź, czy stacja znajduje się w granicach krzywej
55 if (station < pvcStation || station > pvtStation) {
56 return null; // Poza granicami krzywej
57 }
58
59 // Konwertuj nachylenia na formę dziesiętną
60 const g1 = initialGrade / 100;
61 const g2 = finalGrade / 100;
62
63 // Oblicz wysokość PVC
64 const pvcElevation = pviElevation - (g1 * curveLength / 2);
65
66 // Oblicz odległość od PVC
67 const x = station - pvcStation;
68
69 // Oblicz algebraiczną różnicę w nachyleniach
70 const A = g2 - g1;
71
72 // Oblicz wysokość za pomocą równania krzywej wzwyżonej
73 const elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength);
74
75 return elevation;
76}
77
1public class VerticalCurveCalculator {
2 /**
3 * Oblicz wartość K dla krzywej wzwyżonej
4 * @param curveLength Długość krzywej wzwyżonej w metrach
5 * @param initialGrade Początkowe nachylenie w procentach
6 * @param finalGrade Końcowe nachylenie w procentach
7 * @return Wartość 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; // Dla równych nachyleń
13 }
14 return curveLength / gradeChange;
15 }
16
17 /**
18 * Określ typ krzywej wzwyżonej
19 * @param initialGrade Początkowe nachylenie w procentach
20 * @param finalGrade Końcowe nachylenie w procentach
21 * @return Typ krzywej: "wzwyżona", "opadająca" lub "żadna"
22 */
23 public static String determineCurveType(double initialGrade, double finalGrade) {
24 if (initialGrade > finalGrade) {
25 return "wzwyżona";
26 } else if (initialGrade < finalGrade) {
27 return "opadająca";
28 } else {
29 return "żadna";
30 }
31 }
32
33 /**
34 * Oblicz stację i wysokość PVC
35 * @param pviStation Stacja PVI
36 * @param pviElevation Wysokość PVI w metrach
37 * @param initialGrade Początkowe nachylenie w procentach
38 * @param curveLength Długość krzywej wzwyżonej w metrach
39 * @return Obiekt zawierający stację i wysokość 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 * Oblicz stację i wysokość PVT
50 * @param pviStation Stacja PVI
51 * @param pviElevation Wysokość PVI w metrach
52 * @param finalGrade Końcowe nachylenie w procentach
53 * @param curveLength Długość krzywej wzwyżonej w metrach
54 * @return Obiekt zawierający stację i wysokość 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 * Klasa wewnętrzna do reprezentowania punktu z stacją i wysokością
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
Praktyczne Przykłady
Przykład 1: Projektowanie Krzywej Wzwyżonej na Autostradzie
Projekt autostrady wymaga krzywej wzwyżonej do przejścia z nachylenia +3% do -2%. PVI znajduje się na stacji 1000+00 z wysokością 150,00 metrów. Prędkość projektowa wynosi 100 km/h, co wymaga minimalnej wartości K wynoszącej 80 zgodnie z normami projektowymi.
Krok 1: Oblicz minimalną długość krzywej
Powiązane narzędzia
Odkryj więcej narzędzi, które mogą być przydatne dla Twojego przepływu pracy