Polygon là một dạng bề mặt hình học, nó bao gồm nhiều bề mặt đa giác phẳng, có thể tạo ra đối tƣợng từ một bề mặt đa giác hoặc một mạng các bề mặt đa giác. Ta có thể sử dụng bề mặt đa giác để mô hình bất kỳ hình dáng bề mặt nào và đặc biệt hữu ích đối với những dạng đơn giản, với đối tƣợng thuộc lớp động vật, ngƣời, đối tƣợng đòi hỏi một cái nhìn tổng quan với độ trơn cao.
Hay nói cách khác: Polygon là một khối gồm có n mặt và đƣợc tạo thành từ các đỉnh (vertices) và các đƣờng thẳng giữa các đỉnh gọi là các cạnh (edges).
Hình 2.4. Điểm, cạnh, mặt
Mỗi lƣới polygon bao gồm những thành phần có thể thay đổi để tạo thành và chỉnh sửa bề mặt. Có các dạng thành phần chính
Vertex: 1 vertex là một điểm trong không gian 3D, 3 hay nhiều vertex nối
với nhau tạo thành một mặt. 1 vertex có thể đƣợc di chuyển.
Edges: Những cạnh nối 2 điểm bằng cách vẽ một đoạn thẳng giữa chúng.
Một cạnh đơn giản có thể di chuyển, thay đổi tỉ lệ hay xoay
Face: Một mặt đƣợc tạo thành từ 3 cạnh hay hơn. Một mặt có 3 cạnh là tam
giác, 4 cạnh là tứ giác và nhiều hơn là đa giác n cạnh. Mặt cũng có thể di chuyển, xoay hay thay đổi tỉ lệ.
Với việc modeling với Polygon, ta vẽ trực tiếp điểm để tạo thành bề mặt. Lƣới polygon đƣợc tạo thành từ đa giác có 3 cạnh (triangle), hoặc 4 cạnh (quad), hay nhiều cạnh. Lƣới polygon này có thể đƣợc tạo thành từ nhiều cách: qua vật thể polygon nguyên thủy, công cụ EditPoly hay dùng phƣơng pháp NURB- >Poly
Khi dựng polygon, nên sử dụng các tam giác hay tứ giác vì chúng dễ dàng để dựng và dung lƣợng tốn rất ít. Một polygon đơn giản nhất còn gọi là face, và nó giống nhƣ là một vùng phủ kín đƣợc tạo từ các đỉnh và các cạnh bao lấy nó.
Các đối tƣợng nguyên thuỷ của polygon bao gồm:
Hình 2.5. Các đối tƣợng nguyên thuỷ của polygon
Polygon sử dụng rất nhiều kỹ thuật hỗ trợ mô hình, thƣờng dùng là phân chia bề mặt (split ), mở rộng bề mặt (extrude), làm trơn cạnh…
Một vài kiểu làm trơn trên Polygon:
Smooth: Chỉnh sửa các hình bằng cách làm trơn các điểm và các
cạnh nối các điểm đó. Việc smooth bề mặt sẽ làm tăng số mặt nhƣng lại làm cho đối tƣợng thực và mềm hơn.
Smooth Proxy: Cũng giống nhƣ Smooth nhƣng vẫn giữ nguyên
hình dạng của Polygon gốc và làm trơn bằng cách thêm vào các Polygon. Phƣơng thức này sử dụng để dựng và hoạt hóa dễ dàng.
Average Vertices: Tính trung bình các giá trị của các điểm để tạo
ra một bề mặt đƣợc làm trơn mà không làm thay đổi hình dạng hình (smoother surface)
Hình 2.6. Các kiểu làm trơn cho Polygon
Qua ví dụ sau chúng ta có thể hình dung ra Polygon một cách sơ lƣợc nhƣ sau:
Hình 2.7.1. Minh họa tiến trình dựng một chiếc búa bằng mô hình Polygon Để tạo một cái búa, đầu tiên một khối hình hộp đƣợc tạo ra. Tiếp theo kỹ thuật split để chia bề mặt và dùng kỹ thuật extrude để mở rộng nhƣ hình vẽ.
Hình 2.7.2. Minh họa tiến trình dựng một chiếc búa bằng mô hình Polygon Sử dụng các thao tác chỉnh sửa, làm trơn cạnh để có đƣợc kết quả nhƣ trên.
Một số loại Polygon:
Mesh: Là tập hợp nhiều polygon có thể khác kiểu (tam giác, tứ giác, đa giác) kết nối với nhau.
Shell: Một tập các mặt chỉ kết nối với nhau tại một điểm duy nhất.
Lợi ích của mô hình đa giác
Polygons là kiểu hình học cũ nhất đƣợc sử dụng trong đồ họa máy tính 3 chiều, vì vậy nó là thân thiện với nhiều kiểu mô hình.
Polygons là kiểu hình học đơn giản, nên nó là dễ dàng cho việc thay đổi các files với các nền tảng khác nhau. Nó cần ít dữ liệu để mô tả những bề mặt đơn giản, ví dụ nhƣ một mặt phẳng, việc sử dụng 1 đa giác với 4 điểm tốt hơn là dùng 1 mặt phẳng Nurbs cần ít nhất 16 điểm điều khiển. Hình 2.8 minh hoạ điều đó:
Làm việc với Polygon cho phép có thể mở rộng hình từ một mặt, một cạnh hay thậm chí là một đỉnh.
Polygon cho phép có thể hợp nhất nhiều điểm, nhiều cạnh, nhiều mặt hoặc là tất cả các thứ đó vào với nhau.
Hình 2.8. Mặt phẳng Nurbs và Polygons
Hạn chế của Polygon:
Khi mỗi đa giác là một mặt, hình ảnh của một mô hình bề mặt đa giác luôn đƣợc đánh cạnh nhƣ là một giao tuyến giữa hai mặt phẳng. Cách duy nhất để tránh vấn đề này là có thể đảm bảo rằng mỗi mặt đa giác là nhỏ hơn so với một pixel trong hình ảnh cuối cùng đƣợc tạo ra. Điều này đòi hỏi số lƣợng điểm điều khiển rất lớn, nó phá vỡ mục đích của việc sử dụng mô hình đa giác. Việc thay đổi độ phân giải mô hình với những đƣờng biên là không khả thi. Việc giảm số điểm điều khiển có thể cho một kết quả tốt nhƣng việc tăng độ phân giải và chi tiết là không dễ làm nhƣ là với Nurbs.
Hình 2.9. So sánh số điểm điều khiển giữa mô hình polygon và Nurbs Hình 2.9 ở trên chỉ ra 3 hình cầu: Bên trái là một mô hình Nurbs có 56 điểm điều khiển. Ở giữa là một mô hình đa giác có 70 điểm điều khiển. Bên phải cũng là một mô hình đa giác và cần hơn 600 đỉnh để nhìn trơn nhƣ là mô hình Nurbs.
Trong dựng hình, có thể phải liên kết nhiều mesh lại với nhau (polymesh). Nhƣng có thể hành động này lại làm cho một trong các mesh ban đầu bị xoá đi. Điều đó đòi hỏi phải có sự sao chép các mesh dự phòng trƣớc khi thực hiện liên kết.
2.3.1.2. Mô hình dựa trên kết nối đƣờng cong (Nurbs) Đƣờng cong Nurbs
Nurbs là viết tắt của chữ Non-uniform Rational B-spline. Trong đó :
Non-Uniform là phần tham số hoá của đƣờng cong
Rational là phƣơng trình hữu tỉ của đƣờng cong. Tính chất này cho phép NURBS có thể thể hiện các đƣờng conic cũng nhƣ các đƣờng cong đa dạng khác một cách chính xác.
B-splines là các đƣờng cong đa thức có thể hiện theo tham số.
Nurbs là một khái niệm của đƣờng cong Spline. Khác với Polygon sử dụng những điểm điều khiển để biểu diễn bề mặt. Việc modeling với Nurbs sẽ tạo ra những điểm điều khiển (Control Vertex) và những đƣờng cong để điều khiển bề mặt.
Hình 2.10. Các thành phần chính của một đƣờng cong Nurbs Những thành phần này quyết định đến việc hiển thị của Nurbs
- Curve direction: Đƣờng cong Nurbs chỉ cần một tham số xác định dọc
theo chiều dài đƣờng cong, đó là tham số U.
- Control vertex (CV): Điểm điều khiển (Số CV trên một đoạn sẽ bằng bậc của đƣờng cong tại đoạn đó cộng với 1. Ví dụ nhƣ một đƣờng cong bậc 3 thì cần đến 4 CV trên nó.)
- Hull: Đƣờng nối giữa hai điểm đã cho
- Edit point (EP): một điểm mà nằm trên đƣờng cong mà là điểm nối của
các đa thức biểu diễn đƣờng cong (cho biết có bao nhiêu đoạn tạo ra đƣờng cong đó.
- Span: Khoảng cách giữa hai điểm Edit point Bề mặt Nurbs
Bề mặt Nurbs đƣợc định nghĩa giống nhƣ đƣờng cong. Tuy nhiên cần thêm một tham số nữa để xác định theo bề rộng của surface, đó là tham số V, tạo thành UV.
Hình 2.11. Bề mặt Nurbs
- CV: Những điểm điều khiển không nằm trên bề mặt Nurbs
- Hull: Những đƣờng thẳng kết nối CV lại với nhau. Khi ta chọn một
đƣờng Hull tức là ta chọn các điểm CV có liên quan. Hull giúp ta chọn CV dễ dàng hơn đối với bề mặt phức tạp
- Isoparm: Là những đƣờng thẳng đại diện cho lƣới trên bề mặt theo U và
V. Đƣờng Isoparm có thể trùng hoặc không trùng với Hull
- Spans: còn đƣợc gọi là segment, là khoảng cách giữa hai Isoparm tại edit
point
- Gốc của bề mặt, 2 đƣờng Isoparm gốc, đại diện cho mặt phẳng UV.
Vậy Nurbs là phƣơng pháp biểu diễn bề mặt dựa trên cơ sở biểu diễn toán học của những đƣờng cong không đồng nhất (hệ số, bậc). Một bề mặt Nurbs bao gồm một số đƣờng cong đƣợc kết nối lại với nhau.
Điều đặc biệt của Nurbs chính là sử dụng các phƣơng trình tham số để biểu diễn đƣờng cong và các phƣơng trình này phù hợp cho biểu diễn trong 3D.
Sử dụng các mô hình kiểu Nurbs khi muốn dựng các bề mặt có độ trơn nhẵn cao. Ví dụ: hình cầu.
Các đƣờng cong và các surface Nurbs có rất nhiều các ứng dụng và đƣợc ƣa dùng trong thiết kế công nghiệp và tự động. Đây là những nơi các hình dạng trơn tru với lƣợng dữ liệu tối thiểu là yêu cầu đặt ra. Các đƣờng cong Nurbs phát huy hiệu quả trong việc tạo ra đƣờng chuyển động liên tục của một đối tƣợng đƣợc hoạt hoá.
Các đƣờng cong bậc càng cao thì càng phức tạp và càng đòi hỏi nhiều khối lƣợng tính toán. Vì thế để biểu diễn các đƣờng này thì ngƣời ta đã nghĩ ra cách phân đoạn. Có nghĩa là đƣờng cong phức tạp đƣợc phân ra thành từng đoạn. Mỗi đoạn lại là một đƣờng cong nhƣng có bậc nhỏ hơn
Tuy nhiên không phải lúc nào các đƣờng cong bậc cao cũng phải giảm bớt bậc của nó đi. Những đƣờng cong bậc tầm 5 đến 7 có lợi là cho đƣờng cong có vẻ trơn tru hơn và có độ căng. Chúng thƣờng đƣợc sử dụng trong thiết kế tự động.
Một đƣờng cong bậc n sẽ có n+1 đỉnh điều khiển, ở đây thƣờng n=3. Thông qua việc điều khiển các đỉnh điều khiển để điều khiển hình dạng đƣờng cong cũng nhƣ bề mặt đối tƣợng. Bên cạnh đó Nurbs hỗ trợ rất nhiều kỹ thuật chỉnh sửa nhƣ: kết nối các bề mặt, khép kín bề mặt, kéo, đẩy một vùng bề mặt… cũng nhƣ các kỹ thuật tạo mặt phẳng từ các đƣờng cong nhƣ loft, revolve…
- Loft: Loft là kĩ thuật hay đƣợc sử dụng vì khả năng của loft khá linh
hoạt. Loft đƣợc tạo ra từ ít nhất hai đƣờng cong trên bề mặt. Loft cũng làm việc với nhiều đƣờng cong. Các đƣờng cong này đƣợc gọi là profile curve đƣợc hiểu là các đƣờng xƣơng sống để tạo ra bề mặt.
- Revolve: Revolve tạo bề mặt từ một đƣờng cong gốc bằng cách xoay đƣờng cong này theo một trục. Ta có thể dễ dàng thay đổi hình dạng mới bằng cách thay đổi hình dạng của của đƣờng gốc.
Ví dụ tạo một cái cốc từ một đƣờng cong với kỹ thuật revolve:
Hình 2.12. Minh họa tiến trình dựng một chiếc cốc đơn giản bằng Nurbs Các kỹ thuật tạo bề mặt từ đƣờng cong này không có trong 3 DSMax, nó cho bề mặt mịn và nhẹ.
Hình 2.13. Các đối tƣợng nguyên thủy của Nubrs
Các đối tƣợng nguyên thuỷ này chủ yếu là bề mặt, ta không phải dùng các đƣờng cong để tạo ra chúng, mà chỉ cần chọn trên thanh menu. Từ các đối tƣợng nguyên thuỷ này ta có thể thay đổi, chỉnh sửa để tạo ra các bề mặt phức tạp hơn theo yêu cầu.
Chính vì vậy Nurbs phù hợp với các kiểu đối tƣợng nhân tạo, các đối tƣợng có thể phác hoạ bởi một số đƣờng cong nhất định, các đối tƣợng chấp nhận sự lắp ghép nhƣ là các nhân vật của phim hoạt hình.
Nurbs phù hợp với việc mô hình mang tính công nghiệp. Khi đó một số đối tƣợng sẽ đƣợc quét vào bằng máy quét 3 chiều, hoặc đƣợc chụp hình với các góc độ khác nhau và sau đó các đƣờng cong sẽ đƣợc tạo ra, phác hoạ các đƣòng nét cơ bản của bề mặt đối tƣợng, sử dụng các kỹ thuật tạo bề mặt nhƣ loft, revolve… để tạo nên bề mặt mong muốn.
Khi dựng hình, thƣờng dựng những phần đơn giản bằng Polygon còn những phần có nhiều đƣờng cong, đòi hỏi độ nhẵn mịn cao thì thƣờng ngƣời ta sử dụng NURBS
2.3.1.3. Chia nhỏ bề mặt (Subdivision Surface)
Là kiểu bề mặt xử lý những tính năng của cả Polygon và Nurbs. Sử dụng phƣơng pháp này có thể tạo ra các bề mặt có tính tự nhiên rất cao. Bởi vì nó cho phép phân chia bề mặt nhƣ Polygon và biểu diễn bằng các đƣờng cong nhƣ Nurbs. Tuy nhiên thực hiện phƣơng pháp này là khó khăn, vì ta phải chia tách bề mặt gián tiếp thông qua một hình hộp bao quanh đối tƣợng.
Dựng hình với subdivision surface là một cách dễ dàng để tạo ra các đối tƣợng phức tạp ví dụ nhƣ là bàn tay con ngƣời. Nó liên kết các chức năng tốt nhất của NURBS và Polygon. Subdivision surface cho phép sử dụng một surface để dựng lên cả một khối hình phức tạp. Một subdivision có thể có các mức chi tiết khác nhau ở các khu vực khác nhau. Có nghĩa là một khu vực mà có hình thù phức tạp có thể có nhiều điểm điều khiển hơn để có đƣợc một mức độ tinh
xảo hơn trong khi một số vùng khác đơn giản hơn thì chỉ cần ít các điểm điều khiển.
Cái tên subdivision là lấy từ “dividing into regions of greater detail” có nghĩa là phân chia thành các miền nhỏ hơn với nhiều chi tiết hơn. Bắt đầu với một mesh cơ sở và phân chia thành các miền càng chi tiết càng tốt để làm việc với từng miền đó.
Hình 2.14. Minh họa một quá trình tạo một bàn tay bằng subdivision surface
Lợi ích của subdivision:
Subdivision cho phép điều khiển ở mức cao hơn so với hình tạo bởi Polygon.
Với subdivision, có thể tạo ra một đối tƣợng trơn tru chỉ từ một hình cơ sở ban đầu và không phải gắn nhiều surface lại với nhau nhƣ là đã làm với NURBS.
Nó cho phép chỉ phải sử dụng các dạng hình học phức tạp ở những vùng đòi hỏi phải có sự phức tạp.
Cho phép tồn tại các nếp gấp (các cạnh nhọn) và các hình dạng bất kì không chỉ các hình 4 mặt.
Tính liên tục của subdivision còn hạn chế đƣợc một số các vấn đề hay xảy ra khi hoạt hoá với NURBS.
Có thể liên kết các bề mặt subdivision với phần khung xƣơng (skeleton) ở mức thô và các hiệu ứng có thể giúp chuyển tiếp lên mức tốt hơn.
Hạn chế của Subdivision:
Các subivision surface đƣợc căn chỉnh không cân xứng có thể cho kết quả không giống với mong đợi.
Khi chuyển từ một NURBS surface sang một Subdivision surface có thể tạo ra các normal không chính xác tại các đầu mút.
Độ phức tạp và dung lƣợng dữ liệu có thể sẽ phình to và khó kiểm soát. 2.3.2. Hai hƣớng tạo mô hình
Khi tiếp cận một đối tƣợng, để đi đến việc tạo mô hình cho đối tƣợng ta cần phân tích đặc điểm, yêu cầu của mô hình và cách làm tƣơng ứng. Đây là bƣớc cần thiết và quan trọng, không phải đối tƣợng nào cũng có đặc điểm, yêu cầu giống nhau. Song có thể đi theo hai hƣớng tạo mô hình đó là: liên tục và rời rạc.
Lý do để làm nhƣ vậy là vì
Dựa theo chuyển động: đối tƣợng cần mô hình có các phần chuyển động “độc lập” hoặc cần điều khiển riêng, hay không chuyển động một cách tƣơng đối ví dụ nhƣ tai ngƣời so với đầu thì không bao giờ chuyển động. Trong khi đó có những phần đòi hỏi sự gắn kết cao và liên tục vì trong quá trình chuyển động của một phần sẽ gây ảnh hƣởng biến dạng rất nhạy cảm với vùng xung quanh. Ví dụ chuyển động của chân sẽ gây tác động làm biến dạng vùng hông.
Dựa vào đòi hỏi chi tiết của một đối tƣợng, đối tƣợng cần mô hình có những phần cần đi đến chi tiết nhỏ, khi đó việc tạo một khối liên tục là không thể làm đƣợc. Ví dụ cần mô hình hàm răng chẳng hạn.
Do hạn chế của công cụ không thể giải quyết đƣợc những khó khăn nêu trên, việc đi xâu vào chi tiết trên một tổng thể vừa khó khăn vừa làm tăng kích