Tính toán các tham số đường cong dọc cho thiết kế đường bộ và đường sắt. Tìm độ cao, giá trị K, điểm cao/thấp và nhiều hơn nữa cho các đường cong đỉnh và hạ trong các dự án giao thông.
Máy tính đường cong thẳng đứng là một công cụ thiết yếu trong kỹ thuật xây dựng giúp các kỹ sư thiết kế các chuyển tiếp mượt mà giữa các độ dốc đường khác nhau. Đường cong thẳng đứng là những đường cong parabol được sử dụng trong thiết kế đường bộ và đường sắt để tạo ra sự thay đổi dần dần giữa hai độ dốc hoặc gradient khác nhau, đảm bảo điều kiện lái xe thoải mái và thoát nước hợp lý. Máy tính này đơn giản hóa các phép toán toán học phức tạp cần thiết để thiết kế đường cong thẳng đứng, cho phép các kỹ sư xây dựng, nhà thiết kế đường và các chuyên gia xây dựng nhanh chóng xác định các tham số chính như độ cao của đường cong, điểm cao và thấp, và giá trị K.
Dù bạn đang thiết kế một con đường cao tốc, đường địa phương hay đường sắt, các đường cong thẳng đứng là rất quan trọng cho sự an toàn, sự thoải mái của người lái xe và quản lý nước mưa hợp lý. Máy tính toàn diện này xử lý cả đường cong đỉnh (nơi đường dốc lên rồi dốc xuống) và đường cong trũng (nơi đường dốc xuống rồi dốc lên), cung cấp tất cả thông tin cần thiết cho việc thiết kế căn chỉnh thẳng đứng đúng cách trong các dự án kỹ thuật giao thông.
Đường cong thẳng đứng là một đường cong parabol được sử dụng trong căn chỉnh thẳng đứng của các con đường, đường cao tốc, đường sắt và cơ sở hạ tầng giao thông khác. Nó cung cấp một chuyển tiếp mượt mà giữa hai độ dốc hoặc gradient khác nhau, loại bỏ sự thay đổi đột ngột sẽ xảy ra nếu các độ dốc gặp nhau tại một điểm. Sự chuyển tiếp mượt mà này là rất cần thiết cho:
Các đường cong thẳng đứng thường có hình dạng parabol vì một đường parabol cung cấp một tỷ lệ thay đổi độ dốc không đổi, dẫn đến một chuyển tiếp mượt mà giúp giảm thiểu các lực mà các phương tiện và hành khách trải qua.
Có hai loại đường cong thẳng đứng chính được sử dụng trong kỹ thuật xây dựng:
Đường Cong Đỉnh: Những đường cong này xảy ra khi độ dốc ban đầu lớn hơn độ dốc cuối (ví dụ, đi từ +3% đến -2%). Đường cong tạo thành một ngọn đồi hoặc điểm cao. Các đường cong đỉnh chủ yếu được thiết kế dựa trên yêu cầu khoảng cách nhìn thấy dừng.
Đường Cong Trũng: Những đường cong này xảy ra khi độ dốc ban đầu nhỏ hơn độ dốc cuối (ví dụ, đi từ -2% đến +3%). Đường cong tạo thành một thung lũng hoặc điểm thấp. Các đường cong trũng thường được thiết kế dựa trên khoảng cách nhìn thấy đèn pha và các yếu tố thoát nước.
Để hoàn toàn xác định một đường cong thẳng đứng, một số tham số chính cần được thiết lập:
Độ cao tại bất kỳ điểm nào trên một đường cong thẳng đứng có thể được tính bằng cách sử dụng phương trình bậc hai:
Trong đó:
Giá trị K là một thước đo độ phẳng của đường cong và được tính như sau:
Trong đó:
Giá trị K cao hơn chỉ ra các đường cong phẳng hơn. Các tiêu chuẩn thiết kế thường quy định các giá trị K tối thiểu dựa trên tốc độ thiết kế và loại đường cong.
Đối với các đường cong đỉnh nơi và , hoặc các đường cong trũng nơi và , sẽ có một điểm cao hoặc thấp trong đường cong. Điểm trạm này có thể được tính như sau:
Độ cao tại điểm cao/thấp này sau đó được tính bằng cách sử dụng phương trình đường cong thẳng đứng cơ bản.
Cho biết trạm và độ cao PVI, PVC và PVT có thể được tính như sau:
Lưu ý: Phép chia cho 200 trong các công thức độ cao tính đến việc chuyển đổi độ dốc từ phần trăm sang dạng thập phân và chiều dài của đường cong.
Các Độ Dốc Bằng Nhau (g₁ = g₂): Khi các độ dốc ban đầu và cuối bằng nhau, không cần thiết phải có đường cong thẳng đứng. Giá trị K trở thành vô hạn, và "đường cong" thực sự là một đường thẳng.
Sự Khác Biệt Độ Dốc Rất Nhỏ: Khi sự khác biệt giữa các độ dốc rất nhỏ, giá trị K trở thành rất lớn. Điều này có thể yêu cầu điều chỉnh chiều dài đường cong cho việc thực hiện thực tế.
Các Đường Cong Có Chiều Dài Bằng Không: Một đường cong thẳng đứng có chiều dài bằng không là không hợp lệ về mặt toán học và nên tránh trong thiết kế.
Máy tính đường cong thẳng đứng của chúng tôi đơn giản hóa những phép toán phức tạp này, cho phép bạn nhanh chóng xác định tất cả các tham số chính cho thiết kế đường cong thẳng đứng của bạn. Dưới đây là cách sử dụng nó:
Sau khi nhập các tham số cần thiết, máy tính sẽ tự động tính toán và hiển thị:
Bạn cũng có thể truy vấn độ cao tại bất kỳ trạm cụ thể nào dọc theo đường cong:
Máy tính cung cấp một hình ảnh trực quan về đường cong thẳng đứng, cho thấy:
Hình ảnh này giúp bạn hiểu hình dạng của đường cong và xác minh rằng nó đáp ứng các yêu cầu thiết kế của bạn.
Các phép tính đường cong thẳng đứng là rất cần thiết trong nhiều ứng dụng kỹ thuật xây dựng:
Các đường cong thẳng đứng là thành phần cơ bản của thiết kế đường, đảm bảo điều kiện lái xe an toàn và thoải mái. Chúng được sử dụng để:
Ví dụ, khi thiết kế một con đường cao tốc cần phải vượt qua địa hình đồi núi, các kỹ sư phải tính toán cẩn thận các đường cong thẳng đứng để đảm bảo rằng người lái xe có đủ khoảng cách nhìn thấy để dừng an toàn nếu có chướng ngại vật xuất hiện trên đường.
Trong kỹ thuật đường sắt, các đường cong thẳng đứng rất quan trọng cho:
Các đường cong thẳng đứng của đường sắt thường có giá trị K lớn hơn so với đường bộ do khả năng hạn chế của tàu trong việc điều hướng các thay đổi độ dốc dốc.
Các đường cong thẳng đứng được sử dụng trong thiết kế đường băng sân bay để:
Khi phát triển đất cho các dự án xây dựng, các đường cong thẳng đứng giúp:
Các đường cong thẳng đứng là rất cần thiết trong việc thiết kế:
Việc thiết kế đường cong thẳng đứng đúng cách đảm bảo rằng nước chảy với tốc độ hợp lý và ngăn ngừa sự lắng đọng hoặc xói mòn.
Mặc dù các đường cong thẳng đứng parabol là tiêu chuẩn trong hầu hết các ứng dụng kỹ thuật xây dựng, nhưng cũng có những thay thế:
Đường Cong Tròn: Được sử dụng trong một số thiết kế cũ và trong một số tiêu chuẩn quốc tế. Chúng cung cấp một tỷ lệ thay đổi độ dốc không đồng đều, có thể kém thoải mái cho người lái xe.
Đường Cong Clothoid hoặc Xoắn Ốc: Đôi khi được sử dụng trong các ứng dụng chuyên biệt nơi cần một tỷ lệ thay đổi dần dần.
Đường Cong Parabol Bậc Ba: Thỉnh thoảng được sử dụng cho các tình huống đặc biệt nơi cần tính chất đường cong phức tạp hơn.
Các Đường Thẳng Approximations: Trong các thiết kế sơ bộ rất ban đầu hoặc cho địa hình rất phẳng, có thể sử dụng các kết nối đường thẳng đơn giản thay vì các đường cong thẳng đứng thực sự.
Đường cong thẳng đứng parabol vẫn là tiêu chuẩn cho hầu hết các ứng dụng do sự đơn giản, tỷ lệ thay đổi không đổi và quy trình thiết kế đã được thiết lập tốt.
Sự phát triển của các phương pháp thiết kế đường cong thẳng đứng đã tiến triển cùng với kỹ thuật giao thông:
Trong xây dựng đường sớm, các căn chỉnh thẳng đứng thường được xác định bởi địa hình tự nhiên với độ dốc tối thiểu. Khi các phương tiện trở nên nhanh hơn và phổ biến hơn, nhu cầu về các phương pháp khoa học hơn cho thiết kế đường trở nên rõ ràng.
Đường cong thẳng đứng parabol trở thành tiêu chuẩn vào đầu thế kỷ 20 khi các kỹ sư nhận ra những lợi thế của nó:
Đến giữa thế kỷ 20, các cơ quan giao thông bắt đầu phát triển các phương pháp tiếp cận tiêu chuẩn hóa cho thiết kế đường cong thẳng đứng:
Với sự xuất hiện của máy tính, thiết kế đường cong thẳng đứng trở nên tinh vi hơn:
Ngày nay, thiết kế đường cong thẳng đứng tiếp tục phát triển với nghiên cứu mới về hành vi của người lái xe, động lực học phương tiện và các yếu tố môi trường.
Giá trị K đại diện cho khoảng cách ngang cần thiết để đạt được sự thay đổi 1% trong độ dốc. Nó được tính bằng cách chia chiều dài của đường cong thẳng đứng cho sự khác biệt tuyệt đối giữa các độ dốc ban đầu và cuối. Các giá trị K cao hơn chỉ ra các đường cong phẳng hơn. Các tiêu chuẩn thiết kế thường quy định các giá trị K tối thiểu dựa trên tốc độ thiết kế và loại đường cong.
Loại đường cong phụ thuộc vào mối quan hệ giữa các độ dốc ban đầu và cuối:
Các giá trị K tối thiểu phụ thuộc vào tốc độ thiết kế, loại đường cong và các tiêu chuẩn thiết kế áp dụng. Ví dụ, AASHTO cung cấp bảng giá trị K tối thiểu dựa trên khoảng cách nhìn thấy dừng cho các đường cong đỉnh và khoảng cách nhìn thấy đèn pha cho các đường cong trũng. Tốc độ thiết kế cao hơn yêu cầu các giá trị K lớn hơn để đảm bảo an toàn.
Điểm cao (cho các đường cong đỉnh) hoặc điểm thấp (cho các đường cong trũng) xảy ra tại nơi độ dốc dọc theo đường cong bằng không. Điều này có thể được tính bằng công thức:
Điểm cao/thấp chỉ tồn tại trong đường cong nếu trạm này nằm giữa PVC và PVT.
Nếu các độ dốc ban đầu và cuối bằng nhau, không cần thiết phải có đường cong thẳng đứng. Kết quả là một đường thẳng với độ dốc không đổi. Trong trường hợp này, giá trị K sẽ lý thuyết là vô hạn.
Các đường cong thẳng đứng ảnh hưởng đến hướng và tốc độ chảy của nước trên các con đường. Các đường cong đỉnh thường tạo điều kiện cho việc thoát nước bằng cách hướng nước ra khỏi điểm cao. Các đường cong trũng có thể tạo ra các vấn đề thoát nước tiềm ẩn tại điểm thấp, thường yêu cầu các cấu trúc thoát nước bổ sung như các điểm thu hoặc ống cống.
Trong một đường cong thẳng đứng đối xứng tiêu chuẩn, PVC nằm cách PVI một nửa chiều dài đường cong trước PVI, và PVT nằm cách PVI một nửa chiều dài đường cong sau PVI.
Các phép tính đường cong thẳng đứng hiện đại có thể cực kỳ chính xác khi được thực hiện đúng cách. Tuy nhiên, các độ chính xác trong xây dựng, điều kiện thực địa và việc làm tròn trong các phép tính có thể tạo ra những biến thể nhỏ. Đối với hầu hết các mục đích thực tiễn, các phép tính đến gần nhất là centimet hoặc phần trăm của một foot là đủ cho các độ cao.
Dưới đây là các ví dụ về cách tính toán các tham số đường cong thẳng đứng trong các ngôn ngữ lập trình khác nhau:
1' Hàm VBA Excel để tính toán độ cao tại bất kỳ điểm nào trên một đường cong thẳng đứng
2Function VerticalCurveElevation(initialGrade, finalGrade, curveLength, pvcStation, pvcElevation, queryStation)
3 ' Chuyển đổi các độ dốc từ phần trăm sang dạng thập phân
4 Dim g1 As Double
5 Dim g2 As Double
6 g1 = initialGrade / 100
7 g2 = finalGrade / 100
8
9 ' Tính toán sự khác biệt đại số trong các độ dốc
10 Dim A As Double
11 A = g2 - g1
12
13 ' Tính toán khoảng cách từ PVC
14 Dim x As Double
15 x = queryStation - pvcStation
16
17 ' Kiểm tra xem trạm có nằm trong giới hạn đường cong không
18 If x < 0 Or x > curveLength Then
19 VerticalCurveElevation = "Ngoài giới hạn đường cong"
20 Exit Function
21 End If
22
23 ' Tính toán độ cao bằng phương trình đường cong thẳng đứng
24 Dim elevation As Double
25 elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength)
26
27 VerticalCurveElevation = elevation
28End Function
29
30' Hàm để tính toán giá trị 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 """Tính giá trị K của một đường cong thẳng đứng."""
5 grade_change = abs(final_grade - initial_grade)
6 if grade_change < 0.0001: # Tránh chia cho không
7 return float('inf')
8 return curve_length / grade_change
9
10def calculate_curve_type(initial_grade, final_grade):
11 """Xác định xem đường cong là đỉnh, trũng hay không."""
12 if initial_grade > final_grade:
13 return "đỉnh"
14 elif initial_grade < final_grade:
15 return "trũng"
16 else:
17 return "không"
18
19def calculate_elevation_at_station(station, initial_grade, final_grade,
20 pvi_station, pvi_elevation, curve_length):
21 """Tính độ cao tại bất kỳ trạm nào dọc theo một đường cong thẳng đứng."""
22 # Tính toán PVC và PVT
23 pvc_station = pvi_station - curve_length / 2
24 pvt_station = pvi_station + curve_length / 2
25
26 # Kiểm tra xem trạm có nằm trong giới hạn đường cong không
27 if station < pvc_station or station > pvt_station:
28 return None # Ngoài giới hạn đường cong
29
30 # Tính toán độ cao PVC
31 g1 = initial_grade / 100 # Chuyển đổi sang dạng thập phân
32 g2 = final_grade / 100 # Chuyển đổi sang dạng thập phân
33 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
34
35 # Tính toán khoảng cách từ PVC
36 x = station - pvc_station
37
38 # Tính toán sự khác biệt đại số trong các độ dốc
39 A = g2 - g1
40
41 # Tính toán độ cao bằng phương trình đường cong thẳng đứng
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 """Tính toán điểm cao hoặc thấp của một đường cong thẳng đứng nếu nó tồn tại."""
49 g1 = initial_grade / 100
50 g2 = final_grade / 100
51
52 # Điểm cao/thấp chỉ tồn tại nếu các độ dốc có dấu hiệu đối lập
53 if g1 * g2 >= 0 and g1 != 0:
54 return None
55
56 # Tính toán khoảng cách từ PVC đến điểm cao/thấp
57 pvc_station = pvi_station - curve_length / 2
58 x = -g1 * curve_length / (g2 - g1)
59
60 # Kiểm tra xem điểm cao/thấp có nằm trong giới hạn đường cong không
61 if x < 0 or x > curve_length:
62 return None
63
64 # Tính toán trạm của điểm cao/thấp
65 hl_station = pvc_station + x
66
67 # Tính toán độ cao PVC
68 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
69
70 # Tính toán độ cao tại điểm cao/thấp
71 A = g2 - g1
72 hl_elevation = pvc_elevation + g1 * x + (A * x * x) / (2 * curve_length)
73
74 return {"trạm": hl_station, "độ cao": hl_elevation}
75
1/**
2 * Tính giá trị K cho một đường cong thẳng đứng
3 * @param {number} curveLength - Chiều dài của đường cong thẳng đứng bằng mét
4 * @param {number} initialGrade - Độ dốc ban đầu bằng phần trăm
5 * @param {number} finalGrade - Độ dốc cuối bằng phần trăm
6 * @returns {number} Giá trị K
7 */
8function calculateKValue(curveLength, initialGrade, finalGrade) {
9 const gradeChange = Math.abs(finalGrade - initialGrade);
10 if (gradeChange < 0.0001) {
11 return Infinity; // Đối với các độ dốc bằng nhau
12 }
13 return curveLength / gradeChange;
14}
15
16/**
17 * Xác định loại đường cong thẳng đứng
18 * @param {number} initialGrade - Độ dốc ban đầu bằng phần trăm
19 * @param {number} finalGrade - Độ dốc cuối bằng phần trăm
20 * @returns {string} Loại đường cong: "đỉnh", "trũng" hoặc "không"
21 */
22function determineCurveType(initialGrade, finalGrade) {
23 if (initialGrade > finalGrade) {
24 return "đỉnh";
25 } else if (initialGrade < finalGrade) {
26 return "trũng";
27 } else {
28 return "không";
29 }
30}
31
32/**
33 * Tính toán độ cao tại bất kỳ trạm nào dọc theo một đường cong thẳng đứng
34 * @param {number} station - Trạm truy vấn
35 * @param {number} initialGrade - Độ dốc ban đầu bằng phần trăm
36 * @param {number} finalGrade - Độ dốc cuối bằng phần trăm
37 * @param {number} pviStation - Trạm PVI
38 * @param {number} pviElevation - Độ cao PVI bằng mét
39 * @param {number} curveLength - Chiều dài của đường cong thẳng đứng bằng mét
40 * @returns {number|null} Độ cao tại trạm hoặc null nếu ngoài giới hạn đường cong
41 */
42function calculateElevationAtStation(
43 station,
44 initialGrade,
45 finalGrade,
46 pviStation,
47 pviElevation,
48 curveLength
49) {
50 // Tính toán PVC và PVT
51 const pvcStation = pviStation - curveLength / 2;
52 const pvtStation = pviStation + curveLength / 2;
53
54 // Kiểm tra xem trạm có nằm trong giới hạn đường cong không
55 if (station < pvcStation || station > pvtStation) {
56 return null; // Ngoài giới hạn đường cong
57 }
58
59 // Chuyển đổi các độ dốc sang dạng thập phân
60 const g1 = initialGrade / 100;
61 const g2 = finalGrade / 100;
62
63 // Tính toán độ cao PVC
64 const pvcElevation = pviElevation - (g1 * curveLength / 2);
65
66 // Tính toán khoảng cách từ PVC
67 const x = station - pvcStation;
68
69 // Tính toán sự khác biệt đại số trong các độ dốc
70 const A = g2 - g1;
71
72 // Tính toán độ cao bằng phương trình đường cong thẳng đứng
73 const elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength);
74
75 return elevation;
76}
77
1public class VerticalCurveCalculator {
2 /**
3 * Tính giá trị K cho một đường cong thẳng đứng
4 * @param curveLength Chiều dài của đường cong thẳng đứng bằng mét
5 * @param initialGrade Độ dốc ban đầu bằng phần trăm
6 * @param finalGrade Độ dốc cuối bằng phần trăm
7 * @return Giá trị 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; // Đối với các độ dốc bằng nhau
13 }
14 return curveLength / gradeChange;
15 }
16
17 /**
18 * Xác định loại đường cong thẳng đứng
19 * @param initialGrade Độ dốc ban đầu bằng phần trăm
20 * @param finalGrade Độ dốc cuối bằng phần trăm
21 * @return Loại đường cong: "đỉnh", "trũng" hoặc "không"
22 */
23 public static String determineCurveType(double initialGrade, double finalGrade) {
24 if (initialGrade > finalGrade) {
25 return "đỉnh";
26 } else if (initialGrade < finalGrade) {
27 return "trũng";
28 } else {
29 return "không";
30 }
31 }
32
33 /**
34 * Tính toán trạm và độ cao PVC
35 * @param pviStation Trạm PVI
36 * @param pviElevation Độ cao PVI bằng mét
37 * @param initialGrade Độ dốc ban đầu bằng phần trăm
38 * @param curveLength Chiều dài của đường cong thẳng đứng bằng mét
39 * @return Đối tượng chứa trạm và độ cao của 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 * Tính toán trạm và độ cao PVT
50 * @param pviStation Trạm PVI
51 * @param pviElevation Độ cao PVI bằng mét
52 * @param finalGrade Độ dốc cuối bằng phần trăm
53 * @param curveLength Chiều dài của đường cong thẳng đứng bằng mét
54 * @return Đối tượng chứa trạm và độ cao của 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 * Lớp bên trong để đại diện cho một điểm với trạm và độ cao
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
Một thiết kế đường cao tốc yêu cầu một đường cong thẳng đứng để chuyển tiếp từ độ dốc +3% sang độ dốc -2%. PVI nằm ở trạm 1000+00 với độ cao 150,00 mét. Tốc độ thiết kế là 100 km/h, yêu cầu giá trị K tối thiểu là 80 theo tiêu chuẩn thiết kế.
Bước 1: Tính toán chiều dài đường cong tối thiểu
Khám phá thêm các công cụ có thể hữu ích cho quy trình làm việc của bạn