Từ 1 tới 1 trên tổng số 1 kết quả

Đề tài: bằng cách nào dùng các phép biến đổi Affine đề chuyển Circle -> Ellipse.

  1. #1
    Ngày gia nhập
    10 2007
    Bài viết
    50

    Mặc định bằng cách nào dùng các phép biến đổi Affine đề chuyển Circle -> Ellipse.

    Mình đã đọc một bài viết trong diễn đàn về vấn đề này nhưng vẫn chưa hiểu rõ lắm, cụ thể nó như sau:
    Code:
    T1 = tịnh tiến C để thu được đường tròn C' ≡ C có tâm trùng với gốc tọa độ. Bây giờ ta xem C' như một ellipse có hai bán trục hướng theo phương Ox và Oy và có cùng độ dài (bằng độ dài bán kính của C).
    
    T2 = co giãn tọa độ x, để C' biến thành ellipse C'' có độ dài bán trục hướng theo phương Ox bằng độ dài một bán trục nào đó của E.Bây giờ C''' ≡ E, chỉ sai khác tư thế và vị trí.
    
    
    T3 = co giãn tọa độ y, để C'' biến thành ellipse C''' có độ dài bán trục hướng theo phương Oy bằng độ dài bán trục còn lại của E. Bây giờ C''' ≡ E, chỉ sai khác tư thế và vị trí.
    
    T4 = quay C''' quanh gốc tọa độ (cũng chính là tâm của nó) để bán trục dài (hay ngắn) của nó cùng phương với bán trục dài (hay ngắn) của E, được C'''' ≡ E, chỉ sai khác vị trí.
    
    T5 = tịnh tiến C'''' để tâm của nó biến thành tâm của E, được C''''' = E.
    .
    vấn đề,sau khi tịnh tiến về tâm, từ bước 2 đến bước 3 thì mình dùng phép biến dạng để biến nó thành hình ellipse mong muốn:
    Code:
    point->x = point->x + hesobiendang1*y;(biến dạng theo hoành độ)
    point->y = point->y + hesobiendang2*x;(biến dạng theo tung độ)
    nhưng quay cho nó nằm ngang thì tìm mãi vẫn không được góc θ là bao nhiêu.
    Code:
    point->x = point->x * cosθ - point->y * sinθ
    point->y = point->x * sinθ + point->y * cosθ
    vậy làm sao để tính góc θ này theo hệ số biến dạng
    Đã được chỉnh sửa lần cuối bởi chanphat01001 : 19-10-2008 lúc 01:37 AM.

Các đề tài tương tự

  1. Thuật toán C tô màu ellipse theo thuật toán dòng quét
    Gửi bởi san93st trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 0
    Bài viết cuối: 05-05-2013, 06:01 PM
  2. Graphic Làm sao move / resize / select một shape(rectangle, line, circle...) như trong paint?
    Gửi bởi markpq trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 02-03-2013, 08:09 AM
  3. Tại sao dùng const trong trường hợp dùng biến tham chiếu
    Gửi bởi dinhdoong trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 13
    Bài viết cuối: 04-02-2012, 10:45 PM
  4. Mã nguồn C | Thuật toán vẽ ellipse bằng C
    Gửi bởi nobita611 trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 22-05-2011, 09:30 AM
  5. Lập trình C Di chuyển theo đường tròn hoặc đường ellipse
    Gửi bởi phuthinhnt trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 20-04-2010, 10:32 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn