Khoa C NTT - Ð
H KHTN TP.H CM
Khoa C NTT - Ð
H KHTN TP.H CM
-86-
nếu tỉ số vượt khỏi giới hạn thì tam giác đó khơng được nhúng dữ liệu và cả MEP cũng không nhúng dữ liệu.
4.6.1.2.2 Phương pháp biến đổi tọa độ ba đỉnh trong tam giác theo một
lượng
k
cho trước:
Như ta đã đề cập ở trên,
k k k
′ = −
là lượng thay đổi của tỉ số đường cao và cạnh đáy trước và sau khi chèn bit. Tam giác phải bị thay đổi trên các đỉnh sao
cho tỉ số giữa đường cao và cạnh đáy là
k′
. Sự tính lại ba đỉnh tam giác dựa trên nhiều phương trình tốn học sẽ phức tạp và gây ra các sai số lớn. Tôi thử nghiệm
một phương pháp biến đổi tọa độ ba đỉnh bằng cách chuyển các đỉnh về không gian hai chiều:
Đối với tam giác Mark:
Thay đổi tỉ số
h k
a =
thành
h k
a ′
′ =
: chỉ thay đổi chiều dài đường cao và giữ nguyên cạnh đáy.
h h
k a
a ′
= +
4.1
⇔ .
h h a k ′ = +
Đặt:
h h h ′
= −
4.2 Như vậy h tăng thêm một lượng
. h a k
=
. Xét một tam giác trong khơng gian hai chiều có cạnh đáy a song song ox,
chiều cao h song song oy: Khi h thay đổi một lượng
h
, để tọa độ 3 đỉnh tam giác ít bị biến dạng nhất, ta hạ đoạn BC xuống
2 h
và nâng A lên
2 h
nếu
h
dương và ngược lại nếu
h
âm .
Khoa C NTT - Ð
H KHTN TP.H CM
Khoa C NTT - Ð
H KHTN TP.H CM
-87-
Tuy nhiên, lượng
h
phải rất nhỏ để tam giác ít bị biến đổi. Nếu a lớn thì
h
lớn.
h
phải nhỏ hơn một ngưỡng cho trước:
h t ≤
4.3 Ngưỡng t này sẽ hạn chế việc chọn lựa các tam giác cho các MEP, nó
cũng định hướng cho việc chọn đường cao và cạnh đáy thích hợp. Giả sử tam giác trên có
h
phù hợp với ngưỡng t thoả 4.3.
A
C h
O Ox
Oy
a
h
B
Hình 27. Tam giác trong khơng gian hai chiều
Khoa C NTT - Ð
H KHTN TP.H CM
Khoa C NTT - Ð
H KHTN TP.H CM
-88- Hình 28. Biến đổi trên tam giác Mark
Ta thấy BCox,
ox B C
′ ′
và
2
′ ′
=
=
′
=
B B
C C
x x
x x
h HH
Như vậy:
2 2
′ ′
=
−
= −
B B
C C
h y
y h
y y
Tọa độ
, B C
′ ′
đã được xác định.
h
có thể dương hay âm. Nếu
h
: chiều cao h tăng, nếu
h
: chiều cao h giảm.
Khoa C NTT - Ð
H KHTN TP.H CM
Khoa C NTT - Ð
H KHTN TP.H CM
-89-
Tương tự cho
A′
:
2
′ ′
=
= +
A A
A A
x x
h y
y
Đối với 3 tam giác còn lại:
Do tính chất 3 tam giác này mỗi tam giác có một cạnh chung với M. Nên việc thay đổi độ dài đường cao trong mỗi tam giác phải khơng được làm thay đổi
vị trí cạnh chung với tam giác M. Như vậy, trong mỗi tam giác chỉ có một đỉnh đối diện cạnh đáy bị thay đổi tọa độ.
Thực hiện tương tự như đối với tam giác M, nhưng chỉ thay đổi tọa độ đỉnh đối diện cạnh đáy.
A
B C
h
O Ox
Oy
a
h
A’
Hình 29. Biến đổi trên tam giác Subscript, Data1 và Data2
Như vậy :
′ ′
=
=
+
A A
A A
x x
y y
h
Khoa C NTT - Ð
H KHTN TP.H CM
Khoa C NTT - Ð
H KHTN TP.H CM
-90-
Trong khơng gian hai chiều, một tam giác có chiều cao song song oy, cạnh đáy song song ox thì việc xác định
, , A B C
′ ′ ′
là cực kỳ đơn giản. Nhưng trong không gian ba chiều, chiều cao không song song oy, cạnh đáy không song song
ox thì việc xác định toạ độ 3 đỉnh trở nên phức tạp hơn.
Phương pháp biến đổi tọa độ ba đỉnh:
Tam giác ABC trong hình là một tam giác trong không gian ba chiều với gốc tọa độ O0,0,0.
Quay tam giác ABC một góc sao cho nó nằm hồn tồn trong mặt phẳng oxy.
Sau đó quay tam giác ABC sao cho cạnh đáy song song ox. Như vậy, bài toán tìm tọa độ ba đỉnh tam giác trong khơng gian ba chiều
trở thành bài tốn tìm tọa độ trong khơng gian hai chiều cực kỳ dễ. Sau khi đã xác định được các tọa độ mới, ta biến đổi tam giác mới với các
phép biến đổi ngược với các phép biến đổi trên. Các góc quay được xác định dựa trên các vectơ pháp tuyến của mặt phẳng ABC và vectơ chỉ phương của các
đường thẳng. Vì
. h
a k =
,
h
phụ thuộc vào a, nếu a quá lớn thì sự biến đổi trên tam giác lớn, nếu a quá nhỏ thì sự biến đổi trên tỉ số sẽ bị các sai số trong phép tính
trên số thực. Phần thực nghiệm chọn một ngưỡng trên tam giác:
0.03 10.00
h a
£ £
.
Tam giác chỉ được chọn để sử dụng nếu tỉ số
h a
thoả điều kiện trên. Sai số trong tính tốn: các phép tính toán trên số thực, đỉnh tam giác lưu
dạng số thực nên sai số trong q trình tính tốn thường xảy ra. Mỗi kí tự chỉ cách một kí tự khác cạnh nó một đơn vị, nên một sự sai số nhỏ cũng có thể dẫn
đến một thơng điệp sai sau q trình rút trích dữ liệu. Để khắc phục điều này, sau
Khoa C NTT - Ð
H KHTN TP.H CM
Khoa C NTT - Ð
H KHTN TP.H CM
-91-
mỗi thao tác nhúng vào một MEP, chương trình sẽ kiểm tra lại, rút trích lại dữ liệu đã nhúng vào MEP, nếu có sai sót thì MEP được nhúng dữ liệu lại với sự
điều chỉnh thích hợp.
4.6.2 Phương pháp áp dụng thuật giải TVR: 4.6.2.1 Phát biểu bài toán: