5.Kiểm tra quan hệ Điể m- Mặt phẳng

Một phần của tài liệu THIẾT KẾ HỆ THỐNG KIỂM TRA CÁC QUAN HỆ HÌNH HỌC TRONG 3D (Trang 33 - 35)

PHẦN II: NỘI DUNG

5.Kiểm tra quan hệ Điể m- Mặt phẳng

Begin

- Nhập tọa độ 3 điểm A(xa , ya , za), B(xb , yb , zb ), C ( xc , yc , zc) xác định mặt phẳng mp(ABC) (3 điểm A, B, C không thẳng hàng).

- Nhập tọa độ điểm D(xd , yd , zd). - Tính các vector :

vector AB = ( xb - xa , yb - ya , zb - za ) vector AC = ( xc - xa , yc - ya , zc - za ) vector AD = ( xd - xa , yd - ya , zd - za )

- Xét điểm D(xd , yd, zd) có thuộc mp(ABC) không?

Tính tích hữu hướng của 2 vector AB, AC là n = AB x AC có dạng định thức như sau:

Hoặc có thể theo cách viết dưới đây:

AB x AC = ((yb - ya )*(zc - za) - (yc - ya)*(zb - za), (zb - za )*(xc - xa) - (zc - za)*(xb - xa), (xb - xa )*(yc - ya) - (xc - xa)*(yb - ya))

KĨ THUẬT ĐỒ HỌA Trang 33

yb - ya zb-za zb -za xb - xa xb - xa yb - ya yc - ya zc-za , zc -za xc - xa , xc - xa yc - ya n =

Tính tích vô hướng của 2 véc tơ n=(AB x AC) và vector AD là (ABxAC).AD bằng dùng định thức cấp 3 với ba véc tơ AB, AC, AD như sau:

Dt = (AB x AC).AD = ( xd - xa )(( yb - ya )*( zc -za ) - (yc - ya )*( zb -za ) ) + (yd - ya )(( zb -za )* (xc - xa ) - ( zc -za ) *(xb - xa ) ) + (zd - za )((xb - xa )*( yc - ya ) - (xc - xa )*( yb - ya )) . Ta xét định thức cấp 3 này

.. Nếu Dt = 0 xuất “Điểm D thuộc mp(ABC)“ .. Nếu Dt <> 0 xuất “Điểm D không thuộc mp(ABC)” .. Nếu Dt <> 0 tìm khoảng cách từ điểm D đến mp(ABC) Viết phương trình tổng quát của mp(ABC), có 2 vector

AB = (xb - xa ,yb - ya , zb -za ) AC = (zb - za ,yc - ya , zc - za ) N = (AB x AC) = (( yb - ya )*( zc - za ) - (yc - ya )*(zb - za ), ( zb - za )* (xc - xa ) - (zc - za )*(xb - xa ), ( xb - xa )*(yc - ya ) - (xc - xa )*(yb - ya )) Nếu chúng ta đặt: A = (yb - ya )*( zc -za ) - (yc - ya )*( zb -za ) B = ( zb -za )* (xc - xa ) - ( zc -za )*(xb - xa ) C = (xb - xa )*(ya - yb ) - (xc - xa )*( xb - xa) D = -xaA - yaB - zaC .

vector n có thể viết lại n =(A, B, C ) là pháp vector của mp(ABC). Và phương trình tổng quát của mặt phẳng mp(ABC) la:

Ax + By + Cz + D = 0 . Khoảng cách từ D(xd , yd , zd) đến mp(ABC)

ddmp(ABC) = abs( Axd + Byd + Czd + D ) / sqrt (A2 + B2 + C2 ) . . Xuất ra “ ddmp(ABC) “

KĨ THUẬT ĐỒ HỌA Trang 34

xb - xa yb - ya zb - za xc - xa yc - ya zc - za xd - xa yd - ya zd - za Dt =

- Tìm giao điểm của đường thẳng d qua D(xd, yd, zd) và vuông góc với mp(ABC), có vector chỉ phương là pháp vector n = (A, B, C). Phương trình tham số của đường thẳng d:

X = At + xd

Y = Bt + yd

Z = Ct + zd

. Thay X , Y , Z vào phương trình mặt phẳng mp(ABC): A( At + xa) + B( Bt + ya) + C(Ct + za) + D = 0

 t = -(Axd + Byd + Czd + D ) / ( A2 + B2 + C2 )

. Thay t vào phương trình tham số của đường thẳng d. Ta có tọa độ điểm cắt H(Xh , Yh ,Zh) Xh = A(-(Axd + Byd + Czd + D ) / ( A2 + B2 + C2 ))+ xd Yh = B(-(Axd + Byd + Czd + D ) / ( A2 + B2 + C2 )) + yd Zh = C(-(Axd + Byd + Czd + D ) / ( A2 + B2 + C2 )) + za

. Xuất tọa độ điểm H(Xh , Yh ,Zh) End.

6. Kiểm tra quan hệ Đường

thẳng - Mặt phẳng

Một phần của tài liệu THIẾT KẾ HỆ THỐNG KIỂM TRA CÁC QUAN HỆ HÌNH HỌC TRONG 3D (Trang 33 - 35)

Tải bản đầy đủ (DOC)

(48 trang)
w