Hiển thị kết quả từ 1 đến 2 / 2
  1. #1
    Tham gia
    23-07-2006
    Bài viết
    3
    Like
    0
    Thanked 0 Times in 0 Posts

    Overlay vật thể 3D lên màn hình

    Xin chào các anh trên diễn đàn.
    Tui là một kẻ ngoại đạo, hiện nay đang có một dự án về Overlay một vật thể chuyển động lên màn hình. Rất mong các anh góp ý về giải pháp này. Các bước dự định sẽ tiến hành như sau:
    1-Dựng ảnh 3D của vật thể.
    2-Mô phỏng vật thể 3D chuyển động(xoay, tiến, lùi...). Thể hiện thuật toán này trên PC = Visual Basic.
    3-Nhúng thuật toán này lên một con DSP chuyên dụng nào đó.

    Nghĩa là sản phẩm cuối cùng là:
    Video---Hộp đen----Màn hình Tivi.
    Hộp đen sẽ là một mạch điện tử+ một con xử lý tín hiệu số chuyên dụng.

    Vấn đề 3 tui có thể làm tốt vì đúng nghanh.

    Xin mọi người góp ý về bước 1 và 2.
    Cảm ơn nhiều.
    Quote Quote

  2. #2
    Tham gia
    29-03-2005
    Bài viết
    616
    Like
    0
    Thanked 2 Times in 1 Post
    Đây là một vấn đề lớn, không nói chi tiết hết được, tui cũng chỉ mô tả được tổng quan còn cụ thể thế nào tốt nhất nên đọc sách, trong quá trình nghiên cứu có vấn đề chi tiết nào thắc mắc thì post lên cùng trao đổi.

    Vì thấy có ý ba là sử dụng DSP chuyên dụng nên cũng không biết là DSP nào, nếu có thể nối với máy tính được thì chắc đỡ mệt, còn nếu không xài bộ xử lý riêng biệt chắc không xài được các thư viện 3D sẵn có như OpenGL hoặc DirectX mà phải xài các thuật toán cơ bản do tự tay bạn viết.
    Những phát biểu sau chỉ dành cho trường hợp các thuật toán phải tự viết cho xử dụng các bộ xử lý riêng biệt, còn nếu sử dụng PC thì có thể xài luôn OpenGL hoặc DirectX và quên phéng những phát biểu dưới đây:
    1. Trước tiên cần có tập các điểm chính của vật thể trong không gian 3 chiều gọi là các vertex (ví dụ hình hộp chữ nhật có 8 vertex là 8 đỉnh, hình cầu khó hơn sẽ có các vertex là một số điểm vừa đủ nằm trên bề mặt hình cầu).
    Có một số vertex sẽ được nối với nhau bằng các đường thẳng, một số đường thẳng và vertex hợp với nhau tạo thành mặt phẳng (nếu là hình hộp chữ nhật thì sẽ là 8 mặt phăng), nhiều đường thẳng và nhiều vertex sẽ cho vật thể dạng grid.
    Đến đây là có hình dựng của vật thể.

    2. Để vật thể có thể xoay, tiến, lùi, phóng to, thu nhỏ người ta sử dụng một ma trận 4 x 4, ma trận này khi nhân với các vertex của vật thể sẽ thu được các vertex mới, mỗi vertex mới tương ứng với một vertex cũ của vật thể và tập các vertex mới này là hình ảnh của vật thể đó sau khi xoay, tiến, lùi.

    3. Để thể hiện lên màn hình: một phép chiếu được sử dụng để chuyển các toạ độ ba chiều của vertex thành toạ độ 2 chiều của màn hình, phép toán này cũng sử dụng phép nhân với một ma trận 4x4, kết quả cuối cùng là một vertex 3 chiều được chuyển thành vertex 2 chiều tương ứng với toạ độ trên màn hình hiển thị.
    Xem các đường thẳng nối vertex nào thì tương ứng vẽ đường thẳng nói vertex tương ứng trên màn hình 2 chiều. Đến đây ta đã dựng và hiển thị được vật thể hình lưới.

    Con nếu bác muốn tô màu:
    Đơn giản nhất là tô màu hình hộp chữ nhật với 8 mặt tám màu khác nhau thì chỉ đơng giản là tô màu các vùng do các vertex 2 chiều và các đường thẳng nối với chúng tạo nên.
    Còn nếu muốn tô màu đánh bóng hoặc lợp các texture như vân gỗ, ... thì còn nhiều vấn đề phải bàn ở đây nữa.

Bookmarks

Quy định

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