Skkn ứng dụng vecto vào giải quyết một số bài toán hình học trong tin học

25 1 0
Skkn ứng dụng vecto vào giải quyết một số bài toán hình học trong tin học

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CHUYÊN ĐỀ HÌNH HỌC 1 SỞ GIÁO DỤC VÀ ĐÀO TẠO NAM ĐỊNH TRƢỜNG TRUNG HỌC PHỔ THÔNG CHUYÊN LÊ HỒNG PHONG NAM ĐỊNH SÁNG KIẾN DỰ THI CẤP TỈNH BÁO CÁO SÁNG KIẾN ỨNG DỤNG VECTO VÀO GIẢI QUYẾT MỘT SỐ BÀI TOÁN[.]

SỞ GIÁO DỤC VÀ ĐÀO TẠO NAM ĐỊNH TRƢỜNG TRUNG HỌC PHỔ THÔNG CHUYÊN LÊ HỒNG PHONG NAM ĐỊNH SÁNG KIẾN DỰ THI CẤP TỈNH BÁO CÁO SÁNG KIẾN ỨNG DỤNG VECTO VÀO GIẢI QUYẾT MỘT SỐ BÀI TỐN HÌNH HỌC TRONG TIN HỌC Tác giả: Đỗ Thị Minh Hường Trình độ chun mơn: Thạc sỹ Chức vụ: giáo viên Nơi công tác: trường trung học phổ thông chuyên Lê Hồng Phong Nam định Nam định, ngày 15 tháng năm 2015 skkn 1.Tên sáng kiến: Ứng dụng vecto vào giải số tốn hình học tin học Lĩnh vực áp dụng sáng kiến: Các trƣờng THPT chuyên dạy cho học sinh chuyên tập huấn cho học sinh dự kỳ thi học sinh giỏi Quốc gia môn Tin học Lớp 12 Thời gian áp dụng sáng kiến: từ năm 2010 đến 2015 4.Tác giả: Họ tên: Đỗ Thị Minh Hƣờng Năm sinh: 1973 Nơi thường trú: 9/581 đƣờng Trƣờng Chinh phƣờng Hạ Long, thành phố Nam Định Trình độ chun mơn: Thạc sỹ Chức vụ công tác: giáo viên Nơi làm việc: trƣờng THPT chuyên Lê Hồng Phong Địa liên hệ: 9/581 đƣờng Trƣờng Chinh, phƣờng Hạ Long thành phố Nam Định Điện thoại: 0983.846.411 Đơn vị áp dụng sáng kiến: Tên đơn vị: trƣờng THPT chuyên Lê Hồng Phong Địa chỉ: 76 Vị Xuyên, thành phố Nam Định Điện thoại: 0350.3640.297 skkn BÁO CÁO SÁNG KIẾN I ĐIỀU KIỆN HỒN CẢNH TẠO RA SÁNG KIẾN Trong tốn học có nhiều tốn dùng giải pháp thơng thƣờng để giải dài phức tạp, nhƣng dùng vecto vào giải vấn đề trở nên đơn giản ngắn gọn Chính dạy chun đề hình học cho học sinh khối chuyên tin thiết nghĩ khơng dùng vecto vào giải cho lập trình số tốn hình học cho học sinh Những vấn đề toán học em đƣợc học chƣơng trình phổ thơng, giúp em áp dụng vấn đề vào tin học chắn việc đƣa thuật tốn cách giải cho nhiều toán trực quan cài đặt dễ dàng thuận lợi II MÔ TẢ GIẢI PHÁP Mô tả giải pháp trước tạo sáng kiến Khi dạy cho học sinh khối chuyên tin tơi thấy khả tốn em hầu hết khơng tốt đặc biệt chƣa có phƣơng pháp học kế thừa đơn vị kiến thức học Tất vấn đề giáo viên đƣa đọc tài liệu hầu nhƣ em cho tinh chƣa biết tìm hiểu vấn đề đƣợc xây dựng kế thừa từ đơn vị kiến thức học để suy luận từ đƣa vấn đề đƣợc tổng hợp từ vấn đề biết Chính vậy, tơi xây dựng hệ thống chun đề vecto đƣợc biết toán học phƣơng pháp biểu biễn tin học yếu tố hình học lập trình dƣới dạng kế thừa đơn vị kiến thức biết, giúp học sinh đọc, hiểu đặc biệt làm quen phƣơng pháp biết kế thừa kiến thức cũ để xây dựng lý thuyết đặc biệt giúp em có phƣơng pháp giải số tốn hình học kì thi học sinh giỏi cấp Mơ tả giải pháp sau có sáng kiến skkn Hình học giác quan ngƣời quen thuộc dễ dàng Nhƣng hình học máy tính lại vấn đề khác Nhiều tốn ta giải cách “nhìn vào hình vẽ ta thấy”, nhƣng để thể máy tính cần chƣơng trình khơng đơn giản chút Các giải thuật hình học thƣờng giải thuật đẹp đơi bất ngờ Thực vậy, tƣởng có tốn ta phải giải với chi phí thuật tốn lớn (đơi khơng thể chấp nhận đƣợc), nhƣng nhờ vào tính chất đặc biệt hình học mà ta lại giải cách dễ dàng “đẹp mắt” A Một số khái niệm Hệ tọa độ Đề Trong mặt phẳng, cho hệ tọa độ Đề Oxy có i , j lần lƣợt hai vecto đơn vị trục Ox, Oy Chiều quay từ i tới j chiều thuận (ngƣợc chiều kim đồng hồ) Tọa độ - Trong mặt phẳng tọa độ Oxy, cho hai vectơ u  xu ; yu  ; v  xv ; yv  k số thực Khi ta có kết tốn học (hình tọa độ mặt phẳng lớp 10 PTTH): +) i 1;0 ; j  0;1 +) u  v   xu  xv ; yu  yv   xu  xv  yu  yv +) u = v   +) k.u   k.xu ; k yu  +) Độ dài vectơ u  xu  yu - Các công thức tọa độ điểm: Cho điểm A(xA; yA) ; B(xB; yB) +) Tọa độ vectơ AB   xB  xA ; yB  yA  x x y y +) I trung điểm AB tọa độ I  A B ; A B   skkn  +) Độ dài đoạn thẳng AB =  xA  xB    y A  yB  2 - Hai phép toán hai vecto +) Tích chấm (tích vơ hƣớng) hai vecto: Cho hai vecto u v , tích vô hƣớng hai vecto u v , đƣợc ký hiệu u v đƣợc tính tích độ dài hai vecto u v nhân với cosin góc xen hai vecto (góc góc khơng định hƣớng có số đo nằm đoạn từ đến )   u.v  u v cos u , v Nếu tọa độ u   xu ; yu  ; v   xv ; yv  u.v  xu xv  yu yv Từ cơng thức ta tính đƣợc cosin góc tạo hai vecto u v   cos u , v  u.v xu xv  yu yv  x  yu2 xv2  yv2 u u.v +) Góc định hƣớng hai vecto: Cho hai vecto u v , góc định hƣớng hai vecto u v góc lƣợng giác hai vecto này, dấu góc dƣơng chiều từ u đến v ngƣợc chiều kim đồng hồ mang dấu âm theo chiều ngƣợc lại +) Tích chéo hai vecto: Cho hai vecto u v , tích chéo hai vecto u v , đƣợc ký hiệu u  v đƣợc tính tích độ dài hai vecto u v nhân với sin góc xen hai vecto (góc góc định hƣớng có số đo nằm đoạn từ - đến )   u.v  u v sin u , v Nếu tọa độ u   xu ; yu  ; v   xv ; yv  u  v  xu yv  xv yu  xu xv yu yv Từ cơng thức ta tính đƣợc sin góc định hƣớng hai vecto u v sin   uv u.v  xu yv  xv yu x  yu2 xv2  yv2 u skkn +) Ứng dụng tích chéo khảo sát chiều: Giả sử ta từ điểm A sang điểm B theo đƣờng thẳng tiếp sang C theo đƣờng thẳng, ta xét: T = AB  BC  AB BC sin  ,  góc định hƣớng hai vecto AB BC Ta thấy dấu T phụ thuộc vào dấu góc  - Nếu T < chỗ rẽ B “rẽ phải” - Nếu T > chỗ rẽ B “rẽ trái” - Nếu T = ba điểm A, B, C thẳng hàng Đổi hệ trục tọa độ Bài toán: Cho hai hệ tọa độ trực chuẩn mặt phẳng (O; i ; j ) (O’; i ' ; j ' ) Giả sử điểm M có tọa độ M(x; y) hệ tọa độ (O’; i ' ; j ' ) Hãy xác định tọa độ điểm M hệ tọa độ (O; i ; j )? Giải Giả sử hệ tọa độ (O; i ; j ), điểm O’ có tọa độ O’(p, q), vecto i ' =(a; b); j ' = (c; d) Khi ta có: OO '  p.i  q j i '  a.i  b j j '  c.i  d j Điểm M có tọa độ (x; y) hệ toạ độ (O’; i ' ; j ' ), ta có: O ' M  x.i '  y j ' Do    OM  OO '  O ' M  p.i  q j  x.i '  y j '  p.i  q j  x a.i  b j  y c.i  d j    ax  cy  p  i  bx  dy  q  j Suy tọa độ điểm M hệ toạ độ (O; i ; j ) M(ax+by+p; bx+dy+q) Khi ta có cơng thức đổi tọa độ sau: Giả sử hệ tọa độ (O; i ; j ) điểm O’(p; q); i ' =(a; b); j ' =(c; d) M( x; y ) skkn  x  a.x  c y  p Trong hệ tọa độ (O’; i ' ; j ' ) điểm M(x; y)   y  b.x  d y  q Xây dựng công thức biến đổi tọa độ Trong hình học phẳng có phép biến hình nhằm biến đổi từ hình sang hình khác đồng dạng với Các phép biến hình quan trọng việc thiết kể toán liên quan đến hình tin học Ở ta nghiên cứu cách xây dựng công thức biến đổi tọa độ phép biến hình Trong hệ tọa độ đề (O; i ; j ), chọn điểm I(1; 0) J(0; 1) Với phép đồng dạng f, ta thực f ba điểm O, I, J để nhận đƣợc ba ảnh tƣơng ứng chúng theo thứ tự O’, I’, J’ Từ xác định tọa độ điểm O’(p; q); vecto i '  O ' I '   a; b  vecto j '  O ' J '   c; d  Vì phép biến đổi đồng dạng nên điểm M có tọa độ (x; y) hệ tọa độ (O; i ; j ) có tọa độ (x; y) hệ (O’; i ' ; j ' ) 4.1 Phép quay Xét phép quay tâm O góc  Phép quay giữ bất biến điểm O tức O’(0;0), điểm I(1; 0) biến thành I’(cos; sin), điểm J(0; 1) biến thành J’(sin; cos) Khi ta có : O’(0;0) ; O ' I ' = (cos; sin); O ' J ' =(- sin; cos) Áp dụng công thức đổi trục toạ độ ta có:  x  x.cos   y.sin    y  x.sin   y.cos  - Các trƣờng hợp đặc biệt:  x   y +) Góc  = 900 ta có cơng thức đổi trục là:   y  x  x   x +) Góc  = 1800 ta có công thức đổi trục là:   y   y 4.2 Phép tịnh tiến skkn Xét phép tịnh tiến theo vecto (a; b) Phép tịnh tiến biến điểm O(0; 0) thành điểm O’(a; b), điểm I(1; 0) biến thành điểm I’(a+ 1; b) điểm J(0;1) biến thành điểm J’(a; b+1) Khi ta có: O’(a; b) ; O ' I ' = (1; 0); O ' J ' = (0;1) x  x  a Áp dụng cơng thức đổi trục tọa độ ta có   y  y  b Biểu diễn yếu tố hình học 5.1 Đường thẳng Ta thấy hình học phẳng, đƣờng thẳng có nhiều cách biểu diễn Nhƣng để biểu diễn yếu tố máy tính ta chọn số cách biểu diễn sau: - Dạng đƣờng thẳng có hệ số góc: phƣơng tình đƣờng thẳng có dạng y = ax + b Do để biểu diễn đƣờng thẳng ta cần quan tâm tới cặp số a b - Dạng phƣơng trình tổng quát ax + by + c = Để biểu diễn dƣới dạng đƣờng thẳng đƣợc đặc trƣng hệ số a, b, c vecto pháp tuyến n = (a; b) - Dạng ax + by = c - dạng tổng quát đƣợc biến đổi Để biểu diễn dạng ta cần quan tâm tới vecto pháp tuyến n = (a; b) điểm P(x; y) thuộc đƣờng thẳng Khi ta viết đƣợc phƣơng trình đƣờng thẳng cách sau: n.OP = (a; b).(x; y) = ax+by = c - Dạng tham số: ta cần quan tâm tới vecto phƣơng u =(a; b) điểm P điểm thuộc đƣờng thẳng Việc chuyển đổi từ phƣơng trình dạng tham số sang tổng quát ngƣợc lại toán học biết 5.2 Đoạn thẳng: Để biểu diễn đoạn thẳng ta quan tâm tới hai đầu mút đoạn skkn 5.3 Tia: Để biểu diễn tia Ax, ta quan tâm tới gốc A vecto hƣớng tia biểu diễn gốc A điểm B nằm tia 5.4 Đa giác: Đa giác đƣờng gấp khúc khép kín Để biểu diễn đa giác máy tính ta lƣu dãy đỉnh liên tiếp B Một số toán Cài đặt số phép toán vecto Uses math; Type Real = Extended; Tpoint = record x, y : real; End; Tvecto = Tpoint; Const eps : real=1e-3; Phép tốn tích chéo hai vecto Operator >0 , p[0;1] Tam giác - Biểu diễn tam giác: thông thƣờng tam giác đƣợc xác định ba đỉnh tam giác - Diện tích tam giác: Ta dùng số cơng thức sau: a.hb ab sin C +) Tính theo hai cạnh góc xen giữa: S  +) Tính theo đƣờng cao cạnh đáy: S  +) Tính theo ba cạnh (công thức Herong): S  p  p  a  p  b  p  c  , với p nửa chu vi +) Tính theo tích chéo: S  AB  AC (7a) 12 skkn +)Với tọa độ ba đỉnh A(xA; yA); B(xB; yB); C(xC; yC) cơng thức (7a) viết theo tọa độ S   xB  xA  yC  y A    xC  xA  yB  y A  (7b) 7.Đa giác 7.1 Diện tích đa giác Bài tốn 5: Trên mặt phẳng với hệ tọa độ Đêcác vng góc, cho đa giác P= P1P2…Pn , điểm Pi có tọa độ tƣơng ứng (xi; yi) Tính diện tích đa giác P? Giải * Ta bổ sung thêm điểm P0 ≡ Pn điểm Pn+1 ≡ P1 Khi diện tích đa giác P đƣợc tính cơng thức S n  OPi  OPi 1  i 1 n  x i 1 i 1  xi 1  yi Ta chứng minh công thức với hình vẽ minh họa đa giác có bốn đỉnh P1, P2, P3, P4 P4 P2 P3 P1 O Dựa vào hình vẽ ta thấy S  SOP P  SOP P  SOP P  SOP P 2 3 4 Mà theo phần (diện tích tam giác) ta thấy +) Quay vecto OP1 tới vecto OP2 hƣớng thuận nên theo công thức (7a) SOP1P2 mang dấu âm +) Tƣơng tự nhƣ SOP P mang dấu âm SOP P SOP P mang dấu 3 4 dƣơng Khi đó, ta thấy diện tích đa giác S= 1 n  OP1  OP2  OP2  OP3   OPn  OPn 1    OPi  OPi 1  (8a) 2  i 1    13 skkn - Khi đỉnh đa giác đƣợc đánh theo chiều kim đồng hồ lập luận tƣơng tự ta có cơng thức tính diện tích đa giác là: 1 n  S     OPi  OPi 1  (8b)  i 1  Tóm lại, tổng quát trƣờng hợp đỉnh đa giác đƣợc đánh theo chiều thuận hay nghịch ta tính diện tích đa giác P công thức sau: S  n  OP  OP i 1 i i 1 (8c) * Ta chứng minh cơng thức tính diện tích đa giác theo tọa độ đỉnh Vì điểm Pi có tọa độ tƣơng ứng (xi; yi) nên vecto OPi có tọa độ tƣơng ứng (xi ; yi), dựa vào cơng thức tích chéo, ta có n   xi yi1  xi1 yi  i 1   x1 y2  x2 y1  x2 y3  x3 y  x3 y4  x4 y   xn y1  x1 yn    xn y1  x2 y1  x1 y2  x3 y   xn 1 yn  x1 yn  n    xi 1  xi 1  yi (8d) i 1 S 7.2 Kiểm tra điểm nằm đa giác Bài toán 6: Trên mặt phẳng với hệ tọa độ Đêcác vng góc, cho đa giác P= P1P2…Pn điểm A cho biết điểm A có nằm đa giác hay khơng? Giải - Nếu điểm A thuộc cạnh đa giác kết luận A nằm đa giác - Nếu không thì: +) Từ A xác định tia gốc A không qua đỉnh đa giác, ta gọi tia tia AB Có nhiều cách chọn tia này, ví dụ nhƣ chọn ngẫu nhiên n+1 tia đơi khác nhau, chắn có tia không qua đỉnh đa giác Tuy nhiên, thực tế, phƣơng pháp hiệu đƣợc áp dụng 14 skkn là: sinh ngẫu nhiên tia, tia qua đỉnh đa giác sinh ngẫu nhiên tia khác thử lại +) Nếu tia AB cắt cạnh đa giác số lẻ lần điểm A nằm đa giác, ngƣợc lại điểm A nằm ngồi đa giác C Bài tập Bài 1: Triangle and point Cho tam giác ABC điểm M không nằm cạnh tam giác u cầu: Hãy viết chƣơng trình tính số lớn R cho vịng trịn tâm M, bán kính R không cắt cạnh không chứa tam giác ABC Input: Ghi file TRIANGLE.INP - Dòng ghi số thực toạ độ ba đỉnh tam giác Ax Ay Bx By Cx Cy - Dòng thứ hai ghi toạ độ điểm M : Mx My Các số thực đƣợc viết với chữ số thập phân, cách dấu cách Output: ghi file TRIANGLE.OUT gồm số R làm trịn đến chữ số sau dấu phảy Ví dụ TRIANGLE.OUT TRIANGLE.INP 0.2 1.1 0.0 0.3 2.0 0.0 4.0 0.0 2.0 Thuật toán Kiểm tra xem điểm M nằm đâu +) Điểm M nằm tam giác R = min(d(M, AB), d(M, AC), d(M, BC)) +) Nếu điểm M nằm ngồi tam giác có khả sau 15 skkn A Ví dụ điểm M nằm ngồi phía đối diện với điểm A bị chia cắt đƣờng thẳng BC B C M2 M1 - Ở vị trí M1 bị giới hạn cạnh AB M3 kéo dài tia vng góc với BC B: R = M1B - Ở vị trí M2 bị giới hạn hai tia tia thứ vng góc với BC B tia thứ hai vng góc với BC C: R = d(M2, BC) - Ở vị trí M3 bị giới hạn cạnh AC kéo dài tia vng góc với BC C: R = M3C Tƣơng tự nhƣ với hai trƣờng hợp lại Cài đặt Uses math; const finp='triangle.inp'; fout='triangle.out'; var fi,fo:text; n,i,test:longint; xa,ya,xb,yb,xc,yc,xm,ym,r:extended; function kc(x1,y1,x2,y2:extended):extended; begin exit(sqrt(sqr(x2-x1)+sqr(y2-y1))); end; function ccw(x1,y1,x2,y2,x3,y3:extended):extended; var a1,b1,a2,b2:extended; begin 16 skkn a1:=x2-x1; b1:=y2-y1; a2:=x3-x2; b2:=y3-y2; exit(a1*b2-a2*b1); end; function kt:boolean; var a,b,c:extended; begin a:=ccw(xa,ya,xb,yb,xm,ym); b:=ccw(xb,yb,xc,yc,xm,ym); c:=ccw(xc,yc,xa,ya,xm,ym); if ((a>0)and(b>0)and(c>0))or((a

Ngày đăng: 20/02/2023, 05:49

Tài liệu cùng người dùng

Tài liệu liên quan