Giúp đỡ tính diện tích đào đắp (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

trung_dang

Thành viên mới
Tham gia
16/1/07
Bài viết
45
Được thích
21
Chào các bác! Tôi có bài toán về tính diện tích đào đắp như sau : Cho 4 điểm A, B, C, D có cao độ giả sử lần lượt là 1,2,3,4. Điểm A nối điểm B thành 1 đường thẳng, điểm C nối điểm D thành 1 đường thẳng. Hai đường thẳng này có thể cắt nhau hoặc không cắt tạo thành 4 dạng( như trong file đính kèm). Mục đích : tính diện tích các hình được tạo thành giữa 2 đường thẳng. Mong các bác ra tay giúp tôi.
 

File đính kèm

Về dạng 1 và dạng 2 thì dễ rồi... đó là hình bình hành:
Về dạng 1 và dạng 2 thì dễ rồi... đó là hình bình hành:
S= (đáy lớn + đáy nhỏ)*đường cao/2
Dạng 3 và 4 thì hơi khó 1 chút, nếu tính bằng phương pháp hình học thì có lẽ phải vẽ thêm đường phụ (đễ xem đã)
Gợi ý bạn 1 cách tổng quát nhất là dùng phương pháp tích phân:
1> Ta đã có tọa độ cũa 4 điểm thì có thể suy ra dc pt đường thẳng nối 2 điểm... giã sử gọi là D1 và D2
2> Từ phương trình đường thẳng suy ra dc tọa độ giao điểm.. giã sử gọi giao điểm là G với tọa độ Xg và Yg
3> Vậy ta sẽ có 2 tích phân sau đây:
S1 = diện tích giới hạn bởi D1 và D2 , tính từ 0 đến G(Xg,Yg)
S2 = diện tích giới hạn bởi D1 và D2, tính từ G(Xg,Yg) đến a(m)
Bạn mở sách phổ thông ra xem cách tính đi... làm biếng quá! Tích phân của phương trình F(x) =Ax + B dễ như ăn cháo ấy mà.. Ra kết quã, thế cận trên, cận dưới vào là.. xong
ANH TUẤN
 
anhtuan1066 đã viết:
Bạn mở sách phổ thông ra xem cách tính đi... làm biếng quá! Tích phân của phương trình F(x) =Ax + B dễ như ăn cháo ấy mà.. Ra kết quã, thế cận trên, cận dưới vào là.. xong
Tính theo tính phân thì đúng rùi,
Nhưng trong máy tính ng ta ko tính tích phân theo nguyên hàm thế
Ng ta sẽ số hóa tích phân dx-> delta x -> chia nhỏ miền tính toán -> tính diện tích phần nhỏ (coi là HCN) rồi TỔNG lại -> được kq Diện tích


@trung_dang
Chào các bác! Tôi có bài toán về tính diện tích đào đắp như sau : Cho 4 điểm A, B, C, D có cao độ giả sử lần lượt là 1,2,3,4. Điểm A nối điểm B thành 1 đường thẳng, điểm C nối điểm D thành 1 đường thẳng. Hai đường thẳng này có thể cắt nhau hoặc không cắt tạo thành 4 dạng( như trong file đính kèm). Mục đích : tính diện tích các hình được tạo thành giữa 2 đường thẳng. Mong các bác ra tay giúp tôi.

+ Oh, Dạng 2 của bạn có nhầm ko nhỉ (về ký hiệu A,B,C,D đó).

+ bạn nói A,B,C,D có cao độ -> hình bản vẽ là mặt bằng (hình chiếu bằng) ah, -> bạn tính diện tích mặt nào? (vì nếu đúng là cao độ -> 2 đg thẳng ko gian 3D-> mặt sẽ khác nhé) (???)

+ Còn nó chỉ là mặt 2D, cao độ A,B,C,D là thể hiện tung độ của nó thì ta sẽ tính bằng cách chia nhỏ miền tính toán (tính theo gần đúng của tích phân):
- Chia nhỏ miền tính toán (a m) đó ra thành n đoạn bằng nhau (chẳng hạn n=1000) - n làm sao đủ lớn để tránh sai số).
- Tại 1 đoạn chúng ta xđ giao điểm của đường thẳng đứng tâm của đoạn lần lượt với AB, CD -> được là đào hay đắp (dựa vào âm hay dương) -> rồi lấy độ lớn của đoạn giao đó * delta (=a/n) -> diện tích
- Tính tổng lần lượt tất cả các đoạn : tổng dương -> đào, tổng âm <-> đăp

chia nhỏ -> ta ko cần quan tâm vị trí của nó nữa (vì tại điểm giao -> S ~0

hy vọng bạn hiểu vấn đề

Cái này lập công thức cũng được -> nhưng viết UDF với VBA thì tốt hơn vì đỡ cột phụ và tổng quát hóa hoén

.
 
Lần chỉnh sửa cuối:
Ai cha.... Ý tôi nói tích phân nghĩa là: Mở sách giáo khoa ra xem nó tính ra dc bằng công thức gì.. ra kết quả gì... lấy nó rồi thế vào Excel... vậy thôi...
Tôi đã từng làm thế khi tính thể tích bồn dầu nằm ngang, có vấn đề gì đâu
Về cách chia nhỏ vùng của Tigertiger thực chất cũng là phương pháp tích phân, nhưng rõ ràng là khổ hơn... Ở đây tôi chẳng cần làm gì, chỉ thế số là ra...
ANH TUẤN
 
anhtuan1066 đã viết:
Ai cha.... Ý tôi nói tích phân nghĩa là: Mở sách giáo khoa ra xem nó tính ra dc bằng công thức gì.. ra kết quả gì... lấy nó rồi thế vào Excel... vậy thôi...
Tôi đã từng làm thế khi tính thể tích bồn dầu nằm ngang, có vấn đề gì đâu
Về cách chia nhỏ vùng của Tigertiger thực chất cũng là phương pháp tích phân, nhưng rõ ràng là khổ hơn... Ở đây tôi chẳng cần làm gì, chỉ thế số là ra...
ANH TUẤN

Nhưng tigertiger nghĩ - bạn ý k phải chỉ có 2 đoạn thẳng đó đâu - mà sẽ là chuỗi các điểm Cao độ thiết kế (đường thiết kế) và chuỗi cao độ mặt đất tự nhiên (đường mặt đất tự nhiên), và khi đó khó phân trường hợp giao / không giao, đào / đắp -> chia nhỏ là HỢP LÝ
.
 
anhtuan1066 đã viết:
Về dạng 1 và dạng 2 thì dễ rồi... đó là hình bình hành:
Về dạng 1 và dạng 2 thì dễ rồi... đó là hình bình hành:
S= (đáy lớn + đáy nhỏ)*đường cao/2
Dạng 3 và 4 thì hơi khó 1 chút, nếu tính bằng phương pháp hình học thì có lẽ phải vẽ thêm đường phụ (đễ xem đã)
Gợi ý bạn 1 cách tổng quát nhất là dùng phương pháp tích phân:
1> Ta đã có tọa độ cũa 4 điểm thì có thể suy ra dc pt đường thẳng nối 2 điểm... giã sử gọi là D1 và D2
2> Từ phương trình đường thẳng suy ra dc tọa độ giao điểm.. giã sử gọi giao điểm là G với tọa độ Xg và Yg
3> Vậy ta sẽ có 2 tích phân sau đây:
S1 = diện tích giới hạn bởi D1 và D2 , tính từ 0 đến G(Xg,Yg)
S2 = diện tích giới hạn bởi D1 và D2, tính từ G(Xg,Yg) đến a(m)
Bạn mở sách phổ thông ra xem cách tính đi... làm biếng quá! Tích phân của phương trình F(x) =Ax + B dễ như ăn cháo ấy mà.. Ra kết quã, thế cận trên, cận dưới vào là.. xong
ANH TUẤN
Theo cách suy luận cùa Anh Tuấn, gọi X là giao điểm AB, CD. Tìm được x thì x chính là chiều cao tam giác AXC cạnh đáy là AC, a-x là chiều cao tam giác BXD cạnh đáy là BD, vậy là tìm được 2 diện tích tam giác bằng phép tính số học. Đâu cần phải tích phân?
Đặt ya, yb, yc, yd là tọa độ y của A, B, C, D. a là khoảng cách 2 bên bờ. Sẽ có các trường hợp:
1. yb - ya - yd + yc =0: 2 đường song song, chỉ có 1 điện tích S1 là hình chữ nhật hoặc hình bình hành, S2=0
2. x <0: AB, CD gặp nhau bên ngoài bờ trái, S1 là hình thang, S2=0
3. x>a: AB, CD gặp nhau bên ngoài bờ phải, S1 hình thang, S2=0
4. 0<x<a: AB, CD gặp nhau bên trong 2 bờ, có cà 2 hình tam giác S1 và S2.
Do có 2 điện tích S1, S2 nên tách ra 2 hàm:
Diện tích S1 (bên trái)
Mã:
Function S_1(ya, yb, yc, yd, a)
If yb - ya - yd + yc = 0 Then
  S_1 = (yc - ya) * a
Else
  x = (yc - ya) * a / (yb - ya - yd + yc)
  If x > a Or x < 0 Then
    S_1 = (yc - ya + yd - yb) * a / 2
  Else
    S_1 = (yc - ya) * x / 2
  End If
End If
End Function

Diện tích S2 (bên phải)
Mã:
Function S_2(ya, yb, yc, yd, a)
If yb - ya - yd + yc = 0 Then
  S_2 = 0
Else
  x = (yc - ya) * a / (yb - ya - yd + yc)
  If x > 0 And x < a Then
    S_2 = (yb - yd) * (a - x) / 2
  Else
    S_2 = 0
  End If
End If
End Function
Các bạn kiểm tra lại, không biết như thế có đúng không?
 

File đính kèm

Như tôi đã nói từ đầu... bài toán này chỉ cần vẽ 1 đường phụ là ra...
Gọi G là giao điểm cũa 2 đường chéo, a1 là độ dài đáy nhỏ, a2 là độ dài đáy lớn... Vẽ đường cao đi xuyên qua điễm G và điễm G chia đường cao thành 2 phần h1 và h2 (trong đó a1, a2 và h là số đã cho trước) ... Ta có diện tích 2 tam giác cần tìm:
Mã:
S1 = a1 * h1 / 2
S2 =a2 * h2 / 2
Dễ dàng nhận thấy 2 tam giác này là đồng dạng (có 3 góc bằng nhau) , suy ra:
Mã:
---> a1 / h1 = a2 / h2 = (a1 + a2)/(h1 + h2) 
---> S1 = a1 * h1 / 2 = h * a1^2  / 2*(a1 + a2)
---> S2 = a2 * h2 / 2 = h * a2^2 / 2*(a1 + a2)
Thế a1, a2 và h vào đễ ra dc diện tích 2 mãnh S1 và S2...
(Bạn có thể kiễm chứng độ chính xác bằng cách cho hình bình hành này thành dạng đặc biệt, chẳng hạn như hình chử nhật hoặc tam giác)
Mến
 
Để tôi thử xem cho. tôi là dân làm đường chuyên phải tính dt đường bao kiểu một hình bất kỳ kiểu này mà.

Cho hỏi nhé ! Để phân được diện tích đào và đắp tại hình 3 và 4 thì bạn phải nội suy được cao độ giao điểm chứ! Về nguyên tắc tại các điểm thay đổi đào đắp thì người thiết kế đã phải xác định rồi !
 
Chỉnh sửa lần cuối bởi điều hành viên:
Khi tính theo diện tích có nghĩa là giả thiết tính trên hình chiếu bằng, sau đó coi nó là một lăng trụ để tính thể tích đúng không bạn. Nếu thế bỏ qua sai số Z mà chỉ xét X.Y thôi. sau nhân với H là ra thể tíhc
 
Web KT

Bài viết mới nhất

Back
Top Bottom