Kira parameter lengkung menegak untuk reka bentuk jalan raya dan kereta api. Cari ketinggian, nilai K, titik tinggi/rendah, dan banyak lagi untuk lengkung puncak dan lengkung sag dalam projek pengangkutan.
Kalkulator lengkung menegak adalah alat penting dalam kejuruteraan awam yang membantu jurutera merancang peralihan yang lancar antara pelbagai darjah jalan. Lengkung menegak adalah lengkung parabolik yang digunakan dalam reka bentuk jalan dan kereta api untuk mencipta perubahan secara beransur-ansur antara dua cerun atau gradien yang berbeza, memastikan keadaan memandu yang selesa dan saliran yang betul. Kalkulator ini memudahkan pengiraan matematik yang kompleks yang diperlukan untuk merancang lengkung menegak, membolehkan jurutera awam, pereka jalan, dan profesional pembinaan dengan cepat menentukan parameter utama seperti ketinggian lengkung, titik tinggi dan rendah, dan nilai K.
Sama ada anda merancang lebuh raya, jalan tempatan, atau kereta api, lengkung menegak adalah kritikal untuk keselamatan, keselesaan pemandu, dan pengurusan air hujan yang betul. Kalkulator komprehensif ini mengendalikan kedua-dua lengkung puncak (di mana jalan naik kemudian turun) dan lengkung sag (di mana jalan turun kemudian naik), memberikan semua maklumat penting yang diperlukan untuk reka bentuk penjajaran menegak yang betul dalam projek kejuruteraan pengangkutan.
Lengkung menegak adalah lengkung parabolik yang digunakan dalam penjajaran menegak jalan, lebuh raya, kereta api, dan infrastruktur pengangkutan lain. Ia memberikan peralihan yang lancar antara dua darjah atau cerun yang berbeza, menghapuskan perubahan mendadak yang akan berlaku jika cerun bertemu pada satu titik. Peralihan yang lancar ini adalah penting untuk:
Lengkung menegak biasanya berbentuk parabolik kerana parabola memberikan kadar perubahan yang tetap dalam darjah, menghasilkan peralihan yang lancar yang meminimumkan daya yang dialami oleh kenderaan dan penumpang.
Terdapat dua jenis utama lengkung menegak yang digunakan dalam kejuruteraan awam:
Lengkung Puncak: Ini berlaku apabila darjah awal lebih besar daripada darjah akhir (contohnya, pergi dari +3% ke -2%). Lengkung ini membentuk bukit atau titik tinggi. Lengkung puncak terutamanya direka berdasarkan keperluan jarak penglihatan berhenti.
Lengkung Sag: Ini berlaku apabila darjah awal kurang daripada darjah akhir (contohnya, pergi dari -2% ke +3%). Lengkung ini membentuk lembah atau titik rendah. Lengkung sag biasanya direka berdasarkan jarak penglihatan lampu depan dan pertimbangan saliran.
Untuk sepenuhnya mendefinisikan lengkung menegak, beberapa parameter utama mesti ditetapkan:
Ketinggian pada mana-mana titik sepanjang lengkung menegak boleh dikira menggunakan persamaan kuadratik:
Di mana:
Nilai K adalah ukuran rata lengkung dan dikira sebagai:
Di mana:
Nilai K yang lebih tinggi menunjukkan lengkung yang lebih rata. Piawaian reka bentuk sering menetapkan nilai K minimum berdasarkan kelajuan reka bentuk dan jenis lengkung.
Untuk lengkung puncak di mana dan , atau lengkung sag di mana dan , akan terdapat titik tinggi atau rendah dalam lengkung. Stesen titik ini boleh dikira sebagai:
Ketinggian pada titik tinggi/rendah ini kemudian dikira menggunakan persamaan lengkung menegak asas.
Memandangkan stesen dan ketinggian PVI, PVC dan PVT boleh dikira sebagai:
Nota: Pembahagian dengan 200 dalam formula ketinggian mengambil kira penukaran darjah dari peratus kepada bentuk perpuluhan dan panjang separuh lengkung.
Darjah Sama (g₁ = g₂): Apabila darjah awal dan akhir adalah sama, tiada lengkung menegak diperlukan. Nilai K menjadi infiniti, dan "lengkung" sebenarnya adalah garis lurus.
Perbezaan Darjah yang Sangat Kecil: Apabila perbezaan antara darjah sangat kecil, nilai K menjadi sangat besar. Ini mungkin memerlukan pelarasan pada panjang lengkung untuk pelaksanaan praktikal.
Lengkung Tanpa Panjang: Lengkung menegak dengan panjang sifar tidak sah secara matematik dan harus dielakkan dalam reka bentuk.
Kalkulator lengkung menegak kami memudahkan pengiraan kompleks ini, membolehkan anda dengan cepat menentukan semua parameter utama untuk reka bentuk lengkung menegak anda. Berikut adalah cara untuk menggunakannya:
Selepas memasukkan parameter yang diperlukan, kalkulator akan secara automatik mengira dan memaparkan:
Anda juga boleh menyoal ketinggian pada mana-mana stesen tertentu sepanjang lengkung:
Kalkulator menyediakan representasi visual lengkung menegak, menunjukkan:
Visualisasi ini membantu anda memahami bentuk lengkung dan mengesahkan bahawa ia memenuhi keperluan reka bentuk anda.
Pengiraan lengkung menegak adalah penting dalam pelbagai aplikasi kejuruteraan awam:
Lengkung menegak adalah komponen asas reka bentuk jalan, memastikan keadaan memandu yang selamat dan selesa. Ia digunakan untuk:
Sebagai contoh, semasa merancang lebuh raya yang perlu melintasi kawasan berbukit, jurutera mesti mengira lengkung menegak dengan teliti untuk memastikan pemandu mempunyai jarak penglihatan yang mencukupi untuk berhenti dengan selamat jika terdapat halangan di jalan.
Dalam kejuruteraan kereta api, lengkung menegak adalah kritikal untuk:
Lengkung menegak kereta api sering mempunyai nilai K yang lebih besar daripada jalan raya kerana keupayaan terhad kereta api untuk mengharungi perubahan cerun yang curam.
Lengkung menegak digunakan dalam reka bentuk landasan lapangan terbang untuk:
Apabila membangunkan tanah untuk projek pembinaan, lengkung menegak membantu:
Lengkung menegak adalah penting dalam merancang:
Reka bentuk lengkung menegak yang betul memastikan bahawa air mengalir pada kelajuan yang sesuai dan mengelakkan pengendapan atau hakisan.
Walaupun lengkung menegak parabolik adalah standard dalam kebanyakan aplikasi kejuruteraan awam, terdapat alternatif:
Lengkung Bulat: Digunakan dalam beberapa reka bentuk lama dan dalam piawaian antarabangsa tertentu. Ia memberikan kadar perubahan darjah yang berbeza, yang mungkin kurang selesa untuk pemandu.
Lengkung Clothoid atau Spiral: Kadang-kadang digunakan dalam aplikasi khusus di mana kadar perubahan yang semakin meningkat diinginkan.
Parabola Kubik: Kadang-kadang digunakan untuk situasi khas di mana sifat lengkung yang lebih kompleks diperlukan.
Angka Lurus: Dalam reka bentuk awal yang sangat awal atau untuk kawasan yang sangat rata, sambungan garis lurus yang mudah mungkin digunakan sebagai ganti lengkung menegak yang sebenar.
Lengkung menegak parabolik kekal sebagai standard untuk kebanyakan aplikasi kerana kesederhanaannya, kadar perubahan yang konsisten, dan prosedur reka bentuk yang telah ditetapkan.
Perkembangan metodologi reka bentuk lengkung menegak telah berkembang seiring dengan kejuruteraan pengangkutan:
Dalam pembinaan jalan awal, penjajaran menegak sering ditentukan oleh terrain semulajadi dengan penggredan yang minimum. Apabila kenderaan menjadi lebih pantas dan lebih biasa, keperluan untuk pendekatan yang lebih saintifik kepada reka bentuk jalan menjadi jelas.
Lengkung menegak parabolik menjadi standard pada awal abad ke-20 apabila jurutera menyedari kelebihannya:
Menjelang pertengahan abad ke-20, agensi pengangkutan mula membangunkan pendekatan yang diseragamkan untuk reka bentuk lengkung menegak:
Dengan kemunculan komputer, reka bentuk lengkung menegak menjadi lebih canggih:
Hari ini, reka bentuk lengkung menegak terus berkembang dengan penyelidikan baru mengenai tingkah laku pemandu, dinamik kenderaan, dan pertimbangan alam sekitar.
Nilai K mewakili jarak mendatar yang diperlukan untuk mencapai perubahan 1% dalam darjah. Ia dikira dengan membahagikan panjang lengkung menegak dengan perbezaan mutlak antara darjah awal dan akhir. Nilai K yang lebih tinggi menunjukkan lengkung yang lebih rata. Piawaian reka bentuk sering menetapkan nilai K minimum berdasarkan jarak penglihatan berhenti untuk lengkung puncak dan jarak penglihatan lampu depan untuk lengkung sag.
Jenis lengkung menegak bergantung pada hubungan antara darjah awal dan akhir:
Nilai K minimum bergantung pada kelajuan reka bentuk, jenis lengkung, dan piawaian reka bentuk yang berkenaan. Sebagai contoh, AASHTO menyediakan jadual nilai K minimum berdasarkan jarak penglihatan berhenti untuk lengkung puncak dan jarak penglihatan lampu depan untuk lengkung sag. Kelajuan reka bentuk yang lebih tinggi memerlukan nilai K yang lebih besar untuk memastikan keselamatan.
Titik tinggi (untuk lengkung puncak) atau titik rendah (untuk lengkung sag) berlaku di mana darjah sepanjang lengkung sama dengan sifar. Ini boleh dikira menggunakan formula:
Titik tinggi/rendah hanya wujud dalam lengkung jika stesen ini jatuh antara PVC dan PVT.
Jika darjah awal dan akhir adalah sama, tiada lengkung diperlukan. Hasilnya hanyalah garis lurus dengan darjah yang tetap. Dalam kes ini, nilai K akan menjadi teorinya infiniti.
Lengkung menegak yang lebih panjang menyediakan peralihan yang lebih beransur-ansur antara darjah, menghasilkan keselesaan pemandu yang lebih besar. Lengkung menegak yang pendek boleh mencipta perubahan mendadak dalam pecutan menegak, yang mungkin tidak selesa bagi pemandu dan penumpang. Panjang lengkung yang sesuai bergantung pada kelajuan reka bentuk, perbezaan darjah, dan kekangan tapak.
Secara matematik, lengkung menegak tidak boleh mempunyai panjang sifar kerana ini akan mencipta perubahan mendadak dalam darjah, yang bukanlah lengkung. Dalam amalan, lengkung menegak yang sangat pendek mungkin digunakan dalam persekitaran kelajuan rendah, tetapi ia masih harus mempunyai panjang yang mencukupi untuk memberikan peralihan yang lancar.
Lengkung menegak mempengaruhi arah dan kelajuan aliran air di jalan raya. Lengkung puncak biasanya memudahkan saliran dengan mengarahkan air menjauh dari titik tinggi. Lengkung sag boleh mencipta masalah saliran yang berpotensi di titik rendah, sering memerlukan struktur saliran tambahan seperti inlet atau saluran.
Dalam lengkung menegak simetri standard, PVC terletak separuh panjang lengkung sebelum PVI, dan PVT terletak separuh panjang lengkung selepas PVI.
Pengiraan lengkung menegak moden boleh menjadi sangat tepat apabila dilakukan dengan betul. Walau bagaimanapun, toleransi pembinaan, keadaan lapangan, dan pembundaran dalam pengiraan boleh memperkenalkan variasi kecil. Untuk kebanyakan tujuan praktikal, pengiraan hingga ke sentimeter terdekat atau seratusan kaki adalah mencukupi untuk ketinggian.
Berikut adalah contoh cara mengira parameter lengkung menegak dalam pelbagai bahasa pengaturcaraan:
1' Fungsi VBA Excel untuk mengira ketinggian pada mana-mana titik di lengkung menegak
2Function VerticalCurveElevation(initialGrade, finalGrade, curveLength, pvcStation, pvcElevation, queryStation)
3 ' Tukar darjah dari peratus kepada perpuluhan
4 Dim g1 As Double
5 Dim g2 As Double
6 g1 = initialGrade / 100
7 g2 = finalGrade / 100
8
9 ' Kira perbezaan algebraik dalam darjah
10 Dim A As Double
11 A = g2 - g1
12
13 ' Kira jarak dari PVC
14 Dim x As Double
15 x = queryStation - pvcStation
16
17 ' Semak jika stesen berada dalam had lengkung
18 If x < 0 Or x > curveLength Then
19 VerticalCurveElevation = "Di luar had lengkung"
20 Exit Function
21 End If
22
23 ' Kira ketinggian menggunakan persamaan lengkung menegak
24 Dim elevation As Double
25 elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength)
26
27 VerticalCurveElevation = elevation
28End Function
29
30' Fungsi untuk mengira nilai 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 """Kira nilai K untuk lengkung menegak."""
5 grade_change = abs(final_grade - initial_grade)
6 if grade_change < 0.0001: # Elakkan pembahagian dengan sifar
7 return float('inf')
8 return curve_length / grade_change
9
10def calculate_curve_type(initial_grade, final_grade):
11 """Tentukan sama ada lengkung itu puncak, sag, atau tidak."""
12 if initial_grade > final_grade:
13 return "puncak"
14 elif initial_grade < final_grade:
15 return "sag"
16 else:
17 return "tidak"
18
19def calculate_elevation_at_station(station, initial_grade, final_grade,
20 pvi_station, pvi_elevation, curve_length):
21 """Kira ketinggian pada mana-mana stesen sepanjang lengkung menegak."""
22 # Kira stesen PVC dan PVT
23 pvc_station = pvi_station - curve_length / 2
24 pvt_station = pvi_station + curve_length / 2
25
26 # Semak jika stesen berada dalam had lengkung
27 if station < pvc_station or station > pvt_station:
28 return None # Di luar had lengkung
29
30 # Kira ketinggian PVC
31 g1 = initial_grade / 100 # Tukar kepada perpuluhan
32 g2 = final_grade / 100 # Tukar kepada perpuluhan
33 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
34
35 # Kira jarak dari PVC
36 x = station - pvc_station
37
38 # Kira perbezaan algebraik dalam darjah
39 A = g2 - g1
40
41 # Kira ketinggian menggunakan persamaan lengkung menegak
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 """Kira titik tinggi atau rendah lengkung menegak jika ia wujud."""
49 g1 = initial_grade / 100
50 g2 = final_grade / 100
51
52 # Titik tinggi/rendah hanya wujud jika darjah mempunyai tanda bertentangan
53 if g1 * g2 >= 0 and g1 != 0:
54 return None
55
56 # Kira jarak dari PVC ke titik tinggi/rendah
57 pvc_station = pvi_station - curve_length / 2
58 x = -g1 * curve_length / (g2 - g1)
59
60 # Semak jika titik tinggi/rendah berada dalam had lengkung
61 if x < 0 or x > curve_length:
62 return None
63
64 # Kira stesen titik tinggi/rendah
65 hl_station = pvc_station + x
66
67 # Kira ketinggian PVC
68 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
69
70 # Kira ketinggian pada titik tinggi/rendah
71 A = g2 - g1
72 hl_elevation = pvc_elevation + g1 * x + (A * x * x) / (2 * curve_length)
73
74 return {"station": hl_station, "elevation": hl_elevation}
75
1/**
2 * Kira nilai K untuk lengkung menegak
3 * @param {number} curveLength - Panjang lengkung menegak dalam meter
4 * @param {number} initialGrade - Darjah awal dalam peratus
5 * @param {number} finalGrade - Darjah akhir dalam peratus
6 * @returns {number} Nilai K
7 */
8function calculateKValue(curveLength, initialGrade, finalGrade) {
9 const gradeChange = Math.abs(finalGrade - initialGrade);
10 if (gradeChange < 0.0001) {
11 return Infinity; // Untuk darjah yang sama
12 }
13 return curveLength / gradeChange;
14}
15
16/**
17 * Tentukan jenis lengkung menegak
18 * @param {number} initialGrade - Darjah awal dalam peratus
19 * @param {number} finalGrade - Darjah akhir dalam peratus
20 * @returns {string} Jenis lengkung: "puncak", "sag", atau "tidak"
21 */
22function determineCurveType(initialGrade, finalGrade) {
23 if (initialGrade > finalGrade) {
24 return "puncak";
25 } else if (initialGrade < finalGrade) {
26 return "sag";
27 } else {
28 return "tidak";
29 }
30}
31
32/**
33 * Kira ketinggian pada mana-mana stesen sepanjang lengkung menegak
34 * @param {number} station - Stesen tanya
35 * @param {number} initialGrade - Darjah awal dalam peratus
36 * @param {number} finalGrade - Darjah akhir dalam peratus
37 * @param {number} pviStation - Stesen PVI
38 * @param {number} pviElevation - Ketinggian PVI dalam meter
39 * @param {number} curveLength - Panjang lengkung menegak dalam meter
40 * @returns {number|null} Ketinggian pada stesen atau null jika di luar had lengkung
41 */
42function calculateElevationAtStation(
43 station,
44 initialGrade,
45 finalGrade,
46 pviStation,
47 pviElevation,
48 curveLength
49) {
50 // Kira stesen PVC dan PVT
51 const pvcStation = pviStation - curveLength / 2;
52 const pvtStation = pviStation + curveLength / 2;
53
54 // Semak jika stesen berada dalam had lengkung
55 if (station < pvcStation || station > pvtStation) {
56 return null; // Di luar had lengkung
57 }
58
59 // Tukar darjah kepada perpuluhan
60 const g1 = initialGrade / 100;
61 const g2 = finalGrade / 100;
62
63 // Kira ketinggian PVC
64 const pvcElevation = pviElevation - (g1 * curveLength / 2);
65
66 // Kira jarak dari PVC
67 const x = station - pvcStation;
68
69 // Kira perbezaan algebraik dalam darjah
70 const A = g2 - g1;
71
72 // Kira ketinggian menggunakan persamaan lengkung menegak
73 const elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength);
74
75 return elevation;
76}
77
1public class VerticalCurveCalculator {
2 /**
3 * Kira nilai K untuk lengkung menegak
4 * @param curveLength Panjang lengkung menegak dalam meter
5 * @param initialGrade Darjah awal dalam peratus
6 * @param finalGrade Darjah akhir dalam peratus
7 * @return Nilai 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; // Untuk darjah yang sama
13 }
14 return curveLength / gradeChange;
15 }
16
17 /**
18 * Tentukan jenis lengkung menegak
19 * @param initialGrade Darjah awal dalam peratus
20 * @param finalGrade Darjah akhir dalam peratus
21 * @return Jenis lengkung: "puncak", "sag", atau "tidak"
22 */
23 public static String determineCurveType(double initialGrade, double finalGrade) {
24 if (initialGrade > finalGrade) {
25 return "puncak";
26 } else if (initialGrade < finalGrade) {
27 return "sag";
28 } else {
29 return "tidak";
30 }
31 }
32
33 /**
34 * Kira stesen dan ketinggian PVC
35 * @param pviStation Stesen PVI
36 * @param pviElevation Ketinggian PVI dalam meter
37 * @param initialGrade Darjah awal dalam peratus
38 * @param curveLength Panjang lengkung menegak dalam meter
39 * @return Objek yang mengandungi stesen dan ketinggian 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 * Kira stesen dan ketinggian PVT
50 * @param pviStation Stesen PVI
51 * @param pviElevation Ketinggian PVI dalam meter
52 * @param finalGrade Darjah akhir dalam peratus
53 * @param curveLength Panjang lengkung menegak dalam meter
54 * @return Objek yang mengandungi stesen dan ketinggian 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 * Kelas dalam untuk mewakili titik dengan stesen dan ketinggian
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
Reka bentuk lebuh raya memerlukan lengkung menegak untuk peralihan dari cerun +3% ke cerun -2%. PVI berada di stesen 1000+00 dengan ketinggian 150.00 meter. Kelajuan reka bentuk adalah 100 km/j, yang memerlukan nilai K minimum 80 menurut piawaian reka bentuk.
Langkah 1: Kira panjang lengkung minimum
Temui lebih banyak alat yang mungkin berguna untuk aliran kerja anda