NURBS là một khái niệm trong kĩ thuật đồ họa máy tính, viết tắt của cụm từ tiếng anh:Non-uniform rational B-spline, Là một mô hình toán học để biểu diễn lại đường cong và bề mặt.
Việc phát triển NURBS (viết tắt của tiếng Anh: Non Uniform Rational Basis Spline) được bắt đầu vào thập niên 1950 bởi những kĩ sư cần biểu diễn dạng thức chính xác trong toán học của các bề mặt tự do giống như vỏ của tầu thủy, Bề mặt bên ngoài của tầu không gian vũ trụ, và vỏ ôtô, những thứ mà có thể sản xuất lại một cách chính xác bất cứ khi nào bằng kĩ thuật. Trước khi có sự biểu diễn theo cách này thì loại bề mặt như vậy chỉ có thể tồn tại dưới một bề mặt của một mô hình thật tạo bởi một người thiết kế mỹ thuật công nghiệp.
Những người tiên phong cho cuộc phát triển này có Pierre Bézier, kỹ sư của Renault, và Paul de Casteljau làm việc cho Citroën, cả hai đều ở Pháp. Bézier đã làm việc gần như đồng thời với de Casteljau, Không ai biết về công việc của người kia. Nhưng bởi vì Bézier đã công bố thành quả của ông ta, Những người sử dụng công nghệ đồ họa máy tính ngày này công nhận đường Spline được biểu diễn với các điểm điều khiển giữ cữ cho đường cong là đường as Bézier splines, Trong khi tên tuổi của de Casteljau chỉ được biết và dùng cho thuật toán mà ông ấy phát triển để ước định bề mặt toán học điều khiển tham số. Vào những năm 1960 Đã mọi việc đã trở nên rõ ràng rằng non-uniform, rational B-splines là sự khái quát hóa của đường cong Bézier splines, Những đường được coi là uniform, non-rational B-splines.
Lúc đầu NURBS chỉ được sử dụng trong thuộc tính của gói phần mềm CAD của các công ty ôtô. Sau này chúng trở thành một phần của chuẩn gói chuẩn đồ họa máy tính.
Quá trình dựng ảnh tương tác thời gian thực của đường cong và bề mặt NURBS được tạo bởi máy trạm làm việc silicon vào năm 1989. Vào năm 1993 công cụ mô hình hóa tương tác NURBS cho máy tính cá nhân, gọi là NöRBS, đã được phát triển bởi CAS Berlin, một công ty nhỏ mới hình thành liên kết với trường đại học kĩ thuật Berlin. Ngày nay hầu hết các ứng dụng đồ họa máy tính chuyên nghiệp có sẵn cho máy tính để bàn đều sử dụng kỹ nghệ NURBS, Các ứng dụng này thông thường nhất được thực hiện bởi việc kết hợp một công cụ NURBS từ một công ty chuyên sâu.
| Bài này đang được dịch từ tiếng Anh. Nếu bạn có đủ khả năng xin góp sức dịch bài này. Nếu không tiếp tục được quan tâm, phần ngoại ngữ của bài sẽ bị xóa sau khoảng 1 tháng. Xin đừng quên chuyển các mục Chú thích, Tham khảo vào bài dịch để đáp ứng tiêu chuẩn. Xin tham khảo Hướng dẫn cách biên soạn bài để biết thêm chi tiết. |
NURBS are nearly ubiquitous for computer-aided design (CAD), manufacturing (CAM), and engineering (CAE) and are part of numerous industry wide used standards, such as IGES, STEP, ACIS, and PHIGS. NURBS tools are also found in various 3D modeling packages used in the animation industry, such as Maya and Rhino3D.
They allow representation of geometrical shapes in a compact form. They can be efficiently handled by computer programs and yet allow for easy human interaction. NURBS surfaces are functions of two parameters mapping to a surface in three-dimensional space. The shape of the surface is determined by control points.
In general, it can be said that editing NURBS curves and surfaces is highly intuitive and predictable. Control points are always either connected directly to the curve/surface, or act as if they were connected by a rubber band. Depending on the type of user interface, editing can be realized via an element’s control points, which are most obvious and common for Bézier curves, or via higher level tools such as spline modeling or hierarchical editing.
A surface under construction, e.g. the hull of a motor yacht, is usually composed of several NURBS surfaces known as patches. These patches should be fitted together in such a way that the boundaries are invisible. This is mathematically expressed by the concept of geometric continuity.
Higher-level tools exist which benefit from the ability of NURBS to create and establish geometric continuity of different levels:
Positional continuity (G0) holds whenever the end positions of two curves or surfaces are coincidental. The curves or surfaces may still meet at an angle, giving rise to a sharp corner or edge and causing broken highlights. Tangential continuity (G1) requires the end vectors of the curves or surfaces to be parallel, ruling out sharp edges. Because highlights falling on a tangentially continuous edge are always continuous and thus look natural, this level of continuity can often be sufficient. Curvature continuity (G2) further requires the end vectors to be of the same length and rate of length change. Highlights falling on a curvature-continuous edge do not display any change, causing the two surfaces to appear as one. This can be visually recognized as “perfectly smooth”. This level of continuity is very useful in the creation of models that require many bi-cubic patches comprising one continuous surface.
Geometric continuity mainly refers to the shape of the resulting surface; since NURBS surfaces are functions, it is also possible to discuss the derivatives of the surface with respect to the parameters. This is known as parametric continuity. Parametric continuity of a given degree implies geometric continuity of that degree.
First- and second-level parametric continuity (C0 and C1) are for practical purposes identical to positional and tangential (G0 and G1) continuity. Third-level parametric continuity (C2), however, differs from curvature continuity in that its parameterization is also continuous. In practice, C2 continuity is easier to achieve if uniform B-splines are used.
The definition of the continuity 'Cn' is given in 'Computer Graphics - Principles and Practice', section 11.2. It requires that the nth derivate of the curve/surface (\frac{d^n C(u)}{du^n} ) are equal at a joint. Note that the (partial) derivatives of curves and surfaces are vectors that have a direction and a magnitude. Both should be equal.
Highlights and reflections can reveal the perfect smoothing, which is otherwise practically impossible to achieve without NURBS surfaces that have at least G2 continuity. This same principle is used as one of the surface evaluation methods whereby a ray-traced or reflection-mapped image of a surface with white stripes reflecting on it will show even the smallest deviations on a surface or set of surfaces. This method is derived from car prototyping wherein surface quality is inspected by checking the quality of reflections of a neon-light ceiling on the car surface. This method is also known as "Zebra analysis".