thuật toán chơng trình
Xác định độ dịch chuyển
của bình diện đờng sắt cải tạo, ví dụ tính toán
TS. Phạm Văn ký
Bộ môn Đờng sắt - ĐH GTVT
Tóm tắt: Bi báo ny đa ra thuật toán chơng trình tính lợng dịch cho cả đoạn tuyến cải tạo.
Đặc biệt l thuật toán xác định điểm đo giáp ranh sẽ thuộc phạm vi tính toán no.
Summary: The article proposes practical calculus for indentifying alignment deviation of the
whole section of reformed railways, especially for measuring junction points.
1. Thuật toán chơng trình xác định độ dịch của bình diện đờng sắt cải tạo
Độ dịch của một điểm trên tim đờng hiện tại là khoảng cách từ điểm đó đến tim đờng thiết kế.
Thuật toán của bài toán này dựa trên các mô hình toán đã đợc trình bày ở bài báo [1], [2]. Sau đây là
phần phân tích chi tiết giải thuật của bài toán Xác định độ dịch.
Các điểm thuộc
đờn
g
th
ẳ
n
g
BĐ
Nhập toạ độ điểm
đ
o
Nhập toạ độ điểm KC
Chia nhóm các điểm
Xác định độ dịch - In KQ
KT
áp dụng
bài toán 3
X.định tham số
của đờng thẳng
X.định tham số
đờng cong CT
Chọn bài toán
xđịnh tham số
Các điểm thuộc
đờn
g
con
g
tròn
Các điểm thuộc đờng
cong chuyển tiếp (CT)
áp dụng
bài toán 4
áp dụng
bài toán 1
áp dụng
bài toán 2
Sơ đồ khối 1
- Các số liệu đầu vào:
+ Toạ độ của các điểm trên tim đờng sắt hiện tại. (Các điểm khống chế - nếu có).
- Các số liệu đa ra: Độ dịch của các điểm trên đờng hiện tại so với tim đờng thiết kế.
- Phơng pháp thực hiện:
Số liệu vào:
Nhập toạ độ của các điểm đo vào máy theo hai ma trận một chiều X, Y.
Nhập toạ độ của các điểm khống chế tơng ứng với các đờng cong theo tim tuyến.
Trình tự và kết quả tính toán:
Xác định xem trong các điểm đã cho, điểm nào nằm trên đờng thẳng, điểm nào nằm
trên đờng cong tròn, điểm nào nằm trên đờng cong chuyển tiếp - "chia nhóm".
Trên cơ sở các điểm đã chia nhóm, xác định tham số của các yếu tố tim tuyến: phơng
trình đờng thẳng, bán kính đờng cong, góc chuyển hớng của đờng cong; chiều dài
đờng cong chuyển tiếp. Xác định độ dịch của các điểm trên tim đờng.
In kết quả tính toán.
Toàn bộ thuật toán chính của bài toán tính các thông số và độ dịch của bình diện đờng sắt cải
tạo đợc tóm tắt bằng sơ đồ khối 1.
1.1. Thuật toán Chia nhóm các điểm
Để tính toán các yếu tố đờng cong cũng nh độ dịch của đờng đang khai thác so với đờng
thiết kế, trớc hết cần xác định phạm vi của các đoạn thẳng, đoạn nằm trên đờng cong tròn và đoạn
nằm trong đờng cong chuyển tiếp trên bình diện.
- Số liệu đầu vào: X
i
, Y
i
(i = 1 ữ n)
- Số liệu đa ra: Ma trận vị trí [Vtri] (ma trận cột), mỗi phần tử của [Vtri] là số hiệu xác định một
điểm đo chỉ ra ranh giới bắt đầu hay kết thúc của một đoạn thẳng hoặc đoạn cong.
Lần lợt xác định các góc kẹp
j
, bán kính R
j
(j = 1 ữ n - 2) đi qua từng cặp ba điểm (X
i
, Y
i
),
(X
i+ 1
, Y
i+ 1
) và (X
i+ 2
, Y
i+ 2
) với i = 1 ữ n - 2.
Đặt [Vtrí]
1
= 1, k = 1 (k: là số các điểm đánh dấu).
Đặt j = 1.
Nếu góc kẹp giữa 2 đoạn thẳng, một tạo bởi hai điểm có toạ độ (X
i
, Y
i
), (X
i+ 1
, Y
i+ 1
) và một tạo bởi
hai điểm có toạ độ (X
i+ 1
, Y
i+ 1
), (X
i+ 2
, Y
i+ 2
) là
j
= 180
o
00'00" 03'00" thì (lúc này ba điểm (X
i
, Y
i
),
(X
i+ 1
, Y
i+ 1
) và (X
i+ 2
, Y
i+ 2
) đợc coi nh nằm trên đờng thẳng) tức là :
Lặp cho đến khi
j
còn = 180
o
00'00" 03'00";
(03' tơng đơng với độ dịch tim tuyến của dây cung 10 m là 8 mm trên đờng thẳng. Mặt
khác góc giữa 2 dây cung 20 m trên đờng cong R = 4000 m là 17', vì vậy 03' sẽ đáp ứng
đợc các yêu cầu của bài toán, nếu giá trị này giảm xuống, khi tính toán máy tính hay bị lỗi).
Tăng k = k + 1, ghi nhận vị trí [Vtrí]
k
= j + 2.
Trái lại, cứ qua 3 điểm đo ta có thể xác định đợc một đờng tròn có một bán kính R nào đó,
so sánh trị số Rj với Rj+1, nếu chúng xấp xỉ bằng nhau thì (lúc này các điểm (Xi, Yi),
(Xi+1, Yi+1), (Xi+2, Yi+2), (Xi+3, Yi+3) cùng nằm trên một đờng cong tròn):
Lặp cho đến khi R
j
và R
j+ 1
còn xấp xỉ bằng nhau.
Tăng k = k + 1, ghi nhận vị trí [Vtrí]
k
= j + 2.
Những điểm nằm ngoài phạm vi của các đờng thẳng hoặc đờng cong sẽ thuộc đờng
cong chuyển tiếp.
Tăng j = j + 1, quay lại bớc 4, lặp cho đến khi j n - 2.
Dới đây là sơ đồ khối 2 cho chơng trình chia nhóm các điểm.
Sơ đồ khối 2
BĐ
j
= 1, k = 1, Vtri[k] = j
Tính góc kẹp
j
, bán kính R
j
j
= j + 1
j n - 2
j = 1
j
= 180
o
03'
j = j + 1
j n - 2
j = j + 1
+
-
j
= 180
o
03'
k = k + 1, Vtri[k] = j + 2
-
+
R
j
R
j+1
+
-
j = j + 1
+
R
j
R
j + 1
k = k + 1, Vtri[k] = j + 2
-
KT
1.2. Thuật toán xác định lợng dịch của các điểm trên đờng hiện tại
1.2.1. Thuật toán xác định lợng dịch của các điểm nằm trên đoạn thẳng
Từ toạ độ các điểm đo, xác định lợng dịch từ điểm đo đến đờng thẳng có các tham số A, B đã
biết.
- Số liệu đầu vào: X
i
, Y
i
(i = g ữ l), A, B.
- Số liệu đa ra: Các độ dịch tơng ứng với các điểm đo.
- Phơng pháp:
Đặt j = g.
Tính: a = - 1/A; b = Y[j] - a.X[j]; X =
aA
Bb
; Y = A.X + B; kc =
22
])j[YY(])j[XX(( +
. In kết
quả độ dịch tính đợc.
Tăng j = j + 1, quay lại bớc 2, lặp cho đến khi j l (xem sơ đồ khối 3)
1.2.2. Thuật toán xác định lợng dịch của một điểm nằm trên đờng cong tròn
Từ toạ độ các điểm đo, xác định lợng dịch từ điểm đo đến đờng cong tròn có bán kính R, toạ độ
tâm X
o
, Y
o
.
- Số liệu đầu vào: X
i
, Y
i
(i = g ữ l), R, X
o
, Y
o
.
Số liệu đa ra: Các độ dịch tơng ứng với các điểm đo.
Sơ đồ khối 3
BĐ
j = g
a = - 1/A; b = Y[j] - a.X[j]; X = (b - B)/(A - a); Y = A.X + B;
kc =
22
])j[YY(])j[XX( +
j = j + 1
j l
KT
+
-
- Phơng pháp:
Đặt j = g.
Tính kc = R -
2
o
2
o
])j[YY(])j[XX( +
. In ra kết quả độ dịch tính đợc.
Tăng j = j + 1, quay lại bớc 2, lặp cho đến khi j l (sơ đồ khối 4).
Sơ đồ khối 4
BĐ
j = g
kc = R -
2
o
2
o
])j[YY(])j[XX( +
j = j + 1
j l
KT
+
-
1.2.3. Thuật toán xác định lợng dịch của một điểm nằm trên đờng cong chuyển tiếp
Từ toạ độ các điểm đo, xác định lợng dịch từ điểm đo đến đờng cong chuyển tiếp (ĐCCT) có
chiều dài L thuộc đờng cong tròn bán kính R, toạ độ tâm X
o
, Y
o
, toạ độ điểm nối đầu (hoặc nối cuối)
là X
d
, Y
d
và góc nghiêng của cánh tang với trục Ox là .
- Số liệu đầu vào: X
i
, Y
i
(i = g ữ l), L, R, X
d
, Y
d
, .
- Số liệu đa ra: Các độ dịch tơng ứng với các điểm.
Đặt j = g. Chuyển toạ độ của điểm M(X[j], Y[j]) từ hệ toạ độ chung xOy về hệ toạ độ địa
phơng uO'v (trong đó O' là điểm nối đầu hoặc nối cuối, O'v trùng với hớng cánh tang) ta
đợc M(X', Y'):
Y' = - (X[j] - X
d
).sin + (Y[j] - Y
d
).cos;
X' = (X[j] - X
d
).cos + (Y[j] - Y
d
).sin
Đặt chiều dài từ O' đến điểm N và N' (N, N' là những điểm nằm trên đờng cong chuyển tiếp,
khi MN ĐCCT thì MN chính là độ dịch của điểm M; N' nằm cách N một đoạn ) lần lợt là
s = X' và s' = s + .
Tính toạ độ các điểm N, N'; tính góc = góc(MNN'), hc = MN.cos.
Kiểm tra xem hc > sai số : nếu đúng thì tăng s = s + hc, s' = s + , quay lại bớc 4;
Trái lại MN chính là độ dịch.
In kết quả độ dịch tính đợc.
Tăng j = j + 1, quay lại bớc 2, lặp cho đến khi j l.
Dới đây là sơ đồ khối cho bài toán tính độ dịch của điểm đo so với đờng cong chuyển tiếp lý
thuyết.
BĐ
j = g;
= 0,001
Chuyển toạ độ M(X[j], Y[j]): Y' = - (X[j] - X
d
).sin + (Y[j] - Y
d
).cos
X' = (X[j] - X
d
).cos + (Y[j] - Y
d
).sin
s = X' và s' = s +
j = j + 1
j l
KT
+
-
Tính toạ độ các điểm N, N' tơng ứng với chiều dài s, s';
Tính góc = góc (MNN'); Chiều dài đoạn MN
hc = MN.cos
hc>
+
-
s = s + hc
s' = s +
kc = MN
2. Ví dụ tính toán
Ví dụ 1. Tính độ dịch của các điểm nằm trên 2 đờng cong liên hợp cùng chiều với các số liệu toạ
độ của đầu vào nh sau:
Toạ độ Toạ độ
X Y X Y
- 99.706 - 1.531 158.837 145.733
- 81.242 6.155 172.186 160.738
- 62.777 13.841 184.733 176.334
- 44.313 21.527 196.553 192.468
- 25.849 29.213 207.723 209.082
- 7.385 36.899 218.248 226.171
11.038 44.778 228.066 243.650
29.272 53.034 237.176 261.465
47.242 61.816 245.557 279.625
64.857 71.305 253.470 298.008
82.004 81.728 261.128 316.512
98.646 92.998 268.775 334.992
114.652 105.031 276.423 353.472
130.010 117.863 284.070 371.952
144.746 131.401 291.717 390.433
Đ
ờ
n
g
c
o
n
g
1
Đ
ờ
n
g
c
o
n
g
C
T
L
H
Đ
ờ
n
g
c
o
n
g
2
Đờng cong liên hợp cùng chiều
Trên đờng cong thứ nhất có 3 điểm khống chế ứng với các toạ độ nh sau:
Số hiệu ĐC Bài toán X
1
Y
1
X
2
Y
2
X
3
Y
3
1 1 82.0042 81.7279 114.6525 105.0311 158.8373 145.7331
Trên đờng cong thứ 2 tính theo độ dịch nhỏ nhất.
Kết quả tính toán thông qua chơng trình:
X Y Yếu tố Đ.dịch (hc)
- 99.706 - 1.531 trên đoạn thẳng 0.0000
- 81.242 6.155 trên đoạn thẳng 0.0001
- 62.777 13.841 trên đoạn thẳng - 0.0002
- 44.313 21.527 trên đoạn thẳng - 0.0001
- 25.849 29.213 trên đoạn thẳng 0.0000
- 7.385 36.899 trên đoạn thẳng - 0.0001
11.038 44.778 trên DCCT L = 90.086, R = 402.684 0.0144
29.272 53.034 trên DCCT L = 90.086, R = 402.684 0.0156
47.242 61.816 trên DCCT L = 90.086, R = 402.684 0.0194
64.857 71.305 trên DCTR R = 402.684 - 0.0203
82.004 81.728 trên DCTR R = 402.684 0.0002
98.646 92.998 trên DCTR R = 402.684 0.0047
114.652 105.031 trên DCTR R = 402.684 0.0002
130.010 117.863 trên DCTR R = 402.684 0.0292
144.746 131.401 trên DCTR R = 402.684 0.0045
158.837 145.733 trên DCTR R = 402.684 0.0002
172.186 160.738 trên DCCT L = 232.186, R = 402.684 0.0108
184.733 176.334 trên DCCT L = 232.186, R = 402.684 0.0177
196.553 192.468 trên DCCT L = 232.186, R = 402.684 0.0236
207.723 209.082 trên DCTR R = 505.367 0.0011
218.248 226.171 trên DCTR R = 505.367 - 0.0033
228.066 243.650 trên DCTR R = 505.367 0.0033
237.176 261.465 trên DCTR R = 505.367 - 0.0011
245.557 279.625 trên DCCT L = 44.769, R = 505.367 0.0215
253.470 298.008 trên đoạn thẳng 0.0004
261.128 316.512 trên đoạn thẳng - 0.0003
268.775 334.992 trên đoạn thẳng - 0.0001
276.423 353.472 trên đoạn thẳng 0.0005
284.070 371.952 trên đoạn thẳng - 0.0002
291.717 390.433 trên đoạn thẳng 0.0005
Ví dụ 2. Tính độ dịch của các điểm nằm trên đờng cong liên hợp ngợc chiều với các số liệu toạ
độ điểm đo nh sau:
Toạ độ Toạ độ Toạ độ
X Y X Y X Y
606194.997 2240168.767 605770.983 2240523.100 605305.116 2240600.390
606168.640 2240198.856 605752.289 2240530.208 605285.639 2240604.902
606142.283 2240228.945 605733.516 2240537.105 605248.012 2240618.372
606129.105 2240243.989 605714.699 2240543.882 605229.864 2240626.771
606102.748 2240274.078 605695.869 2240550.622 605212.006 2240635.776
606089.570 2240289.122 605658.209 2240564.102 605194.271 2240645.021
606076.361 2240304.141 605620.548 2240577.582 605176.475 2240654.151
606063.048 2240319.064 605601.700 2240584.270 605158.448 2240662.807
606049.564 2240333.837 605582.729 2240590.598 605140.051 2240670.648
606035.844 2240348.386 605563.526 2240596.181 605063.250 2240692.564
606021.818 2240362.644 605544.033 2240600.638 605023.594 2240697.667
606007.433 2240376.538 605524.284 2240603.791 604884.962 2240684.175
605977.504 2240403.068 605504.374 2240605.622 604828.589 2240663.799
605946.110 2240427.847 605484.384 2240606.121 604810.460 2240655.354
605913.349 2240450.790 605464.400 2240605.374 604792.502 2240646.553
605879.334 2240471.824 605444.469 2240603.734 604774.568 2240637.694
605844.173 2240490.883 605424.583 2240601.600 604738.705 2240619.978
605807.982 2240507.906 605404.708 2240599.371 604702.843 2240602.262
605789.561 2240515.695 605344.845 2240596.097 604666.980 2240584.546
605324.896 2240597.450
Đờn
g
con
g
1
Đờn
g
con
g
2
Đờn
g
con
g
3
Đờn
g
con
g
4
Các Đờng cong liên hợp trái chiều
Kết quả tính toán bằng chơng trình theo bài toán tổng bình phơng độ dịch nhỏ nhất nh sau:
X Y Yếu tố Đ.dịch (hc)
606194.997 2240168.767 trên đoạn thẳng 0.0000
606168.640 2240198.856 trên đoạn thẳng 0.0000
606142.283 2240228.945 trên đoạn thẳng 0.0000
606129.105 2240243.989 trên đoạn thẳng 0.0000
606102.748 2240274.078 trên đoạn thẳng 0.0000
606089.570 2240289.122 trên đoạn thẳng 0.0000
606076.361 2240304.141 trên DCCT L = 119.668, R = 700.091 0.0047
606063.048 2240319.064 trên DCCT L = 119.668, R = 700.091 0.0012
606049.564 2240333.837 trên DCCT L = 119.668, R = 700.091 0.0002
606035.844 2240348.386 trên DCCT L = 119.668, R = 700.091 - 0.0008
606021.818 2240362.644 trên DCTR R = 700.091 - 0.0003
606007.433 2240376.538 trên DCTR R = 700.091 0.0010
605977.504 2240403.068 trên DCTR R = 700.091 0.0002
605946.110 2240427.847 trên DCTR R = 700.091 - 0.0021
605913.349 2240450.790 trên DCTR R = 700.091 - 0.0002
605879.334 2240471.824 trên DCTR R = 700.091 0.0012
605844.173 2240490.883 trên DCTR R = 700.091 0.0014
605807.982 2240507.906 trên DCTR R = 700.091 - 0.0012
605789.561 2240515.695 trên DCCT L = 119.778, R = 700.091 0.0027
605770.983 2240523.100 trên DCCT L = 119.778, R = 700.091 0.0021
605752.289 2240530.208 trên DCCT L = 119.778, R = 700.091 0.0007
605733.516 2240537.105 trên DCCT L = 119.778, R = 700.091 0.0005
605714.699 2240543.882 trên đoạn thẳng - 0.0001
605695.869 2240550.622 trên đoạn thẳng 0.0000
605658.209 2240564.102 trên đoạn thẳng - 0.0001
605620.548 2240577.582 trên đoạn thẳng - 0.0001
605601.700 2240584.270 trên DCCT L = 66.179, R = 300.263 0.0005
605582.729 2240590.598 trên DCCT L = 66.179, R = 300.263 - 0.0014
605563.526 2240596.181 trên DCTR R = 300.263 - 0.0006
605544.033 2240600.638 trên DCTR R = 300.263 0.0012
605524.284 2240603.791 trên DCTR R = 300.263 0.0000
605504.374 2240605.622 trên DCTR R = 300.263 - 0.0012
605484.384 2240606.121 trên DCTR R = 300.263 0.0006
605464.400 2240605.374 trên DCCT L = 66.540, R = 300.263 0.0025
605444.469 2240603.734 trên DCCT L = 66.540, R = 300.263 0.0019
605424.583 2240601.600 trên DCCT L = 66.540, R = 300.263 0.0008
605404.708 2240599.371 trên DCCT L = 79.877, R = 250.131 - 0.0594
605344.845 2240596.097 trên DCTR R = 250.131 - 0.0003
605324.896 2240597.450 trên DCTR R = 250.131 0.0008
605305.116 2240600.390 trên DCTR R = 250.131 - 0.0008
605285.639 2240604.902 trên DCTR R = 250.131 0.0003
605248.012 2240618.372 trên DCCT L = 79.856, R = 250.131 - 0.0037
605229.864 2240626.771 trên DCCT L = 79.856, R = 250.131 - 0.0018
605212.006 2240635.776 trên DCCT L = 79.856, R = 250.131 - 0.0009
605194.271 2240645.021 trên DCCT L = 49.929, R = 400.059 0.0053
605158.448 2240662.807 trên DCCT L = 49.929, R = 400.059 0.0002
605140.051 2240670.648 trên DCTR R = 400.059 0.0008
605063.250 2240692.564 trên DCTR R = 400.059 - 0.0012
605023.594 2240697.667 trên DCTR R = 400.059 - 0.0013
604884.962 2240684.175 trên DCTR R = 400.059 0.0036
604828.589 2240663.799 trên DCTR R = 400.059 - 0.0022
604810.460 2240655.354 trên DCCT L = 49.275, R = 400.058 0.0021
604792.502 2240646.553 trên DCCT L = 49.275, R = 400.059 - 0.0002
604774.568 2240637.694 trên đoạn thẳng - 0.0001
604738.705 2240619.978 trên đoạn thẳng 0.0002
604702.843 2240602.262 trên đoạn thẳng 0.0001
604666.980 2240584.546 trên đoạn thẳng 0.0000
3. Kết luận
Từ các nghiên cứu về lý thuyết trong [1] và [2], phần thuật toán của chơng trình đã giải quyết
thành công vấn đề về chia nhóm các điểm. Sau khi phân nhóm kết hợp các bài toán đờng cong tròn
và đờng cong chuyển tiếp lại với nhau để giải quyết bài toán trong đờng cong liên hợp. Kết quả tính
toán cho hai ví dụ đờng cong cùng chiều và ngợc chiều cho thấy sai số đảm bảo độ chính xác.
Tài liệu tham khảo
[1]. TS. Phạm Văn Ký. Nghiên cứu cơ sở lý thuyết mới trong khảo sát thiết kế đờng sắt cũ khi sử dụng máy
đo đạc điện tử. Đề tài NCKH mã số T97 - CT - 47.
[2]. Thomas F.Hickerson. Route location and design. Fifth Edition, 1995.
[3].
U. B. TurBin. Khảo sát thiết kế đờng sắt. M: Transport 1989 Ă