Nghiên cứu xây dựng thuật toán và phần mềm vẽ đường cong Bezier

TÓM TẮT

Bài báo này trình bày một nghiên cứu về phương pháp xây dựng đường cong

Bezier trong môi trường CAD/CAM. Phần mềm “Cong cu xay dung duong cong

Bezier” viết bằng Matlab 2012 cho phép xây dựng, hiệu chỉnh các đường cong

Bezier cũng được giới thiệu ở đây. Công cụ xây dựng đường cong Bezier này có

thể sử dụng như một phần mềm độc lập để thiết kế các đường cong tự do (free

form curve). Với công cụ này người dùng có thể thay đổi được các điểm điều

khiển để điều khiển linh hoạt, trực quan hình dạng đường cong thiết kế. Đây là

tiền đề cơ bản cho việc thiết kế các bề mặt 3D phức tạp trong chế tạo máy hiện

đại. Nội dung bài báo và công cụ xây dựng đường cong Bezier có thể được dùng

làm tài liệu tham khảo trong các nghiên cứu và đào tạo về sự hình thành các

đường cong tự do, các bề mặt tự do trong các phần mềm CAD/CAM, cho phép

khai thác hiệu quả các phần mềm này trong thiết kế và gia công cơ khí.

pdf5 trang | Chuyên mục: Kỹ Thuật Gia Công Cơ Khí | Chia sẻ: yen2110 | Lượt xem: 316 | Lượt tải: 0download
Tóm tắt nội dung Nghiên cứu xây dựng thuật toán và phần mềm vẽ đường cong Bezier, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
t kế thường cấu thành từ rất 
nhiều đường, mặt. Trong quá trình thiết kế phải lựa chọn 
các mặt tham chiếu, đồng thời các đường cong có giới hạn 
hiển thị một đoạn chứ không phải toàn bộ. Hơn nữa việc 
thiết kế sử dụng chuột lại càng không thuận lợi khi áp dụng 
phương trình này vào giao diện nhập dữ liệu trong các 
phần mềm CAD/CAM. 
Như vậy thay vì việc xác định các điểm dữ liệu để vẽ 
đường cong bậc 3 (không thân thiện khi sử dụng trong 
thiết kế) các nghiên cứu mô hình hóa đường cong tự do đã 
chuyển hướng sang biểu diễn chúng trên cơ sở các điểm 
điều khiển. Phương pháp biểu diễn này thuận lợi cho việc 
áp dụng vào các phần mềm CAD/CAM. Chúng ta sẽ làm rõ 
hơn điều này ở phần (0) và (0) dưới đây. 
2.2. Mô hình toán học đường cong Ferguson 
Ferguson [4] đề xuất xây dựng đoạn cong ở phương 
trình (1) trong đoạn [0, 1] trên cơ sở 2 điểm mút tại hai đầu 
đoạn cong (P0, P1) và 2 tiếp tuyến (t0, t1) ở 2 điểm mút ấy. Cụ 
thể như sau: 
( ); ( ); ( ); ( )0 1 0 1P r 0 P r 1 t r 0 t r 1     (2) 
Ở đây dữ liệu đầu vào là các thông số [P0, P1, t0, t1]. Các 
thông số này được gọi là thông số điều khiển để xây dựng 
đoạn cong trên [0, 1] theo phương pháp Ferguson. 
Phương trình (2) là phương trình mô tả đoạn cong 
Ferguson trên đoạn [0, 1], mô hình đoạn đường cong 
Ferguson được mô tả trên hình 3. 
Hình 3. Mô hình đoạn cong Ferguson 
Trên thực tế việc xác định giá trị tại các điểm mút của đa 
thức rất đơn giản, việc xác định giá trị tiếp tuyến tại các 
mút trong nhiều trường hợp không phải là đơn giản. Do 
vậy trong một số trường hợp sẽ gây khó khăn khi thực hiện 
xây dựng mô hình. Sau đây là phương pháp Bezier để xây 
dựng đoạn cong tổng quát sẽ khắc phục được điểm này. 
2.3. Mô hình toán học đường cong Bezier 
Có nhiều phương án xây dựng đoạn cong Bezier. Trong 
bài báo này giới thiệu phương pháp xây dựng đoạn cong 
Bezier trên cơ sở đoạn cong Ferguson [4]. 
 CÔNG NGHỆ 
 Tạp chí KHOA HỌC & CÔNG NGHỆ ● Số 44.2018 52
KHOA HỌC
Phương trình (3) là phương trình đường cong Bezier 
tổng quát. Với đường cong Bezier có ưu điểm là được mô tả 
bằng đa giác với các điểm điều khiển là V0, V1, V2, V3. Với 
cách thức này sẽ rất thuận lợi cho việc thiết kế các đường 
cong phức tạp trong CAD/CAM bằng cách sử dụng chuột 
lựa chọn các điểm điều khiển. 
Phương trình (1) có thể viết dưới dạng khác như sau mà 
không làm mất tính tổng quát [2]: 
( ) ( ) . ( ) . ( ). .3 2 2 30 1 2 3r u 1 u V 3u 1 u V 3u 1 u V u V       (3) 
Tổng quát ta có: 
,( ) ( ).i n ir u B u V 
(4) 
Trong đó: 
,
!
( ) ( )
( )! !
i i
i n
nB u u 1 u
n i i
 
 
(5) 
Bi,n(u): Tính toán rất dễ dàng trong lập trình qua đó tìm 
ra các điểm điều khiển để xây dựng lên đường cong Bezier 
[2, 3]. 
Phương trình (4) là phương trình xây dựng đường cong 
Bezier thu gọn. 
Hình 4. Mô hình toán đường cong Bezier bậc 3 
Trên hình 4 mô tả đường cong Bezier bậc 3 hình thành 
bởi 4 điểm điều khiển V0 P0, V1, V2, V3 P1. 
2.4. Giải thuật DeCasteljau 
Giải thuật Castljau [1] để tính toán các điểm .rib Qua đó 
xác định được đường cong Bezier. 
Giải thuật này cho phép chúng ta tính toán các điểm 
liền kề. Trên hình 5 và 6 cho chúng ta thấy việc đường 
cong Bezier bậc 3 được hình thành thông qua các điểm 
tính toán Bi,n. 
Có thể tổng quát hóa lên đối với số điểm điều khiển là n 
(tương ứng với đường cong Bezier bậc n) như sơ đồ hình 7 
với điểm điều khiển tổng quát Pi; i = (0, n). 
Hình 5. Tính toán điểm của đường cong Bezier bậc 3 
Hình 6. Sơ đồ hình thành đường cong Bezier bậc 3 qua các điểm tính toán 
Hình 7. Sơ đồ tính toán điểm điều khiển của đường Bezier tổng quát 
Thuật toán xây dựng và hiệu chỉnh đường cong Bezier 
được trình bày trên hình 8. 
Hình 8. Sơ đồ thuật toán xây dựng công cụ thiết kế và hiệu chỉnh đường 
cong Bezier 
Có 
Không 
r(t) = 1r
ib
 
Khởi tạo 
điểm điều khiển 
tăng (giảm) điểm 
điều khiển 
r(t) = r
ib 
Làm trơn đường 
Bezier 
Hiển thị 
Kết thúc 
Bắt đầu 
SCIENCE TECHNOLOGY 
Số 44.2018 ● Tạp chí KHOA HỌC & CÔNG NGHỆ 53
2.4.1. Công cụ xây dựng đường Bezier 
Giao diện của chương trình thiết kế và hiệu chỉnh 
đường cong Bezier (hình 9). 
Hình 9. Giao diện và tính năng của công cụ thiết kế và hiệu chỉnh đường 
cong Bezier 
Công cụ có những chức năng như sau: 
Thanh công cụ: Gồm chức năng chung; 
Bậc của đường Bezier: Hiển thị bậc của đường bezier mà 
người dùng xây dựng; 
Hướng dẫn: Gồm 3 chức năng sau: 
- Chuột trái: Thêm điểm điều khiển; 
- Chuột giữa: Xóa điểm điều khiển; 
- Chuột giữa: Di chuyển điểm điều khiển (để thay đổi vị 
trí và hình dáng của đường Bezier). 
Vùng thao tác: Cho phép người dùng xây dựng đường 
bezier trong vùng này. 
Nút vẽ lại: Cho phép xóa đường cong cũ và vẽ đường 
cong Bezier mới. 
2.4.2. Kiểm nghiệm chương trình 
Xây dựng đường Bezier bậc : 
Đường Bezier bậc 1 tạo bởi 2 điểm điều khiển V0 và V1. 
Đây là một đường thẳng. Trên công cụ hiển thị đường 
thẳng có điểm đầu là V0 và điểm cuối V1 (hình 10). 
Hình 10. Xây dựng đường Bezier bậc 1 
Xây dựng đường Bezier bậc 2: 
Đường Bezier bậc 2 được tạo bởi 3 điểm điều khiển V0, 
V1 và V2. Đường Bezier bậc 2 là một đường cong trơn (hình 
11). 
Hình 11. Xây dựng đường cong bezier bậc 2 
Xây dựng đường Bezier bậc 3: 
Đường Bezier bậc 3 được tạo bởi 4 điểm điều khiển V0, 
V1, V2 và V3. Đường Bezier bậc 2 là một đường cong trơn 
(hình 12). 
Hình 12. Xây dựng đường Bezier bậc 3 
Xây dựng đường Bezier với bậc cao: 
Hình 13. Xây dựng đường cong Bezier bậc cao 
Thanh 
công cụ 
Bậc của 
đường 
Bezier 
Hướng 
dẫn 
Vùng thao 
tác Xóa đường cũ vẽ 
đường mới 
V1 
V2 
V0 
V1 
V0 
V1 
V3 
V2 
V0 
 CÔNG NGHỆ 
 Tạp chí KHOA HỌC & CÔNG NGHỆ ● Số 44.2018 54
KHOA HỌC
Thử nghiệm xây dựng đường Bezier bậc cao (hình 13). 
Chương trình cũng thực hiện được hoàn toàn như thuật 
toán đã đưa ra, kết quả là đường cong trơn đúng như lý 
thuyết về đường Bezier. 
Như vậy chương trình xây dựng đường cong Bezier các 
tác giả đã thực hiện cho phép xây dựng được đầy đủ các 
dạng đường Bezier với số bậc tùy ý. 
So sánh thiết kế đường cong Bezier với hệ thống 
CAD, CAD/CAM thương mại 
So sánh với Autocad Mechanical 2006: 
AutoCAD là một phần mềm nổi tiếng của hãng 
AutoDesk với quá trình phát triển lâu đời. Các phiên phản 
của AutoCAD luôn là phần mềm thiết kế thông dụng nhất 
cho kỹ sư Cơ khí, Xây dựng, Điện AutoCAD Mechanical là 
một bộ phần mềm chuyên dụng cho thiết kế cơ khí, mọi 
chức năng hoàn toàn như AutoCAD, ngoài ra còn có nhiều 
chức năng chuyên cho thiết kế cơ khí. Khi thiết kế đường 
cong Bezier bậc 3 trên AutoCAD Mechanical 2006 ta có kết 
quả như hình 14a. 
So sánh với Catia V5R19: 
Catia là một hệ thống CAD/CAM/CAE hoàn chỉnh của 
hãng Dasault Systemes. Hiện nay Catia đã có phiên bản 
P3V5 R22, ngoài ra còn có thêm các phiên bản theo năm, 
mới nhất là V6 2017. Catia hiện tại được nhiều công ty cơ 
khí nổi tiếng trên thế giới sử dụng phục vụ cho thiết kế và 
chế tạo các sản phẩm của mình. Trong ngành cơ khí Catia 
cũng được đánh giá rất cao được nhiều chuyên gia khuyên 
dùng. Khi thiết kế đường cong Bezier trong module Sketch 
của Catia V5R19 cho ta kết quả như hình 14b. 
a) b) 
c) 
Hình 14. Kết quả thiết kế đường Bezier bậc 3 bằng các phần mềm: 
a- AutoCAD Mechanical 2006, b-CATIA V5R19, c- Công cụ xây dựng đường cong 
Bezier 
Kết quả khi thiết kế đường Bezier trên công cụ do các 
tác giả xây dựng được thể hiện trên hình 14c. 
Như vậy trên AutoCAD Mechanical 2006, đường cong 
Bezier chỉ hiển thị là kết quả cuối cùng. Trên CATIA V5R19 
ngoài việc hiển thị kết quả đường cong cuối cùng thì còn 
hiển thị thêm vectơ thể hiện hướng của đường cong tại các 
điểm uốn. Kết quả hiện thị đường cong Bezier của các tác 
giả xây dựng thể hiện được đường cong, vị trí điểm điều 
khiển, qua vị trí các điểm điều khiển có thể thay đổi được 
dạng đường cong dựa vào việc hiệu chỉnh các điểm điều 
khiển một cách dễ dàng. 
3. KẾT LUẬN 
Các nghiên cứu lý thuyết thường chỉ đưa ra những biểu 
thức toán học biểu diễn các đường cong Bezier còn trong 
các phần mềm CAD/CAM việc ứng dụng các phần mềm này 
cho thiết kế các đường cong tự do lại không rõ ràng. Các hệ 
thống CAD/CAM thương mại thường coi các đường cong tự 
do được tạo dưới dạng module và không thể hiện mã 
nguồn. Việc hiệu chỉnh như thêm điểm hoặc giảm điều 
điều khiển để thay đổi hình dạng đường cong không trực 
quan đối với người sử dụng. 
Bằng việc ứng dụng thuật toán DeCasteljaus và Matlab 
trong nghiên cứu về đường cong Bezier các tác giả đã xây 
dựng thành công một công cụ hoàn chỉnh để thiết kế 
đường cong Bezier. Công cụ thiết kế và hiệu chỉnh đường 
cong Bezier này sẽ giúp các nhà nghiên cứu, người sử dụng 
hiểu một cách trực quan việc hình thành nên đường cong 
Bezier. Đây là tiền đề để hiểu rõ và làm chủ việc hình thành 
các mặt cong tự do được sử dụng trong các hệ thống 
CAD/CAM thương mại. 
Kết quả của nghiên cứu cũng là cơ sở để các tác giả tiếp 
tục nghiên cứu và xây dựng công cụ chuyển đổi giữa các 
mặt cơ bản sang dạng mặt NURBS làm cơ sở cho nghiên 
cứu nhận dạng các vùng bề mặt NURBS trong thiết kế các 
sản phẩm thực tế. 
TÀI LIỆU THAM KHẢO 
[1]. Bành Tiến Long, Bùi Ngọc Tuyên, 2013. Lỹ thuyết tạo hình bề mặt và ứng 
dụng trong kỹ thuật cơ khií. NXB GDVN, Hà Nội. 
[2]. Les Piegl, Wayne Tiller, 1998. The NURBS Book. Springer. 
[3]. Stephen P. Radzevich, 2008. Kinematic Geometry of Surface Machining. 
CRC Press Taylor & Francis Group. 
[4]. Byoung K. Choi, 1991. Surface Modeling for CAD/CAM. Elsevier 
Amsterdam-Oxford-New York-Tokyo 
[5]. Michael S. Floater. Bezier Curves and Surfaces. Department of 
Mathematics University of Oslo, Norway. 
[6]. He-Jin Gu, Jun-Hai Yong, Jean-Claude Paul, Fuhua (Frank) Cheng. 
Constructing G1 quadratic Bezier curves with arbitrary endpoint tangent vectors. 
 [7] . M. Randrianarivony, G. Brunnett, 2002. Approximation by NURBS 
curves with free knots. Erlegen, Germany, November 20-22. 

File đính kèm:

  • pdfnghien_cuu_xay_dung_thuat_toan_va_phan_mem_ve_duong_cong_bez.pdf