Giải pháp hữu ích Hình học tính toán

Phần A. Mở đầu

Lý do lựa chọn giải pháp 

Trong quá trình đảm nhiệm công tác bồi dưỡng đội tuyển học sinh giỏi tại đơn vị, tôi nhận thấy rằng chuyên đề “Hình học tính toán” là một chuyên đề khó đối với người học trong quá trình lĩnh hội và người dạy trong quá trình truyền đạt vì nếu tiếp cận chuyên đề dưới góc nhìn toán học chuyên đề này khá khô khan. 

Trong chương trình ôn luyện thi Olympic 30.4 “Hình học tính toán” là một nội dung bắt buộc, đối với học sinh lớp 10 rất khó khăn vì thời gian ôn luyện ngắn và buộc học sinh phải tích luỹ một lượng kiến thức nhất định về hình học phẳng trong toán.

Tôi nhận thấy có một phương pháp khác để tiếp cận chuyên đề này dễ hơn đó là thông qua diện tích đại số của tam giác, mà việc tính diện tích của tam giác khá đơn giản và trực quan với học sinh.

Phần B. Nội dung

I. Đánh giá thực trạng

Đa số các thuật toán đều tập trung vào xử lý văn bản và các con số chúng được thiết kế và xử lý sẵn trong các môi trường lập trình. Đối với các bài toán hình học thì khác hẳn, ngay cả các phép toán sơ cấp trên điểm và đoạn thẳng cũng có thể là một thách thức về tính toán. 

Các bài toán hình học thì dễ hình dung một cách trực quan, nhiều bài toán có thể giải quyết ngay lập tức bằng nhìn vào một mảnh giấy nhưng lại đòi hỏi những chương trình không đơn giản.

Học sinh khi học chuyên đề này thường cảm giác khó khăn và hầu như phải tiếp cận theo cách ghi nhớ là chính.

II. Trình bày giải pháp

1. Một số khái niệm cơ bản

1.1. Hệ tọa độ Đề - Các

          Trong mặt phẳng, chọn một điểm O và hai vector đơn vị ( vector có độ dài 1) , vuông góc với nhau. Khi đó bộ ba (O,, ) được gọi là hệ tọa độ Đề - các vuông góc (hay còn gọi là một mục tiêu Ơclit hai chiều, mục tiêu trực chuẩn).

          Ta cũng kí hiệu mục tiêu đó là Oxy với Ox và Oy là hai tia gốc O có vector chỉ phương lần lượt là và .

docx 12 trang Lệ Chi 21/12/2023 3080
Bạn đang xem tài liệu "Giải pháp hữu ích Hình học tính toán", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

Tóm tắt nội dung tài liệu: Giải pháp hữu ích Hình học tính toán

Giải pháp hữu ích Hình học tính toán
MỤC LỤC
Phần A. Mở đầu
Lý do lựa chọn giải pháp 
Trong quá trình đảm nhiệm công tác bồi dưỡng đội tuyển học sinh giỏi tại đơn vị, tôi nhận thấy rằng chuyên đề “Hình học tính toán” là một chuyên đề khó đối với người học trong quá trình lĩnh hội và người dạy trong quá trình truyền đạt vì nếu tiếp cận chuyên đề dưới góc nhìn toán học chuyên đề này khá khô khan. 
Trong chương trình ôn luyện thi Olympic 30.4 “Hình học tính toán” là một nội dung bắt buộc, đối với học sinh lớp 10 rất khó khăn vì thời gian ôn luyện ngắn và buộc học sinh phải tích luỹ một lượng kiến thức nhất định về hình học phẳng trong toán.
Tôi nhận thấy có một phương pháp khác để tiếp cận chuyên đề này dễ hơn đó là thông qua diện tích đại số của tam giác, mà việc tính diện tích của tam giác khá đơn giản và trực quan với học sinh.
Phần B. Nội dung
I. Đánh giá thực trạng
Đa số các thuật toán đều tập trung vào xử lý văn bản và các con số chúng được thiết kế và xử lý sẵn trong các môi trường lập trình. Đối với các bài t....3. Minh họa đoạn thẳng trong mặt phẳng tọa độ Oxy
1.4. Đa giác
Trong hình học phẳng, đa giác là một đường gấp khúc phẳng khép kín, nghĩa là gồm những đoạn thẳng nối tiếp nhau (mỗi điểm nối là đầu mút của vừa đúng hai đoạn thẳng) cùng nằm trên một mặt phẳng và khép kín (điểm nối đầu trùng với điểm nối cuối). Phần mặt phẳng giới hạn bởi đường đa giác được gọi là hình đa giác.
P2
P3
Hình 1.4. Minh họa đa giác trong mặt phẳng tọa độ 
P1
Pn
Từ đó, ta xây dựng đối tượng đa giác trong lập trình như sau: point P[MaxN], Với MaxN là số điểm tối đa của đa giác.
2. Bài toán tính diện tích đại số một tam giác
2.1. Xây dựng công thức tính diện tích đại số tam giác trong mặt phẳng tọa độ
xP3
P3
P2
P1
yP3
yP1
xP2
xP1
yP2
P1’
P2’
P3’
Một bài toán cơ sở quan trọng mang tính cơ sở chủ chốt trong chuyên đề này đó là xây dựng được công thức tính diện tích của tam giác trong mặt phẳng tọa độ. Trước khi bắt đầu vào phần này tôi xin nhắc lại công thức tính diện tích của hình thang có chiều cao (h), đáy lớn(a), đáy bé(h) như sau:
S= Đáy lớn+Đáy bé.Chiều cao2
Hình 2.1. Minh họa cách tính diện tích đại số của tam giác
Bây giờ ta sẽ xây dựng công thức tính diện tích tam giác P1P2P3 bằng cách áp dụng công thức tính diện tích hình thang đã nhắc ở trên.
Gọi P’1, P’2, P’3 lần lượt là hình chiếu của P1,P2,P3 lên trục Ox với tọa độ lần lượt là
(0, xP1); (0, xP2); (0, xP3).
SP1P1'P3P3'=(yP1+yP3)*(x1-xP3)2
SP2P2'P3P3'=(yP2+yP3)*(xP2-xP3)2
SP1P1'P2P2'=(yP1+yP2)*(xP1-xP2)2
SP1P2P3=(SP1P1'P2P2'+SP2P2'P3P3') -SP1P1'P3P3'
Dễ nhận thấy: 
Với:
→SP1P2P3=(yP1+yP2)*(xP1-xp2)2+(yP2+yP3)*(xP2-xP3)2 -(yP1+yP3)*(xP1-xP3)2
→SP1P2P3=xP1*yP2-yP3+xP2*y3-yP1+xP3*yP1-yP22
2SP1P2P3=xP1*yP2-yP3+xP2*y3-yP1+xP3*yP1-yP2
Để hạn chế sai số ta nên xét: 
2.2. Mô hình tính toán diện tích đại số của tam giác trong tin học
Trong lập trình diện tích đại số của tam giác P1P2P3 được tính thông qua hàm sau:
float Stamgiac (point p1, point p2, point p3){  
    float dientich ;  
    float tm...ẳng cắt 
nhau trong mặt phẳng tọa độ Oxy
Ý tưởng: Tính diện tích đại số của các tam giác: (P1P3P2) và (P1P4P2): 
*Hai đường thẳng d1 và d2 cắt nhau ⟺ diện tích đại số của hai tam giác hoặc trái dấu hoặc có duy nhất một giá trị bằng 0.
*Hai đường thẳng d1 và d2 không cắt nhau ⟺ diện tích đại số của hai tam giác cùng dấu.
*Hai đường thẳng trùng nhau khi cả hai diện tích đại số có giá trị là 0.
Code:
bool dtcatnhau(point p1,point p2,point p3,point p4)  
{  
    float s1=Stamgiac(p1,p3,p2);  
    float s2=Stamgiac(p1,p4,p2);  
    if((s1>0&s2<0)||(s1==0)||(s2==0)) return 1;  
    else if((s1>0&s2>0)||(s1<0&s2<0)) return 0;  
}  	
3.4. Kiểm tra các đỉnh của tam giác được liệt kê theo chiều nào ?
	Việc xác định chiều liệt kê các đỉnh trong tam giác là một bài toán quan trọng đối với một số bài toán trong tinh học điển hình là bài toán tìm bao lồi của một tập điểm cho trước.
	Vấn đề: Xét tam giác P1P2P3, trong một số bài toán, ta cần biết ba điểm được liệt kê theo chiều nào thì ta có thể sử dụng giá trị diện tích đại số của tam giác để xác định.
P2
P3
P1
P2
P1
P3
CCW
CW
Nhận xét: Nếu P1P2P3 được liệt kê theo chiều kim đồng hồ thì diện tích đại số tam giác P1P2P3 mang dấu âm, ngược lại mang dấu dương.
Code:
bool IsCW(point p1, point p2, point p3)  
{  
    if (STamgiac(p1,p2,p3)<0)  
        return true;  
    return false;  
}  
SP1P2P3<0
Cùng chiều kim đồng hồ (CW)
Ngược chiều kim đồng hồ (CCW)
SP1P2P3>0
3.5. Diện tích đại số một đa giác không tự cắt?
Vấn đề: Xét đa giác có các đỉnh được liệt kê theo thứ tự P1P2P3P4P5Pn, tính diện tích của đa giác?
Ý tưởng:
Liệt kê tọa độ x, y của mỗi đỉnh theo thứ tự ngược chiều kim đồng hồ. Lặp lại giá trị đầu tiên ở cuối danh sách.
Dựa vào cách phân tích ở mục II.1, ta nhận được công thức tính diện tích đại số của một đa giác không tự cắt n đỉnh như sau:
S=i=1nxi%n-xi+1%nyi+1%n+yi%n2
Code:
float Sdagiac(int start,int end)  
{  
    float s=0;  
    for(int i=star

File đính kèm:

  • docxgiai_phap_huu_ich_hinh_hoc_tinh_toan.docx