TIN TỨC CẬP NHẬT

Xác định tâm của một hình đa giác bất kì

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Xác định tâm của một hình đa giác bất kì

Bài gửi by pkt_zz on 13/6/2010, 3:57 am

Nguồn: [You must be registered and logged in to see this link.]


Chắc đã có lần trong công việc hàng ngày, chúng ta đã gặp bài toán sau: “Trong mặt phẳng, cho một hình đa giác bất kì với toạ độ các đỉnh là số thực. Vấn đề đặt ra là xác định trọng tâm của hình đa giác đó”.

Để làm được việc đó, sau đây xin tóm tắt lại lý thuyết đặc trưng hình học của mặt cắt ngang:


2. Trục trung tâm:Mômen tĩnh của một hình đối với một trục nào đó bằng không trục ấy gọi là trục trung tâm.

3. Trọng tâm: Giao điểm của hai trục trung tâm được gọi là trọng tâm mặt cắt.Trọng tâm là duy nhất đối với một hình phẳng.

4. Quan hệ giữa mômen tĩnh của một hình đối với một trục và khoảng cách từ trọng tâm của hình đến trục đó.

a) Giả sử có trục x bất kỳ và trục trung tâm xc (C là trọng tâm mặt cắt) song song với trục x. Ta có y = yc + yo.

Thay vào công thức định nghĩa, ta được:


Theo định nghĩa số hạng thứ hai vế phải bằng không, do đó:

hay Tương tự ta tính được:



XÁC ĐỊNH TRỌNG TÂM CỦA MỘT HÌNH ĐA GIÁC BẤT KỲ

Ngày gửi bài: 02/03/2009
Số lượt đọc: 451

Chắc đã có lần trong công việc hàng ngày, chúng ta đã gặp bài toán sau: “Trong mặt phẳng, cho một hình đa giác bất kì với toạ độ các đỉnh là số thực. Vấn đề đặt ra là xác định trọng tâm của hình đa giác đó”.

Để làm được việc đó, sau đây xin tóm tắt lại lý thuyết đặc trưng hình học của mặt cắt ngang:

2. Trục trung tâm:Mômen tĩnh của một hình đối với một trục nào đó bằng không trục ấy gọi là trục trung tâm.

3. Trọng tâm: Giao điểm của hai trục trung tâm được gọi là trọng tâm mặt cắt.Trọng tâm là duy nhất đối với một hình phẳng.

4. Quan hệ giữa mômen tĩnh của một hình đối với một trục và khoảng cách từ trọng tâm của hình đến trục đó.

a) Giả sử có trục x bất kỳ và trục trung tâm xc (C là trọng tâm mặt cắt) song song với trục x. Ta có y = yc + yo.

Thay vào công thức định nghĩa, ta được:

Theo định nghĩa số hạng thứ hai vế phải bằng không, do đó:

Hay

Tương tự ta tính được:

Như vậy là từ các công thức trên, ta có thể tính được mômen tĩnh của một hình nếu biết trọng tâm hoặc ngược lại xác định được trọng tâm nếu biết mômen tĩnh của hình mà không phải qua phép tính tích phân.

b) Từ đó ta có công thức tính trọng tâm hình ghép nếu biết trọng tâm của các hình thành phần.

Nhận xét: Từ công thức này ta có thể tính được trọng tâm của một hình đa giác bất kỳ dựa vào các tam giác thành phần.


Công thức tính trọng tâm G, và diện tích F của hình tam giác biết toạ độ 3 đỉnh A (xA, yA), B (xB, yB) và C (xC, yC).


Dựa vào nhận xét trên đây tôi xin giới thiệu chương trình tính trọng tâm của một hình đa giác lồi bất kỳ.

Dữ liệu vào là n (n > 2) điểm (trong mặt phẳng Oxy) – toạ độ n đỉnh liên tiếp nhau của đa giác lồi. Ta chia đa giác lồi này thành n-2 tam giác với 3 đỉnh của tam giác lần lượt là đỉnh thứ 1, đỉnh thứ i và đỉnh thứ:

Từ đây ta có thể xây dựng chương trình, sau đây là toàn văn chương trình:

{$A+,B-,D+,E+,F-,G-,I+,L+,N-,O-,P-,Q-,R-,S+,T-,V+,X+,Y+}

{$M 16384,0,655360}
Code:

Program Xac_dinh_trong_tam ;

Const

Maxn = 1000 ;

FileInp = 'TTAM.INP' ;

FileOut = 'TTAM.Out' ;

tp = 2 ; {So chu so thap phan can}

Type

Toado = Record

x, y : Real ;

End ;

Mang = Array [1.. Maxn] of Toado ;

Var

A : Mang ;

XG, YG : Real ;

tongx, tongy, tong : Real ;

N : Integer ;

Procedure Docfile ;

Var

f : Text ;

i : Integer ;

Begin

Assign (f, FileInp) ;

{$I-}

Reset (f) ;

{$I+}

If IOResult <> 0 then Halt ;

Readln (f, N) ;

FillChar (A, Sizeof (A), 0) ;

For i := 1 to N do

Readln (f, A [i].x, A [i].y) ;

Close (f) ;

tongx := 0 ;

tongy := 0 ;

tong := 0 ;

End ;

Function XAG (AA, BB, CC : Toado) : Real ;

Begin

XAG := (AA.x + BB.x + CC.x) / 3 ;

End ;

Function YAG (AA, BB, CC : Toado) : Real ;

Begin

YAG := (AA.y + BB.y + CC.y) / 3 ;

End ;

Function SA (AA, BB, CC : Toado) : Real ;

Var

tam : Real ;

Begin

tam := (AA.x - BB.x) * (AA.y + BB.y) +

(BB.x - CC.x) * (BB.y + CC.y) +

(CC.x - AA.x) * (CC.y + AA.y) ;

SA := Abs (tam) / 2 ;

End ;

Procedure Xuly ;

Var

i : Integer ;

tamx, tamy, tamS : Real ;

Begin

For i := 2 to n - 1 do

Begin

tamx := XAG (A [1], A [i], A [i + 1]) ;

tamy := YAG (A [1], A [i], A [i + 1]) ;

tamS := SA (A [1], A [i], A [i + 1]) ;

tongx := tongx + tamx * tamS ;

tongy := tongy + tamy * tamS ;

tong := tong + tamS ;

End ;

XG := tongx / tong ;

YG := tongy / tong ;

End ;

Procedure Ghifile ;

Var

f : Text ;

Begin

Assign (f, FileOut) ;

Rewrite (f) ;

Writeln (f, XG : 0 : tp, #32, YG : 0 : tp) ;

Close (f) ;

End ;

Begin

Docfile ;

Xuly ;

Ghifile ;

End.
File vào TTAM.INP

4

0 0

4 0

4 4

0 4

File ra TTAM.OUT

2.00 2.00

Bạn đọc có thể tìm hiểu thêm để xác định được trọng tâm của một hình bất kỳ (có cả phần khuyết bên trong) đồng thời có thể xác định thêm các đặc trưng hình học khác như mô men quán tính Jx, Jy, Jxy, bán kính quán tính ix, iy… Rất mong sự quan tâm và trao đổi của quý bạn đọc.

pkt_zz
THƯỢNG TƯỚNG V
THƯỢNG TƯỚNG V

Tổng số bài gửi : 1029
Join date : 15/12/2009
Age : 25
Đến từ : MẠC XÁ-QUANG PHỤC

Xem lý lịch thành viên http://lop12a5thpttk-0609.forumotion.net

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết