Quan sát vật thể 3D qua hệ tọa độ quan sát

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 không gian 2D và 3D (Trang 43 - 47)

III. CÁC THUẬT TỐN KIỂM TRA SỰ TƯƠNG QUAN GIỮA CÁC ĐỐI TƯỢNG HÌNH HỌC

3-Quan sát vật thể 3D qua hệ tọa độ quan sát

Cơ sở tốn học:

Một đối tượng 3-D được xác định bởi các tọa độ x,y,z,nhưng màn hình thì đối tượng được biểu diễn chỉ với các tọa độ x và y. Để cĩ thể biểu diễn được một đối tượng 3-D lên màn hình, cĩ hai phương pháp để thực hiện vấn đề trên là phép chiếu song song và phép chiếu phối cảnh.

a.Phép chiếu song song:

Loại hình đơn giản nhất của phép chiếu song song là phép chiếu trực giao nhưng lại cĩ rất nhiều ứng dụng trong các bản vẽ kỹ thuật. Với phép chiếu song song, một đối tượng 3-D được thể hiện lên màn hình bằng cách bỏ qua các tọa độ z. Kết quả là một hình 2-D đơn giãn. Như vậy, với trường hợp khối vuơng, hình ảnh thể hiện trên màn hình chỉ là một hình vuơng.

b. Phép chiếu phối cảnh:

Khác với phép chiếu song song, phép chiếu phối cảnh được hình thành từ các tia chiếu khơng song song với nhau mà hội tụ tại một điểm gọi là tâm chiếu. Kích thước của vật qua phép chiếu sẽ được phĩng to hay thu nhỏ phụ thuộc vào khoảng cách giữa tâm

chiếu và mặt phẳng chiếu (mặt quan sát). Khoảng cách giữa mắt và mặt quan sát gọi là tầm nhìn.

Trong đĩ:

Ox’y’z’: Hệ trục tọa độ quan sát.

D: Khoảng cách giữa mặt phẳng chiếu và hệ trục quan sát. R: Khoảng cách giữa 2 gốc tọa độ.

θ: gĩc giữa hình chiếu OO’trên mặt phẳng xoy và trục ox. ϕ: gĩc giữa OO’và mặt phẳng xoy.

Mắt đặt tại gốc hệ tọa độ quan sát đặt dọc với trục O’z’hướng vào gốc O. Mặt phẳng quan sát vuơng gĩc với OO’.

Khi thay đổi gĩc θ và gĩc ϕ sẽ dẫn đến việc thay đổi gĩc quan sát vật thể từ đĩ việc thể hiện đối tượng được quan sát sẽ linh động hơn.

Để chuyển đổi điểm P(x,y,z) trong hệ tọa độ Oxyz ra tọa độ (xo,yo,zo) trong hệ tọa độ thứ hai dựa trên x,y,z chúng ta sử dụng cơng thức sau:

(xo,yo,zo,1) = (x,y,z,1) * T với là ma trận biến hình T

và 0 ϕ P x z’ y’ x, y z P’ D R θ

-sinθ -cosθ sinϕ -cosθcosϕ 0 cosθ -sinθ sinϕ -sinθcosϕ 0 0 cosϕ -sinϕ 0 0 0 R 1

xo = -x sinθ + y cosθ

yo = -x cosθsinϕ - y sinθsinϕ + z cosϕ zo = -x cosθcosϕ - y sinθcosϕ - zsinϕ + R

Hình chiếu P’(xc, yc) của điểm P(xo, yo, zo): Do mặt phẳng màn hình vuơng gĩc với trục Oz’ và tâm chiếu là O’.

Aùp dụng tính chất tam giác đồng dạng, ta cĩ:

xc = D*xo / zo yc = D*yo / zo Với phép chiếu phối cảnh, tọa độ của điểm chiếu là:

P’.xc =D*xo/ zo P’.yc = D*yo/ zo Với phép chiếu song song, mắt đặt ở vơ cực, vì vậy:

xc = xo và yc = yo

Vậy từ điểm P(x,y,z) trên đối tượng 3D qua phép chiếu phối cảnh hay song song đã cho ta điểm P’(xc,yc) trong mặt phẳng 2D.

+ Tăng gĩc θ sẽ làm hệ quan sát xê dịch trong mặt phẳng xy theo chiều ngược chiều kim đồng hồ làm quay vật thể theo chiều kim đồng hồ.

+ Giảm gĩc θ làm quay vật thể ngược chiều kim đồng hồ.

+ Tăng gĩc ϕ sẽ đẩy hệ quan sát lên trên làm quay vật xuống dưới. + Giảm gĩc ϕ làm quay vật lên trên.

Giải thuật ứng dụng trong vẽ mơ hình khung dây.

+ Trường hợp nhấn phím mũi tên

Thiết kế hệ thống kiểm tra các quan hệ hình học trang 45

màn hình P P’ yc màn hình D P P’ z0 xc x0 z’ y’ z’ x’

Up : gĩc θ = θ - 5; (tính theo độ) Down : gĩc θ = θ + 5;

Left : gĩc ϕ = ϕ - 5; Right : gĩc ϕ = ϕ + 5; + Khởi tạo lại phép chiếu

Tìm các điểm chiếu của các đỉnh wireframe. + Vẽ lại các cạnh của đối tượng.

4 -Kiểm tra quan hệ Điểm - Đường thẳng

Cơ sở tốn học và giải thuật:

Begin

- Nhập tọa độ 2 điểm A(xa, ya , za), B(xb, yb, zb ) mà đường thẳng d đi qua. - Nhập tọa độ điểm C (xc , yc , zc).

- Tính tọa độ vector chỉ phương của đường thẳng d

. Vector AB = (xb - xa ; yb - ya ; zb -za ) ( hay AB=( a1,a2,a3 ) )

. Phương trình tổng quát đường thẳng d qua hai điểm A, B là hệ phương trình tương đương với hệ sau:

a2x - a1y + 0 + a1ya - a2xa = 0 a3x + 0 - a1z + a1za - a3xa = 0

- Thay tọa độ của điểm C (xc , yc , zc) vào hệ phương trình tổng quát của đường thẳng, ta được:

a2xc - a1yc + 0 + a1ya - a2xa = 0 a3xc + 0 - a1zc + a1za - a3xa = 0

. Nếu hệ trên thỏa thì điểm thuộc đường thẳng, xuất thơng điệp “ĐIỂM THUỘC ĐƯỜNG THẲNG“;

. Nếu khơng thỏa tính khoảng cách từ điểm đến đường thẳng: .. Viết phương trình của mặt phẳng qua C(xc , yc , zc) vuơng gĩc với đường thẳng d qua 2 điểm A , B và cĩ vector chỉ phương AB = (a1 , a2 , a3). Phương trình mặt phẳng cĩ dạng:

a1x + a2y + a3z - a1xc - a2yc - a3zc = 0 (* ) .. Viết phương trình tham số của đường thẳng qua A, B X = a1t + xa

Y = a2t + ya Z = a3t + za

.. Thay X , Y, Z vào phương trình mặt phẳng (*), ta được:

 a1( a1t + xa)+ a2( a2t + ya) + a3( a3t + za) - a1xc - a2yc - a3zc = 0

( a12 + a22 + a32 )

.. Thay t vào phương trình tham số của đường thẳng d qua A, B tìm được điểm H

- Tọa độ cuả điểm cắt H(Xh , Yh ,Zh):

Xh = a1(a1xa - a2ya - a3za + a1xc + a2yc + a3zc)/ ( a12 + a22 + a32) + xa Yh = a2(a1xa - a2ya - a3za + a1xc + a2yc + a3zc)/ ( a12 + a22 + a32 ) + ya Zh = a3(a1xa - a2ya - a3za + a1xc + a2yc + a3zc)/ ( a12 + a22 + a32) + za

- Tính khoảng cách từ điểm C đến đường d qua 2 điểm A, B: dch = | CH | = sqrt(( xc - xh )2 + ( yc - yh )2 + ( zc - za )2 ) - Xuất tọa độ điểm H(Xh , Yh ,Zh) và khoảng cách dch End.

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 không gian 2D và 3D (Trang 43 - 47)