Tải bản đầy đủ (.doc) (185 trang)

ĐIỀU KHIỂN MÁY VẼ BẰNG VI XỬ LÝ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (827.65 KB, 185 trang )

Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HỒ CHÍ MINH
KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG
----------------------

LUẬN VĂN TỐT NGHIỆP
ĐỀ TÀI:

ĐIỀU KHIỂN MÁY VẼ
BẰNG VI XỬ LÝ

GVHD : THẦY
HOÀNG MINH TRÍ
SVTH : TRẦN
HOÀI NAM
MSSV : 49700926

NIÊN KHÓA 1997-2002

1
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý



Điều

Lời cảm ơn :
Em xin chân thành cảm ơn thầy Hoàng
Minh Trí đã tận tình hướng dẫn,giúp đỡ và
động viên em trong suốt thời gian thực hiện
bài luận văn tốt nghiệp .
Em xin chân thành cảm ơn các thầy cô
trường ĐHBK ,đặc biệt là các thầy cô Bộ
môn ĐKTĐ bởi những kiến thức , những bài
học bổ ích mà thầy cô đã truyền dạy cho em
trong 5 măm học.

2
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

MỤC LỤC
Trang
PHẦN

I


:

GIỚI

THIỆU

1
1/LỜI

GIỚI

THIỆU

1
2/SƠ LƯC VỀ LUẬN VĂN
2
PHẦN

II

:

CÁC

THIẾT

BỊ

ĐỒ


HỌA

3
1/MỘT SỐ THIẾT BỊ ĐỒ HỌA THÔNG DỤNG
3
2/GIỚI THIỆU BÀN VẼ TRONG LUẬN VĂN
6
PHẦN

III

:

ĐỘC

LẬP

THIẾR

BỊ

8
1/ĐỘC LẬP THIẾT BỊ
8
2/ỨNG DỤNG VÀO ĐỀ TÀI
10
PHẦN

IV


:

GIỚI

THIỆU

TẬP

TIN

.DXF

11
1/GIỚI

THIỆU

11
2/CẤU TRÚC FILE .DXF
11
PHẦN

V

:

GIẢI

THUẬT


VẼ

19
1/GIẢI THUẬT SINH ĐƯỜNG THẲNG
19
2/GIẢI THUẬT SINH ĐƯỜNG TRÒN
21
3/GIẢI THUẬT SINH ĐƯỜNG SPLINE
25
PHẦN

VI

:

GIỚI

THIỆU

VI

XỬ



8951

28
1/GIỚI THIỆU AT89C51
28

2/TẬP LỆNH CỦA AT89C51
32
3/MỘT SỐ CHỨC NĂNG TRONG AT89C51
33
3
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

PHẦN VII : CỔNG COM VÀ CÁC CHUẨN GIAO TIẾP
39
1/GIAO TIẾP VỚI MÁY TÍNH
39
2/CÁC CHUẨN TRUYỀN THÔNG NỐI TIẾP
40
3/CHUẨN

RS-232



BƯỚC

41
PHẦN


VIII

:ĐỘNG

44
1/GIỚI THIỆU ĐỘNG CƠ BƯỚC
44
2/MỘT SỐ MẠCH ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC
49
3/DÒNG GIỚI HẠN CỦA ĐỘNG CƠ BƯỚC
51
PHẦN

IX

:

TỔNG

KẾT

53
PHẦN

X

:

PHỤ


LỤC

54

PHẦN I
GIỚI THIỆU
1/LỜI GIỚI THIỆU

Trước đây, ở các máy cắt kim loại thông thường,
việc điều khiển các chuyển
động cũng như thay đổi vận tốc của các bộ phận, máy
đều thực hiện bằng tay. Với cách điều khiển này thời gian
phụ khá lớn, nên không thể tăng năng suất lao động cũng
như đảm bảo độ chính xác của vật gia công.
Do đó để giảm thời gian phụ, ta cần thiết tiến hành tự
động hoá quá trình điều khiển. Và phương pháp gia công tự
động ra đời với các dấu tì, cam trên trục phân phối v.v…
nhưng vẫn chưa đáp ứng được nhu cầu sản suất, vì nó rút
ngắn được thời gian phụ nhưng thời gian chuẩn bò sản suất
4
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều


sẽ dài. Nhược điểm này không đáng kể nếu như sản suất
được số lượng lớn, nhưng với sản suất nhỏ, mặt hàng phải
thay đổi thường xuyên, loại máy này trở nên bất tiện và
không kinh tế.
Điều này hình thành nhu cầu tìm một phương pháp
điều khiển mới, đảm bảo được thời gian hiệu chỉnh máy
để gia công từ loại chi tiết này sang loại chi tiết khác nhanh
hơn. Và phương pháp điều khiển theo chươnh trình ra đời để
đáp ứng yêu cầu đó
Điều khiển theo chương trình là một dạng điều khiển tự
động mà tín hiệu điều khiển (tín hiệu ra) được thay đổi theo
một qui luật đã được đònh trước. Nói cách khác, trên máy
điều khiển theo chương trình, thứ tự giá trò của chuyển động,
cũng như thứ tự của các bộ phận máy, đóng mở các hệ
thống làm nguội, bôi trơn, thay dao… đều được thực hiện
đúng theo một trình tự đã được lập trình sẵn. Các cơ cấu
mang chương trình này được đặt vào thiết bò điều khiển và
máy sẽ làm việc tự động theo chương trình đã cho.
Nếu các chương trình trên được ghi lại bằng các dấu tì,
bằng hệ thống cam, bằng mẫu chép hình… ta gọi hệ thống
điều khiển đó là hệ thống điều khiển phi số. Nếu các
chương trình được biểu thò bằng các chữ số dưới dạng mã
hiệu, ta gọi đó là hệ thống điều khiển theo chương trình số.
Như vậy điều khiển theo chương trình số là một quá trình
tự động cho phép đưa một cơ cấu di động từ vò trí này đến
vò trí khác bằng một lệnh. Sự dòch chuyển này có thể là
lượng di động thẳng hay góc quay theo các bậc tự do.
Trong nhiều trường hợp, phương pháp điều khiển theo
chương trình số được thiết kế tự động hoá việc di động một
cơ cấu từ vò trí này đến vò trí khác, ta gọi là “điều khiển theo

điểm”. Nhưng ta cũng thực hiện dễ dàng khi rút ngắn vô hạn
khoảng cách giữa hai điểm di động kế tiếp nhau và sẽ đạt
được một quá trình điều khiển q đạo gọi là “điều khiển
theo đường”.
Phương pháp điều khiển chương trình số có thể dùng
để di động bất kì một cơ cấu nào được truyền động bằng
cơ. Phạm vi sử dụng của nó rất rộng, nhưng chủ yếu là tự
động hoá máy công cụ, vì lónh vực này bao gồm việc điều
khiển dao cắt bằng các chữ số.
Chương trình ghi bằng các chữ số được thực hiện ở
ngoài máy, dưới dạng băng xuyên lỗ, băng từ, đóa từ, film…
Các chương trình này có thể cất giữ vào kho, ngăn tủ. Khi
cần sử dụng ta chỉ cần nạp nó vào máy, để máy có thể
thực hiện chương trình và điều khiển các chuyển động tương
đối giữa dao và phôi.
5
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

Vì làm các chương trình số có thể tiến hành xa máy và
máy có hệ thống đo lường riêng, nên hệ thống này có
thể thay đổi dễ dàng và nhanh chóng.
Dựa trên phương pháp điều khiển vò trí theo chương trình
số đã nêu, đề tài của luận văn này là: ”Điều khiển

máy vẽ bằng vi xử lý”. Máy vẽ được đề cập ở đây là
một máy vẽ có khả năng vẽ liên tục các đường nét của
một hình cho trước (của AutoCad).

2/ SƠ LƯC VỀ LUẬN VĂN

* Luận văn có nhiệm vụ thiết kế một máy vẽ có
khả năng đọc được các tập tin (file) .DXF của AutoCad , sau đó
đònh dạng lại file.DXF này (có nghóa là tạo ra một file.TXT chứa
các thông tin về điểm, đường cần vẽ ). Việc đònh dạng được
thực hiện trên máy tính (PC) , cuối cùng PC sẽ truyền lần
lượt những thông tin trong file.TXT xuống vixử lý 8952 đề thực
hiện thao tác vẽ.
* Những công việc cần thực hiện:
- Phần cứng : thiết kế mạch giao tiếp giữa PC và
8952 theo chuẩn RS-232.
- Phần mềm:
>Lập trình cho việc đọc và đònh dạng file.DXF trên
PC (dùng DELPHI).
>Lập trình cho vi xử lý 8952 thực hiện thao tác
vẽ.

3/ỨNG DỤNG CỦA ĐỀ TÀI

Với cách điều khiển cùng một lúc sự dòch chuyền
theo 2 trục X,Y của bút vẽ để di chuyển nó đi theo một
đường xác đònh , đề tài khẳng đònh được sự tối ưu và khả
thi của việc điều khiển vò trí liên tục đối với các máy công
cụ , và là nền tảng cho việc thiết kế máy khoan , máy
cắt…

Để có thể ứng dụng vào trong sản suất , cụ thể là
trong cắt may, đòi hỏi chúng ta phải có những mạch hồi
tiếp về từ các cơ cấu chấp hành , những động cơ có công
suất lớn hơn với độ tin cậy cao hơn.

PHẦN II
CÁC THIẾT BỊ ĐỒ HỌA
6
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

1/ MỘT SỐ THIẾT BỊ ĐỒ HỌA THÔNG
DỤNG
a/ Thiết bò quét Raster :
Thiết bò quét Raster (gọi tắt là Raster) cũng là
một loại thiết bò thể hiện (màn hình) chính. Thiết bò Raster
thể hiện hình ảnh từ những điểm màu thay vì đường. Mỗi
điểm còn gọi là pixel.
Giới thiệu một số thiết bò Raster :
-Màn hình (Monitor):
Màn hình hiển thò trong hệ thống đồ họa máy tính
là cầu nối chính trong việc trao đổi thông tin giữa người sử
dụng và hệ thống. Có nhiều loại công nghệ được sử dụng
để phối hợp các loại màn hình đồ họa.

Độ phân giải liên quan đến khả năng màn hình
thể hiện các chi tiết. Các màn hình đạt đến độ phân giải
1280x1024, ở đây các con số thể hiện các điểm có thể
phân biệt trên màn hình.
Sơ đồ phân loại :
Màn
hình
Quét
dòng

Quét
vector
Ống
nhớ

CRT làm tươi

Đơn sắc

Màu

CRT
màu

Màn hình
phẳng

Tinh thể
Bảng Plasma
Phát

Hình: Các công nghệ sửlỏng
dụng trong cấu tạo thiết bò
hiển thò
quang
đồ họa
điện tử
Các ký tự văn bản được hình thành từ các mẫu điểm.
Đường thẳng và cung được hình thành từ một dãy các điểm
thích hợp. Và một vùng màn hình có thể được tô màu ; đơn
giản là tất cả các điểm trong vùng được lập cùng một
màu.
7
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

Ảnh Raster được đặt trong một vùng nhớ gọi là vùng
đệm khung (frame buffer). Thuật ngữ frame để chỉ một ảnh
đơn. Trong một vùng đệm khung, với trường hợp hai cấp thì
chỉ cần một bit cho một điểm, khi giá trò của bit là 0, thì
điểm tương ứng của ảnh có màu trắng, còn nếu là 1 thì
điểm tương ứng có màu đen. Với ảnh màu, để biểu diễn
mỗ điểm cần nhiều bit hơn.
Vùng đệm khung :
Vùng đệm khung chiếm rất nhiều bộ nhớ: giả sử kích

thước hình là r dòng, c cột và cần b bit cho một điểm, thì
cần r*c*b bit. Một thiết bò Raster chất lượng cao có thể có
r=1024, c=1024, b=24, như thế cần 25 triệu bit (3MB). Như thế
vùng đệm này nằm ở đậu và làm sao truy cập được chúng.
Với một số hệ Raster, vùng đệm khung thực sự là một
phần bộ nhớ của máy. Chúng được gọi là thiết bit-maped :
bộ xử lý có thể truy xuất từng điểm, và có một mạch
logic riêng để làm tươi màn hình. Để tạo ảnh ứng dụng sẽ
ghi màu (là giá trò) trực tiếp lên vò trí bộ nhớ thích hợp. Tại
cấp thấp nhất, sẽ có những chỉ thò máy làm việc này. Tuy
nhiên để tiện lợi người ta tạo thủ tục SetPixel(row,col,A) để
nạp giá trò A cho điểm tại (row,col).
-Máy in kim:
Cơ cấu in của máy in ma trận điểm là tập hợp từ 7
đến 24 cây kim cứng sắp xếp trên đầu in, di chuyển theo
phương nằm ngang trên mặt tờ giấy. Các máy in này làm
việc như thiết bò quét dòng và cần có sự chuyển đổi cho
các hình ảnh dạng quét vector. Việc in màu thực hiện nhờ sử
dụng ruyban màu. Các màu bổ sung được tạo ra bằng cách
gõ hai vùng đệm trên ruyban lên cùng một điểm trên giấy.
-Máy in, vẽ phun:
Cũng là thiết bò quét dòng (raster scan), nó là thiết
bò in màu rẻ tiền. Cơ cấu của nó gồm các đầu vòi mực
gắn ở đầu in, di chuyển trên bề mắt tờ giấy và phun mực
với màu sắc khác nhau. Các vòi phun được gắn với các
hốc mực bằng các rãnh rất nhỏ bao bọc bởi các tinh thể
áp điện. Một xung điện đặt vào tinh thể sẽ tạo ra một cái
giật nhẹ, làm bắn ra một giọt mực. Độ phân giải của máy
in này được quy đònh bởi kích thước giọt mực, hay là kích thước
vòi phun tạo ra nó. Vòi phun thường rất nhỏ nên khi in

thường gặp một số vấn đề phức tạp.
-Máy in laser:
Là thiết bò quét dòng (raster scan), trong đó chùm tia
lazer quét lên một cái trống quay được tích điện dương, phủ
bằng một lớp selen. Phần mặt trống bò chiếu bởi chùm tia
lazer sẽ bò mất điện tích dương. Những phần tích điện còn lại
8
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

tương ứng với những phần đen trên giấy. Một lớp bột tónh
điện phủ lên các phần tích điện dương và được truyền sang
giấy. Một bộ vi xử lý trên máy in lazer sẽ thực hiện chuyển
đổi sang dạng quét dòng.
-Máy in tónh điện:
Là thiết bò nạp điện tích âm cho các phần của loại
giấy được chế tạo đặc biệt, sau đó làm cô đặc bột tónh
điện dạng lỏng, tích điện dương lên tờ giấy. Bột tónh điện sẽ
phủ lên và làm tối phần giấy tích điện âm. Đây là thiết
bò dạng quét dòng, chứa bộ xử lý để thực hiện việc
chuyển đổi.
b/ Thiết bò vẽ đường :
Có hai dạng thường gặp nhất của máy vẽ là dạng
phẳng và dạng trống.

-Máy vẽ dạng phẳng:
Máy vẽ dạng phẳng truy cập đến các vò trí xy trên
mặt phẳng bằng cách chuyển động cần vẽ gắn trên bàn
vẽ. Trên cần vẽ có gắn một cây viết vẽ có thể chuyển
động dọc theo trục x và trục y. Cây viết có thể hạ xuống hay
nhấc lên, tùy theo việc đường nét hay thay đổi vò trí cây
viết. Tờ giấy được giữ trên bàn vẽ bằng tónh điện hoặc
chân không.
-Máy vẽ dạng trống:
Máy vẽ dạng trống có một vài điểm phức tạp hơn
dạng phẳng, mặc dù các chế độ hoạt động cơ bản là tương
tự nhau. Trong máy vẽ dạng trống, tờ giấy được cuốn lên
trống vẽ sao cho không có sự trượt. Trống sẽ quay tới, quay
lui, trong khi đầu vẽ trượt trên một cần vẽ cố đònh, truy cập
đến các điểm trên tờ giấy.
Nhận xét :
Các thiết bò vẽ đường (Line Drawing) chỉ có thể vẽ
đường. Thông dụng nhất là bút vẽ Plotter. Khi plotter vẽ
đường, trước hết bút được di chuyển đến điểm đầu, đặt
bút xuống, sau đó bút di chuyển theo đường thẳng tới đầu
kia của đường.
Các thiết bò vẽ đường có hệ tọa độ đònh sẵn cho bút
vẽ, như trong hình dưới đây :
y
(1023,767)
Pen
x
(0,
SVTH:Trần Hoài Nam
0

Niên khóa 1997-2002

9


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

Bút vẽ được chỉ đến một điểm cụ thể bằng cách gửi cho
Plotter tọa độ của điểm. Thiết bò vẽ đường có sẵn một số
thủ tục cơ bản, ví dụ một số lệnh cho bút vẽ như :
 Pen_Up : nhấc bút
 Pen_Down : đặt bút
 Go_To (x,y) : di chuyển bút đến điểm (x,y)
 Get_Pen (i) : đổi bút hiện tại thành bút thứ i.
Những lệnh trên gọi là lệnh thiết lập chế độ (mode
setting). Khi thiết bò nhận được lệnh chúng sẽ thay đổi
“trạng thái” máy cho đến khi có lệnh thiết lập chế độ
khác.
Thiết bò phải được gửi giá trò (x,y) theo hệ tọa độ của
nó, gọi là tọa độ thiết bò.

2/ GIỚI THIỆU BÀN VẼ TRONG LUẬN VĂN

Máy vẽ được thiết kế trong luận văn này là máy vẽ
được điều khiển theo chương trình số.
Phần chính của máy vẽ gồm hai trục X,Y để điều khiển
vò trí qua lại của bút vẽ trong mặt phẳng bản vẽ và trục Z

gắn trực tiếp với bút vẽ để điều khiển nhấc bút lên hay
hạ bút xuống.
Mỗi trục X,Y được cấu tạo gồm một động cơ bước có
trục quay gắn liền với một vitme . Vitme là một trục có răng
xoắn, được mài kỹ. Nếu ta gắn một vật lên răng xoắn của
vitme thì khi động cơ quay, vitme sẽ chuyển chuyển động quay
thành chuyển động trượt của vật trên răng xoắn. Tùy theo
chiều quay của động cơ là thuận hay nghòch mà vật sẽ
chuyển động tới hay lui trên răng xoắn.
Trục X được đặt lên vitme của trục Y, còn trục Z lại được
đặt lên vitme của trục X. Kết quả là khi chỉ quay một động
cơ thì bút vẽ chỉ di chuyển theo một trục, còn khi quay đồng
thời hai động cơ thì bút vẽ sẽ di chuyển theo hai trục, và việc
này dẫn đến việc ta có thể vẽ được các đường xiên và là
tiền đề cho việc vẽ các đường cong.
Trục Z đơn giản chỉ là một nam châm điện có trục gắn
với bút vẽ dùng để điều khiển vò trí nhấc lên hay hạ
xuống của nó. Khi có dòng điện đi qua nam châm, bút sẽ
được nhấc lên. Ngoài ra còn một số công tắc hành trình để
việc điều khiển được chính xác và dễ dàng.
Tìm hiểu hai động cơ bước của hai trục X,Y :
Hai động cơ bước trong mô hình được thiết kế như sau :
- Động cơ trục X :
10
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý


Điều

o Quay thuận : đưa bút vẽ qua phải  chiều tăng
x.
o Quay nghòch : đưa bút vẽ qua trái  chiều giảm
x.
- Động cơ trục Y :
o Quay thuận : đưa bút vẽ lên trên  chiều tăng
y.
o Quay nghòch : đưa bút vẽ xuống dưới  chiều
giảm y.
Trục động cơ gắn với vitme có độ phân giải là 0.1mm
ứng với một bước quay của motor. Nghóa là khi động cơ quay
một bước thì vitme xoay làm di chuyển vật gắn trên nó
0.1mm. Với độ phân giải này, ta có thể vẽ được các
đường nét khá mòn đòi hỏi độ phân giải cao.
Khi vận hành, đầu chung của các động cơ nối lên
nguồn DC 5V, các đầu còn lại nối xuống mass hay không là
do các bit điều khiển.

……Giới thiệu động cơ bước…..

Động cơ được dùng trong mô hình này là loại
động cơ bước nam châm vónh cửu đơn cực 6 đầu dây,
điện áp làm việc 1.8VDC và góc bước là 1.8 độ.
Trục Z và các công tắc hành trình của mô hình :
Trục Z : Dùng nam châm điện 24VDC để điều khiển nhấc bút
hay hạ bút. Nam châm này cấu tạo chính gồm một cuộn dây
quấn quanh lõi sắt có thể di chuyển tự do ở giữa. Khi có

dòng điện qua cuộn dây sẽ tạo ra một lực từ hút lõi sắt
lên trên. Dựa vào tính chất này ta gắn bút vẽ vào lõi sắt
của nam châm để điều khiển vò trí nhấc lên hay hạ xuống
của bút vẽ.
Khi vận hành, một đầu dây của nam châm luôn nối với
nguồn 24VDC, đầu còn lại được nối với mass hay không là do
1 khóa BJT.
Để giữ cố đònh bút vẽ khi di chuyển hay đang vẽ, đồng thời
để xác đònh trạng thái nhấc lên hay hạ xuống của bút vẽ,
người ta dùng một công tắc hành trình gắn liền với trục
tác động của nam châm. Công tắc này một đầu nối xuống
mass, đầu kia nối với một bit điều khiển (bit này bình thường
được treo lên 5V). Khi bút vẽ nhấc lên thì bit này = 0 và
ngược lại, khi không nhấc thì bit = 1.
Khi muốn nhấc bút lên ta tác động vào khóa BJT  dòng
điện đi qua cuộn dây  bút được nhấc lên. Khi muốn hạ bút
xuống công việc cũng tương tự như trên. Chú ý : phải đọc
11
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

công tắc hành trình của bút trước khi tác động vào BJT và
phải ngưng kích ngay khi bút đã đổi trạng thái vì nếu tác
động lâu sẽ dẫn đến cuộn dây nam châm bò cháy (nam

châm DC làm việc ngắn hạn).
Các công tắc hành trình :
Trên mô hình có 4 công tắc hành trình (2 trên trục X, 2 trên
trục Y) để xác đònh đầu trục hay cuối trục tương ứng.
Các công tắc này một đầu được nối xuống mass, đầu còn
lại nối về các bit điều khiển.

Công
tắc
hành
trình

Nam châm
điện
Trục Z

Hình :Bàn vẽ.

Động cơ bước

PHẦN III
ĐỘC LẬP THIẾT BỊ
1/ĐỘC LẬP THIẾT BỊ

* Chúng ta đã gặp nhiều dạng “lệnh thiết bò” tùy theo
thiết bò. Các thiết bò vẽ đường như Plotter thì có các thủ tục
Pen_Up, Pen_Down, Go_To (x,y). Thiết bò Raster thì có cá thủ tục
SetPixel, Line. Trong mọi trường hợp ta phải gửi đi tọa độ thiết
bò, và mỗi thiết bò cóù riêng hệ tọa độ đònh sẵn.
Điều đó gây ra hai vấn đề :

- Khó để tìm hiểu các ý tưởng và phương pháp cơ
bản mà không biết chi tiết về thiết bò.
- Khó thay đổi một ứng dụng viết cho thiết bò này
sang thiết bò khác.

12
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

Như vậy cần phải “che giấu” chi tiết về thiết bò trong
các thủ tục “điều khiển” để có được dạng giao tiếp
thống nhất cho ứng dụng.

dụ
:
Chúng
ta
cần
một
thủ
tục
như
Draw_Line(x1,y1,x2,y2:real) để vẽ đường thẳng từ điểm
(x1,y1) đến điểm (x2,y2).

Bên trong là những lệnh có thể phụ thuộc tọa độ
thiết bò, nhưng chương trình ứng dụng không cần biết chi
tiết này. Vì vậy nó được xem như thủ tục độc lập
thiết bò.
* Xuất phát từ nhu cầu “Nếu ta dùng thiết bò đồ họa
khác, mà không phải viết lại chương trình điều khiển hoặc
ngay cả không cần biên dòch lại, mà chỉ cần nối kết chương
trình điều khiển thiết bò mới”. Độc lập thiết bò sẽ giúp
bạn làm được điều ấy
Để đảm bảo tính linh động, các tiêu chuẩn đồ họa đã
thiết lập cho chương trình ứng dụng các thay đổi tối thiểu, cho
phép nó đònh đòa chỉ các thiết bò nhập khác nhau. Khởi
đầu, người lập trình tạo ra một hệ thống tọa độ mô hình,
trong đó mô tả một đối tượng gọi là Hệ tọa độ thực (World
Coordinate_WC). Tiếp theo, người lập trình sẽ mô tả một Hệ
thống
tọa
độ
thiết

chuẩn
(Normalized
Device
Coordinate_NDC), bằng cách xác đònh các vùng hai chiều của
bề mặt quan sát mà trên đó hình ảnh sẽ xuất hiện. Sau
đó các tọa độ thiết bò chuẩn sẽ chuyển sang tọa độ thiết
bò (Device Coordinate).
Hệ thống tọa
độ thực (WC)


Hệ thống tọa
độ chuẩn (NDC)

Hệ thống tọa
độ thiết bò (DC)

Thiết bò
vật lý

Chương trình ứng dụng sẽ giao tiếp với hệ thống tọa độ
chuẩn theo cách thức phù hợp, không quan tâm đến thiết bò
xuất được sử dụng. Do đó tạo ra được sự độc lập thiết bò
trong việc tạo ảnh của đối tượng.
*Tọa độ thiết bò chuẩn hóa (NDC – Normalized Device
Coordinate) :
KGS (Graphic Kernel System – một hệ chuẩn quốc tế) đònh
nghóa tọa độ thiết bò được chuẩn hóa (NDC) là vùng hình
vuông với góc thấp trái là (0,0) và góc cao phải là (1,1),
như trong hình dưới đây :
y

Displa
y

1
(x2,y2)

13
SVTH:Trần
Hoài Nam

y
(x1,y1)
Niên
khóa 1997-2002
1
x
x
1
1


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

Không gian NDC là hệ tọa độ chuẩn cho mọi thiết bò,
và một lệnh như Draw_Line() sẽ tự mở rộng khuôn này để
vừa khớp với khuôn của thiết bò.
*Ánh xạ NDC lên thiết bò :
Mỗi lần xuất thủ tục LineNDC_() lên thiết bò phải ánh
xạ hình vuông đơn vò của hình vuông lớn nhất tên thiết bò
gọi là hình vuông thiết bò. Nghóa là, cho điểm bất kỳ P(x,y)
trong NDC ta cần tính tọa độ thiết bò tương ứng Q(dx,dy) trong
hình vuông thiết bò, như trong hình dưới đây :

NDC

1


y

Largest
Square

P

d
y

Device
Coordinate
space

Q

x
1
d
Phép ánh xạ này phải tỉ lệ. Vì vậy
x dx phải ánh xạ
tuyến tính theo x, sao cho :
dx=Ax+B
và dy=Cy+D
với A,B,C,D là hằng số.

2/ỨNG DỤNG VÀO ĐỀ TÀI:
- Sau đây là đoạn chương trình minh họa việc chuyển
đổi tọa độ của các điểm , đường từ hệ tọa độ trong
AutoCad sang hệ tọa độ trong PC và hệ tọa độ bàn vẽ.

- Khai báo biến:
p.x ; p.y :tọa độ trong AutoCad (Kích thước bản vẽ là
Page_Width * Page_Height )
PC_p.x ; PC_p.y :tọa độ trong PC (Bàn vẽ trong PC là
phần tử Image.canvas có kích thước 350*350).
14
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

Mv_p.x ; Mv_p.y :tọa độ trong bàn vẽ (Bàn vẽ của
máy vẽ có kích thước 420*297).
- Procedure Chuyen_doi_toa_do ();
Begin
If (Page_Width div 350) > (Page_Height div 350)
then Scale:=Round(Page_Width div 350)+1
else Scale:=Round(Page_Height div 350)+1;
PC_p.x:=350 div 2 + p.x div Scale;
PC_p.y:=350 div 2 –p.y div Scale ;
Mv_p.x:=p.x*10; /* Mỗi bước của động cơ bút di
chuyển được 0.1mm*/
Mv_p.y:=p.y*10;
End.

PHẦN IV

GIỚI THIỆU TẬP TIN .DXF
1/GIỚI THIỆU
Ngoài Autocad còn có rất nhiều phần mềm máy tính
phục vụ cho các mục tiêu khác nhau và có những thế mạnh
khác nhau. Do đó, thế nào cũng có lúc nảy sinh nhu cầu sử
15
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

dụng bản vẽ ACAD trong những phần mềm khác, đặc biệt là
các phần mềm đồ họa.
Nếu các phần mềm máy tính khác cũng đọc được tập
tin .DWG như AUTOCAD thì không có vấn đề gì. Tuy nhiên, cấu
trúc tinh vi của tập tin Autocad .DWG được hãng Autodesk giữ
kín, nhằm tạo cho Autocad ưu thế độc quyền khai thác bản vẽ
do chính mình tạo ra.
Nhưng để tạo tính tương thích của Autocad trên thò trường
đồ họa, Autodesk đã thực hiện chính sách “mở cửa” bằng
cách trang bò cho Autocad khả năng kết xuất bản vẽ của
mình thành các dạng thức tập tin thông dụng cũng như đề ra
một dạng thức tập tin bản vẽ đơn giản hơn gọi là DXF
(Drawing data eXchange Format) và cho công bố rộng rãi cấu
trúc của nó.
Ta có thể tìm thấy nhiều phần mềm lớn nhỏ khác nhau

có khả năng đọc và ghi tập tin bản vẽ ở dạng thức DXF.
Quy cách ghi bản vẽ ở dạng thức DXF do hãng Autodesk đề ra
và được phổ biến rộng rãi.
Do ưu thế của Autocad trên thò trường các phần mềm
thiết kế, DXF hiện đã trở thành một tiêu chuẩn công
nghiệp.

2/CẤU TRÚC FILE DXF :

Tập tin .DXF là một tập tin văn bản ASCII bình thường
trong đó mô tả các quy đònh của bản vẽ và mô tả từng
đối tượng. Nói như vậy có nghóa là bạn có thể dùng những
chương trình soạn thảo văn bản để mở tập tin .DXF và sửa
chữa nội dung của nó. Cách thức ghi thông tin như vậy
thường lớn, do đó Autocad còn cho phép bạn ghi tập tin .DXF
theo một dạng gọn hơn, không thông qua mã ASCII để mô tả
bản vẽ. Đó là trường hợp của tập tin .DXF dạng nhò phân
(Binary DXF). Trong đề tài này chỉ quan tâm đến DXF ASCII.
Về bản chất file DXF gồm những bộ mã và giá trò
tương ứng. Những đoạn mã, được hiểu như những nhóm mã
cho biết dạng của giá trò theo sau. Sử dụng những nhóm mã
và giá trò, một file DXF được chia thành nhiều phần, bao gồm
nhiều bảng dữ liệu, mỗi bảng dữ liệu bao gồm một nhóm
mã và dữ liệu tương ứng. Mã và giá trò tương ứng nằm
trên cùng dòng trong file DXF.
Mỗi phần bắt đầu bằng một nhóm mã 0 theo sau bởi
chuỗi SECTION. Mỗi phần bao gồm nhiều nhóm mã và giá
trò đònh nghóa những phần tử của nó. Phần cuối của một
phân đoạn với ký tự 0 và theo sau bởi chuỗi ENDSEC.
Toàn thể cấu tạo của một file DXF có dạng như sau :

Phần Header :
16
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

Thông thường thông tin về bản vẽ được tìm trong phần
này. Nó gồm có một bảng dữ liệu về số của phiên bản
Autocad và số lượng biến hệ thống. Mỗi thông số chứa một
tên biến và giá trò tương ứng của nó.
Phần CLASSES :
Giữ những thông tin cho trình ứng dụng – xác đònh đặc
điểm classes, những trường hợp đặc biệt trong BLOCKS,
ENTITIES, và dữ liệu của mục OBJECTS.
Phần TABLES :
Phần này chứa những đònh nghóa của những ký hiệu
sau đây :
APPID (Application Identification Table)
BLOCK_RECORD (Block Reference Table)
DIMSTYLE (Dimension Style Table)
LAYER (Layer Table)
LTYPE (Linetype Table)
STYLE (Text Style Table)
UCS (User Coordinate System Table)
VIEW (View Table)

VPORT (Viewport Configuration Table)
Phần BLOCKS :
Chứa đònh nghóa của khối và bản vẽ mà gộp thành
mỗi khối tham chiếu trong bản vẽ.
Phần ENTITIES :
Phần chứa những đối tượng đồ họa trong bản vẽ, bao
gồm những khối tham chiếu (thực thể chèn vào).
Phần OBJECTS :
Chứa những đối tượng không đồ họa trong bản vẽ.
ENTITIES Section :
Phần này trình bày các nhóm mã tập trung vào đối
tượng đồ họa. Các mã này xuất hiện trong phần ENTITIES
của một file DXF và được sử dụng bởi các ứng dụng AutoLisp
và ARX trong các danh sách đònh nghóa thực thể.
Nhóm mã sau ứng dụng cho các đối tượng ARC :
Nhóm mã Arc :
Group
codes

Description

100

Subclass marker (AcDbCircle)

39

Thickness (optional; default = 0)

10


Center point (in OCS). DXF: X value; APP: 3D
point

20, 30

DXF: Y and Z values of center point (in OCS)

17
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý
40

Radius

100

Subclass marker (AcDbArc)

50

Start angle

51

End angle


210

Extrusion direction. (optional; default = 0, 0,
1).
DXF: X value; APP: 3D vector

220, 230

DXF: Y and Z values of extrusion direction

Điều

Nhóm mã sau ứng dụng cho các đối tượng CIRCLE :
Nhóm mã Circle :
Group
codes

Description

100

Subclass marker (AcDbCircle)

39

Thickness (optional; default = 0)

10


Center point (in OCS). DXF: X value; APP: 3D
point

20, 30

DXF: Y and Z values of center point (in OCS)

40

Radius

210

Extrusion direction. (optional; default = 0, 0,
1).
DXF: X value; APP: 3D vector

220, 230

DXF: Y and Z values of extrusion direction

Nhóm mã sau ứng dụng cho các đối tượng ELLIPSE :
Nhóm mã Ellipse :
Group
codes

Description

100


Subclass marker (AcDbEllipse)

10

Center point (in WCS). DXF: X value; APP: 3D point

20, 30

DXF: Y and Z values of center point (in WCS)

11

Endpoint of major axis, relative to the center (in WCS).
DXF: X value; APP: 3D point.

21, 31

DXF: Y and Z values of endpoint of major axis, relative to the center
(in WCS)

18
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý
210

Extrusion direction. (optional; default = 0, 0, 1).

DXF: X value; APP: 3D vector

220, 230

DXF: Y and Z values of extrusion direction

40

Ratio of minor axis to major axis

41

Start parameter (this value is 0.0 for a full ellipse)

42

End parameter (this value is 2pi for a full ellipse)

Điều

Nhóm mã sau ứng dụng cho các đối tượng LINE :
Nhóm mã Line :
Group
codes

Description

100

Subclass marker (AcDbLine)


39

Thickness (optional; default = 0)

10

Start point (in WCS). DXF: X value; APP: 3D
point

20, 30

DXF: Y and Z values of start point (in WCS)

11

End point (in WCS). DXF: X value; APP: 3D
point

21, 31

DXF: Y and Z values of end point (in WCS)

210

Extrusion direction. (optional; default = 0, 0,
1).
DXF: X value; APP: 3D vector

220, 230


DXF: Y and Z values of extrusion direction

Nhóm mã sau ứng dụng cho các đối tượng POINT :
Nhóm mã Point :
Group codes

Description

100

Subclass marker (AcDbPoint)

10

Point location (in WCS). DXF: X value; APP: 3D point

20, 30

DXF: Y and Z values of point location (in WCS)

39

Thickness (optional; default = 0)

210

Extrusion direction. (optional; default = 0, 0, 1).
DXF: X value; APP: 3D vector


220, 230

DXF: Y and Z values of extrusion direction

19
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

50

Điều

Angle of the X axis for the UCS in effect when the point was
drawn (optional, default = 0); used when PDMODE is nonzero

Nhóm mã sau ứng dụng cho các đối tượng POLYLINE :
Nhóm mã Polyline :
Group codes

Description

100

Subclass marker (AcDb2dPolyline or AcDb3dPolyline)

10


DXF: always 0
APP: a "dummy" point; the X and Y values are always 0, and
the Z value is the polyline's elevation (in OCS when 2D, WCS
when 3D)

20

DXF: always 0

30

DXF: polyline's elevation (in OCS when 2D, WCS when 3D)

39

Thickness (optional; default = 0)

70

Polyline flag (bit-coded); default is 0:
1 = This is a closed polyline (or a polygon mesh closed in the
M direction).
2 = Curve-fit vertices have been added.
4 = Spline-fit vertices have been added.
8 = This is a 3D polyline.
16 = This is a 3D polygon mesh.
32 = The polygon mesh is closed in the N direction.
64 = The polyline is a polyface mesh.
128 = The linetype pattern is generated continuously around

the vertices of this polyline.

40

Default starting width (optional; default = 0)

41

Default ending width (optional; default = 0)

71

Polygon mesh M vertex count (optional; default = 0)

72

Polygon mesh N vertex count (optional; default = 0)

73

Smooth surface M density (optional; default = 0)

74

Smooth surface N density (optional; default = 0)

75

Curves and smooth surface type (optional; default = 0);
integer codes, not bit-coded:

0 = No smooth surface fitted
5 = Quadratic B-spline surface
6 = Cubic B-spline surface
8 = Bezier surface

20
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý
210

Extrusion direction. (optional; default = 0, 0, 1).
DXF: X value; APP: 3D vector

220, 230

DXF: Y and Z values of extrusion direction

Điều

Nhóm mã sau ứng dụng cho các đối tượng SPLINE :
Nhóm mã Spline :
Group
codes

Description


100

Subclass marker (AcDbSpline)

210

Normal vector (omitted if the spline is nonplanar)
DXF: X value; APP: 3D vector

220, 230

DXF: Y and Z values of normal vector

70

Spline flag (bit coded):
1 = Closed spline
2 = Periodic spline
4 = Rational spline
8 = Planar
16 = Linear (planar bit is also set)

71

Degree of the spline curve

72

Number of knots


73

Number of control points

74

Number of fit points (if any)

42

Knot tolerance (default = 0.0000001)

43

Control-point tolerance (default = 0.0000001)

44

Fit tolerance (default = 0.0000000001)

12

Start tangent--may be omitted (in WCS).
DXF: X value; APP: 3D point.

22, 32

DXF: Y and Z values of start tangent—may be omitted (in WCS).

13


End tangent--may be omitted (in WCS).
DXF: X value; APP: 3D point.

23, 33

DXF: Y and Z values of end tangent—may be omitted (in WCS)

40

Knot value (one entry per knot)

41

Weight (if not 1); with multiple group pairs, are present if all are not
1

10

Control points (in WCS) one entry per control point.

21
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều


DXF: X value; APP: 3D point
20, 30

DXF: Y and Z values of control points (in WCS) (one entry per control
point)

11

Fit points (in WCS) one entry per fit point.
DXF: X value; APP: 3D point

21, 31

DXF: Y and Z values of fit points (in WCS) (one entry per fit point)

Nhóm mã sau ứng dụng cho các đối tượng TEXT :
Nhóm mã Text :
Group codes

Description

100

Subclass marker (AcDbText)

39

Thickness (optional; default = 0)


10

First alignment point (in OCS)
DXF: X value; APP: 3D point

20, 30

DXF: Y and Z values of first alignment point (in OCS)

40

Text height

1

Default value (the string itself)

50

Text rotation (optional; default = 0)

41

Relative X scale factor—width (optional; default = 1).
This value is also adjusted when fit-type text is used.

51

Oblique angle (optional; default = 0)


7

Text style name (optional, default = STANDARD)

71

Text generation flags (optional, default = 0):
2 = Text is backward (mirrored in X),
4 = Text is upside down (mirrored in Y)

72

Horizontal text justification type (optional, default = 0) integer codes
(not bit-coded)
0 = Left;1= Center; 2 = Right
3 = Aligned (if vertical alignment = 0)
4 = Middle (if vertical alignment = 0)
5 = Fit (if vertical alignment = 0)
See the following table for clarification

11

Second alignment point (in OCS).
DXF: X value; APP: 3D point.
This value is meaningful only if the value of a 72 or 73 group is nonzero
(if the justification is anything other than baseline/left)

21, 31

DXF: Y and Z values of second alignment point (in OCS)


22
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

210

Extrusion direction. (optional; default = 0, 0, 1).
DXF: X value; APP: 3D vector

220, 230

DXF: Y and Z values of extrusion direction

100

Subclass marker (AcDbText)

73

Vertical text justification type (optional, default = 0): integer codes (not
bit- coded)
0 = Baseline; 1 = Bottom; 2 = Middle; 3 = Top
See the following table for clarification.


Dưới đây là 1 đoạn nhỏ của 1file .DXF với các thông tin
về 1đoạn thẳng (LINE) đi từ (X0,Y0,Z0) đến (X1,Y1,Z1) :
AcDbLine /* Bắt đầu đoạn LINE*/
10
/* Detect tọa độ X0*/
0.0
/* X0=0*/
20
/* Detect tọa độ Y0*/
0.0
/*Y0=0*/
30
/* Detect tọa độ Z0*/
0.0
/*Z0=0*/
11
/* Detect tọa độ X1*/
100.0
/*X1=100*/
21
/* Detect tọa độ Y1*/
50.0
/* Y1=50*/
31
/* Detect tọa độ X1*/
0.0
/*Z1=0*/
0


23
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều

PHẦN V
GIẢI THUẬT VẼ
1/GIẢI THUẬT SINH ĐƯỜNG THẲNG
a/ Nguyên lý chung :
Trên mặt phẳng bất kỳ, một điểm được xác đònh bởi
cặp 2 giá trò tọa độ : một theo trục x và một theo trục y
mô tả khoảng cách từ điểm đó đến các trục. Điểm sẽ
nằm trên đường thẳng khi giá trò tọa độ điểm thỏa mãn
phương trình biểu diễn đường thẳng đó. Việc biểu diễn
đường thẳng có rất nhiều phương pháp khác nhau.
Nếu 2 điểm với tọa độ (x 1,y1) và (x2,y2) được sử dụng
để xác đònh nên một đường thẳng thì phương trình của
đường thẳng qua hai điểm được viết lại như sau :
y  y1 y 2  y1

x  x1 x 2  x1
Từ phương trình này chúng ta có thể xây dựng quá trình
vẽ các đường thẳng khi cho x biến thiên theo các khoảng
x và kết quả ta có thể thu được giá trò của biến y thay
đổi với các khoảng y tương ứng (y=kx).

Do các đường thẳng được mô tả trong hệ tọa độ thực
khi hiển thò trong máy tính, hệ tọa độ chính là lưới nguyên
nên bản chất của quá trình vẽ các đường thẳng chính là
sự nguyên hóa các tọa độ các điểm thuộc đường thẳng
và vẽ các pixel tương ứng.
Nguyên lý chung là cho một thành phần tọa độ x hay y
biến đổi theo từng đơn vò và tính tọa độ nguyên còn lại
sao cho gần với tọa độ thực nhất. Việc quyết đònh chọn x
hay y biến đổi phụ thuộc vào độ rộng của đường thẳng.
b/ Giải thuật trung điểm sinh đường thẳng
(MidPoint) :
Giải thuật điểm giữa (Midpoint) được Pitteway đưa ra
những năm 1967 và được VanAken áp dụng cho việc sinh
các đường thẳng và đường tròn năm 1985 cho ra các
công thức đơn giản và tạo được các điểm tương tự với
giải thuật Bresenham.
Giả sử điểm (xi,yi) là điểm hiện thời và với giải
thuật Bresenham, việc quyết đònh điểm A hay điểm B là
điểm kế tiếp là việc lựa chọn giá trò y i+1 hay yi dựa vào
khoảng cách từ AS hay từ BS. Và như vậy giải thuật
đã bỏ qua yếu tố đánh giá đơn giản là : điểm M, trung
24
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


Luận văn tốt nghiệp
khiển máy vẽ bằng vi xử lý

Điều


điểm của đoạn AB, mà qua đó việc so sánh chỉ đơn giản
là quá trình xét xem M nằm trên hay dưới đường thẳng
cần sinh.

A
M
B
Nếu M nằm dưới thì điểm A được chọn, nếu ngược lại M
nằm trên thì điểm B được chọn. Giả sử như ta có phương
trình đoạn thẳng được biểu diễn dưới dạng không tường
minh cùng với các hệ số a,b như sau :
F(x,y) = ax+by+c = 0
Nếu đặt dx = x2-x1 và dy = y2-y1
Phương trình chuyển về dạng :
y = (dx/dy).x + B
Hay F(x,y) = dx.x-dy.y+B.dx = 0
Như vậy a=dx; b=-dy; c=B.dx
Với phương trình trên thì F(x,y) = 0 với mọi điểm (x,y) nằm
trên đường thẳng, F(x,y)>0 với các điểm nằm dưới đường
và <0 với các điểm nằm phía trên đường thẳng.
Đặt d = F(xi+1,yi+1/2) là trung điểm của đoạn AB, ta có :
di = a(xi+1)+b(yi+1/2)+c
Việc so sánh, hay kiểm tra M sẽ được thay bằng việc xét
giá trò d. Nếu d>0 điểm B được chọn, nếu d<0 điểm A được
chọn. Trong trường hợp d=0 chúng ta có thể chọn điểm bất
kỳ A hay B.
- Nếu B được chọn thì M sẽ tăng theo x một đơn vò
Khi đó :
di+1 = F(xi+2,yi+1/2)

 di+1 = di+a = di+dy
- Nếu A được chọn thì M tăng theo 2 hướng x và y cùng
một đơn vò.
Khi đó :
di+1 = F(xi+2,yi+3/2)
 di+1 = di+a+b = di+dy-dx
25
SVTH:Trần Hoài Nam
Niên khóa 1997-2002


×