Thạc Sĩ B-Splines và ứng dụng trong thiết kế hình học

Thảo luận trong 'THẠC SĨ - TIẾN SĨ' bắt đầu bởi Phí Lan Dương, 5/1/16.

  1. Phí Lan Dương

    Phí Lan Dương New Member
    Thành viên vàng

    Bài viết:
    18,524
    Được thích:
    18
    Điểm thành tích:
    0
    Xu:
    0Xu
    Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

    3
    MỞ ĐẦU
    1. Lý do chọn đề tài
    Công nghệ thông tin ngày càng phát triển và đồ họa máy tính là một
    lĩnh vực công nghệ phát triển rất nhanh. Đồ họa đã được áp dụng rộng rãi
    trong nhiều lĩnh vực khác nhau từ khoa học, công nghệ, y tế, kỹ thuật đến giải
    trí .
    Đồ họa máy tính phát triển dựa trên các kết quả của hình học họa hình,
    hình học vi phân cùng với nhiều kết quả toán học khác đặc biệt bao gồm đại
    số và giải tích. Hiện nay, với sự phát triển của phần cứng máy tính, đồ họa
    cũng phát triển nhanh hơn, tuy vậy nền tảng của nó vẫn là cơ sở mô hình hóa
    hình học. Có nhiều bài toán đặt ra trong đồ họa máy tính. Một trong
    những bài toán cơ bản của nó là xử lý các đường cong và mặt cong.
    B-splines là một dạng đường cong và mặt cong trong mô hình hóa hình
    học đã được nhiều tác giả trên thế giới nghiên cứu.
    Đề tài này tìm hiểu về B-splines và xây dựng một ứng dụng trong bài
    toán thiết kế hình học. Đây là việc làm có ý nghĩa khoa học và thực tiễn.
    2. Đối tượng nghiên cứu
    Cơ sở mô hình hóa hình học, Phương pháp sinh đường cong và mặt
    cong nhờ các điểm điều khiển, B - splines, Ứng dụng B- splines trong đồ
    họa
    3. Phạm vi nghiên cứu
    Đề tài tập trung tìm hiểu lý thuyết về splines, B-splines và ứng dụng.
    4. Nhiệm vụ nghiên cứu
     Tìm hiểu các kiến thức cơ sở về hình học đường cong và mặt cong, các
    phép biến đổi tọa độ trong không gian 2D và 3D.
     Tìm hiểu lý thuyết về splines, B-splines sinh đường cong và mặt cong

    Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

    4
     Từ những kết quả lý thuyết B-splines xây dựng ứng dụng cho bài toán
    trong thiết kế hình học 2D và 3D.
     Cài đặt thuật toán và ứng dụng.
    5. Những nội dung nghiên cứu chính
     Tìm hiểu các kiến thức tổng quan về mô hình hóa hình học.
     Tìm hiểu lý thuyết đường cong B-splines và mặt cong B-splines.
     Tìm hiểu về các bài toán dựng hình.
     Ứng dụng B-splines vào các bài toán mô hình hóa hình học.
    6. Phương pháp nghiên cứu
    - Phương pháp chuyên gia: Tham khảo ý kiến của các thầy cô trong lĩnh
    vực đồ họa, đảm bảo toán học cho máy tính và hệ thống tính toán và các lĩnh
    vực có liên quan.
    - Thu thập, nghiên cứu tài liệu từ các giáo trình, bài báo, tạp chí, bài giảng.
    - Phương pháp thực nghiệm: Cài đặt ứng dụng bằng ngôn ngữ
    MATLAB.
    7. Ý nghĩa khoa học của đề tài

    Kết quả nghiên cứu của đề tài là đưa ra 1 ứng dụng cụ thể của B-splines
    trong bài toán mô hình hóa hình học. Bên cạnh đó, đề tài cũng đã tổng hợp
    được các kết quả nghiên cứu cơ bản của hình học vi phân và phép biến đổi
    hình học sử dụng trong mô hình hóa hình học, đặc biệt là các kết quả về B-
    splines.
    Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

    5
    CHƯƠNG 1. LÝ THUYẾT MÔ HÌNH HÓA HÌNH HỌC
    Chương này trình bày về các kết quả cơ bản của hình học vi phân và phép
    biến đổi hình học được sử dụng trong mô hình hóa hình học. Lý thuyết
    về đường cong, mặt cong và các phép biến đổi tọa độ trong không gian 2D,
    3D.
    1.1. Cơ sở của mô hình hóa hình học
    1. 1. 1. Các phép biến đổi hình học trong không gian 2D và 3D
    Tất cả các phép biến hình trong ĐHMT và mô hình hóa hình học đều
    dựa trên 3 hình thức biến đổi tọa độ cơ bản là dịch chuyển tịnh tiến, lấy tỷ
    lệ và quay [3].
    Xét điểm P'(x', y') là vị trí của điểm P(x, y) sau phép biến đổi tọa độ. Tọa
    độ (x', y') của điểm P' tương ứng với vector dịch chuyển t(t x , t y ) (Hình 1.1a),
    hệ số tỷ lệ s(s x , s y ) (Hình 1.1b); góc xoay θ ngược chiều quay kim đồng hồ
    (Hình 1.1c) được xác định như sau:

    x' = x + t x ; y' = y + t y (1.1)
    x' = s x x; y' = s y y (1.2)
    x' = xcosθ – ysinθ; y' = xsinθ + ycosθ (1.3)








    Hình 1.1: Phép biến đổi tọa độ 2D
    Phép biến đổi tọa độ 3D là mở rộng của phép biến đổi tọa độ 2D. Tọa độ
    P(x,y)
    P’(x’,y’
    )
    t y
    t x
    y
    x
    o
    P(x,y)
    P’(x’,y’
    )
    y
    x
    o
    P(x,y)
    P’(x’,y’)
    r
    y
    x
    o
    r
    α
    θ
    a b c
    Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

    6
    (x', y', z') của điểm P(x, y, z) sau phép biến đổi tọa độ 3D, tương ứng
    với vector dịch chuyển t(t x , t y , t z ); hệ số tỷ lệ s(s x , s y , s z ) được xác định như
    sau:
    x' = x + t x ; y' = y + t y ; z' = z + t z (1.4)
    x' = s x .x ; y' = s y .y; z = s z .z (1.5)

    Cũng giống như trường hợp biến đổi 2D, có thể biểu diễn phép dịch
    chuyển 3D (1.4) và phép lấy tỷ lệ (1.5) dưới dạng tích ma trận bởi vector tọa
    độ đồng nhất P h , P' h , ma trận biến đổi T và S.
    P' h = P h T (1.6)

    P' h = P h S (1.7)
    trong đó: P h = (x y z 1) ; P' h = (x' y' z 1).
    1 0 0 0
    0 1 0 0
    0 0 1 0
    1
    x y z
    T
    t t t
     
     
     

     
     
       
    ;
    0 0 0
    0 0 0
    0 0 0
    0 0 0 1
    x
    y
    z
    s
    s
    S
    s
     
     
      
     
     
     

    Đối với phép quay 3D, việc xác định phép quay quanh trục bất kỳ trong
    không gian là rất khó, do vậy phép quay quanh trục bất kỳ thường được qui
    về các phép quay cơ bản quanh các trục hệ tọa độ như trong Bảng 1.1:

    Phép quay cơ bản X' Y' Z '

    Quanh trục x x' = x y' = ycosθ - zsinθ z' = ysinθ + zcosθ
    Q u a n h t r ụ c y x' = zsinθ + xcosθ y' = y z' = zcosθ + xsinθ
    Quanh tr ụ c z x' = xcosθ + ysinθ y' = xsinθ + ycosθ z' = z

    Bảng 1.1: Phép quay 3D quanh các trục tọa độ
    Khi đó ma trận biến đổi đồng nhất R đối với phép quay 3D có giá trị như
    sau (đặt s = sinθ; c = cosθ;):
    Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

    7
    1 0 0 0
    0 0
    ( , )
    0 0
    0 0 0 1
    c s
    R x
    s c

     
     
      
      
     
     

    0 0
    0 1 0 0
    ( , )
    0 0
    0 0 0 1
    c s
    R y
    s c

      
     
      
     
     
     

    0 0
    0 0
    ( , )
    0 0 1 0
    0 0 0 1
    c s
    s c
    R z

     
     

      
     
     
     

    (1.8)
    Tổng quát, ta có thể biểu diễn phép biến đổi tọa độ 3D (chỉ gồm phép
    dịch chuyển t và phép quay cơ bản R) bởi ma trận biến đổi đồng nhất H như
    sau:
    (x' y' z' 1) = (x y z 1).H (1.9)
    Trong đó :
    11 12 13
    21 22 23 *
    31 32 33
    0 0
    0 0
    0 0
    1 1 x y z
    r r r
    r r r R
    H
    r r r
    t t t t
       
       
         
       
       
         

    với
    11 12 13
    * 21 22 23
    31 32 33
    r r r
    R r r r
    r r r
     
     

     
     
     

    hoặc ta có thể viết như sau:
    (x' y' z' ) = (x y z )R * + t (1.10)
    Có thể thấy rằng ma trận xoay R trong công thức (1.8) là ma trận trực
    giao, ta định nghĩa các vector hàng của R:
    1
    r
    
    = (r 11 r 12 r 13 )
    2
    r
    
    = (r 21 r 22 r 23 ) 3
    r
    
    = (r 31 r 32 r 33 ) (1.11)

    Thì thành phần của các vector này chính là các cosin chỉ hướng của
    vector đơn vị i, j, k trong hệ trục tọa độ Oxyz và thỏa điều kiện tích có hướng
    của 2 vector này sẽ là vector kia, cụ thể ta có:
    Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

    8
    1 2 3
    , r r r   
     
      
    2 3 1
    , r r r   
     
      
    3 1 2
    , r r r   
     
      
    (1.12)
    và ta còn có :
    1 2 3
    1 r r r   
      

    1.1.2. Phép biến đổi đồng nhất
    Biểu diễn điểm dưới dạng tọa độ đồng nhất cho phép đơn giản hóa và
    thống nhất hóa việc biểu diễn các phép biến đổi hình học như là phép nhân
    ma trận.
    Theo tọa độ đồng nhất, điểm trong không gian n chiều được ánh xạ vào
    không gian (n+1) chiều.
    Ví dụ 1.1: điểm P(x, y , z) trong hệ tọa độ Đề-các 3 chiều được biểu
    diễn dưới dạng tọa độ đồng nhất 4 chiều P'(x',y',z',h) theo mối quan hệ:

    x = x '/ h; y = y'/h; z = z'/h (1.13)

    trong đó h ≠0 là hệ số vô hướng.

    Mối quan hệ (1.13) dựa trên thực tế, nếu tọa độ Đề-các của điểm P được
    nhân với hệ số h, điểm P sẽ được di chuyển tới vị trí mới P'(x',y',z') theo phép
    lấy tỷ lệ với hệ số h.
    Tổng quát, ta có thể biểu diễn phép biến đổi 2D tuyến tính (1.1), (1.2),
    (1.3) dưới dạng ma trận bởi vector tọa độ đồng nhất (chuẩn tắc) P h , P' h và ma
    trận biến đổi đồng nhất M:
    P' h = P h M (1.14)

    trong đó: P h = (x y 1) ; P' h = (x' y' 1).
    Ma trận biến đổi tọa độ M tương ứng với phép dịch chuyển (T), phép lấy
    tỷ lệ (S) và phép quay (R) có giá trị như sau:
    Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

    9
    1 0 0
    0 1 0
    1
    x y
    T
    t t
     
     

     
     
     
    ;
    0 0
    0 0
    0 0 1
    x
    y
    s
    S s
     
     

     
     
     
    ;
    cos sin 0
    sin cos 0
    0 0 1
    R
     
     
     
     
     
     
     
     
    (1.15)
    1.1.3. Khung tọa độ
    Phần trên đây ta đã đề cập tới phép ánh xạ như sự thay đổi mô tả đối
    tượng hình học từ một hệ tọa độ sang hệ tọa độ thứ hai. Tiếp theo ta sẽ đề cập
    đến phép ánh xạ như sự thay đổi hệ tọa độ.
    Có thể mô tả phép biến đổi tọa độ (1.9) dưới hình thức hệ tọa độ
    chuyển động (Hình 1.2). Cho i h , j h và k h là các vector chỉ hướng đồng
    nhất của hệ tọa độ tham chiếu:
    i h = (l 0 0 1) ; j h = (0 1 0 1); k h = (0 0 1 1).
    Áp dụng phép biến đổi (1.9) với các vector đồng nhất ta có:
    i' h = i h H = (1 0 0 1)H = ( 1
    r
    
    1) (1.16a)
    j' h = j h H = (0 1 0 1)H = ( 2
    r
    
    1) (1.16b)
    k' h = k h H = (0 0 1 1)H = ( 3
    r
    
    1) (1.16c)
    Kết quả trên đây cho thấy rằng các vector 1 2 3
    , , r r r
      
    của ma trận biến đổi
    đồng nhất H trở thành vector trục của hệ tọa độ chuyển động (Hình 1.2) biến
    đổi theo (1.12). Gốc hệ tọa độ chuyển động được xác định tương tự:
    P' h = (0 0 0 1)H = (t x t y t z 1) = (t 1) (1.17)
    Vì lý do này, người ta gọi ma trận biến đổi đồng nhất H là khung tọa độ.
    Như vậy, phép biến đổi (1.9) chính là phép ánh xạ từ hệ tọa độ làm việc (hệ
    tọa độ địa phương hay hệ tọa độ chuyển động) sang hệ tọa độ hệ thống (hệ
    tọa độ cố định).



    Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

    10
    1
    r
     r
    2
    r
     H
    P

    r


    z
    3
    r
    
    t

    r ’ = rH
    k

    y

    i
    j


    x

    Hình 1.2 : Phép biến đổi tọa độ dưới hình thức hệ tọa độ chuyển động
    1.1.4. Phép ánh xạ
    Ở các phần trên ta đã xét các phép biến đổi tọa độ trong cùng một hệ tọa
    độ mà hoàn toàn không có sự thay đổi hệ tọa độ tham chiếu về vị trí cũng
    như phương chiếu. Trong phần này ta sẽ xét tới phép ánh xạ đối tượng hình
    học giữa 2 hệ tọa độ khác nhau.
    Phép ánh xạ đối tượng hình học từ một hệ tọa độ sang hệ tọa độ thứ hai
    được định nghĩa như sự thay đổi mô tả đối tượng hình học từ hệ tọa độ thứ
    nhất sang hệ tọa độ thứ hai. Do đó, không có sự thay đổi về vị trí và phương
    chiều của đối tượng hình học so với cả 2 hệ tọa độ.
    Phép ánh xạ tương đương với phép biến đổi hệ tọa độ thứ nhất sang hệ
    tọa độ thứ hai và được sử dụng rất phổ biến trong thiết kế đồ họa.
    Thông thường, người ta sử dụng định nghĩa hệ tọa độ làm việc
    (còn được gọi là hệ tọa độ địa phương hay hệ tọa độ đối tượng) gắn liền với
    đối tượng thiết kế để đơn giản hóa việc thiết lập và nhập dữ liệu hình học.
    Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

    11
    Phần mềm thiết kế sẽ ánh xạ (chuyển đổi) tọa độ được đo trong hệ tọa
    độ làm việc sang hệ tọa độ hệ thống trước khi lưu trữ trong hệ cơ sở dữ liệu
    hệ thống.
    Phép ánh xạ đóng vai trò quan trọng đối với cấu trúc lắp ghép, khi mỗi
    đối tượng (chi tiết hay bộ phận) được định nghĩa theo hệ tọa độ hệ thống
    riêng và chúng cần được kết nối và quản lý trong hệ tọa độ hệ thống chủ.
    Ví dụ 1.1: Ta có thể đặt bài toán ánh xạ điểm từ một hệ tọa độ sang
    hệ tọa độ thứ hai như sau: Cho trước tọa độ của điểm P xác định theo hệ tọa
    độ (X, Y, Z), ta sẽ xác định tọa độ của điểm P theo hệ tọa độ (X', Y', Z'), sao
    cho thỏa mãn điều kiện:
    P' = f(P, thông số ánh xạ) hay P' = P.H

    trong đó:

    P: Vector vị trí của điểm P theo hệ tọa độ (X, Y, Z).
    P': Vector vị trí của điểm P theo hệ tọa độ (X', Y', Z')
    H : Ma trận ánh xạ trong công thức (1.9) mô tả vị trí tương đối của
    hệ tọa độ (X, Y, Z) so với hệ tọa độ (X', Y', Z').
    1.2. Đường cong
    Trong các ứng dụng của ĐHMT, hầu như các thực thể là đường cong và
    mặt cong. Các thực thể này được dùng để mô tả các vật thể trong thế giới
    thực như nhà cửa, đồi núi, phương tiện đi lại hay để xây dựng các thực thể
    đang được thiết kế. Nếu chỉ sử dụng các phương trình đường cong sẽ
    không thể hiện được hình ảnh thực hay ý tưởng của người thiết kế, ngược lại
    nếu dùng tập hợp các điểm thì thường cần phải dùng nhiều dung lượng nhớ
    để lưu trữ cũng như tốc độ tính toán.
    Ta có quỹ đạo chuyển động của một chất điểm trong không gian có thể
    tạo thành đường thẳng hoặc đường cong. Về mặt trực quan, người ta định
    nghĩa đường cong như là quỹ đạo điểm thỏa mãn một số điều kiện nào đó.
    Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

    12
    Qua hai điểm có thể vẽ được một đường thẳng. Qua ba điểm có thể vẽ được
    một đường cong trong mặt phẳng. Qua bốn điểm có thể vẽ được một đường
    cong trong không gian. Nếu ta dùng các phương trình đường cong như
    Hypebol, Parabol, Elip . thì việc tính toán có thể phức tạp và không thể hiện
    được hình ảnh thực hay ý tưởng đa dạng của người thiết kế.
    Vấn đề đặt ra là chọn đường cong như thế nào để phù hợp với việc biểu
    diễn trong máy tính?
    Trong ĐHMT khi muốn xây dựng một đường cong tổng quát khi chưa
    biết phương trình toán học của nó người ta sử dụng một tập hợp các điểm cho
    trước gọi là tập các điểm điều khiển (control points). Giả sử ta dùng n+1
    điểm điều khiển P 0 , P 1 , P 2 , ., P n , khi đó một đường cong C được tạo ra theo
    một trong hai cách sau:
     Nội suy các điểm điều khiển: Đường cong C được bắt đầu tại
    điểm P 0 và đi qua các điểm điều khiển trung gian theo thứ tự P 0 , P 1 ,
    P 2 , ., P n . C kết thúc tại P n .
     Xấp xỉ các điểm điều khiển: C không nhất thiết phải đi qua các
    điểm điều khiển nhưng hình dạng của nó được quyết định bởi các
    điểm điều khiển.
    Đường cong là các đối tượng cơ bản thường là kết quả của tiến trình thiết
    kế và các điểm điều khiển đóng vai trò là công cụ để kiểm soát và mô hình
    hoá đường cong. Cách tiếp cận này là cơ sở của lĩnh vực thiết kế mô hình hình
    học nhờ máy tính (Computer Aided Geometric Design, viết tắt là CAGD).
    Về mặt toán học, đường cong được biểu diễn dưới các dạng:

     Phương trình ẩn:

    f(x, y, z) = 0

     Phương trình tường minh:
     
Đang tải...