非均匀有理B样条的目录

\u4ec0\u4e48\u53eb \u975e\u5747\u5300\u6709\u7406b-\u6837\u6761

nurbs \u975e\u5747\u5300\u6709\u7406b-\u6837\u6761:
non-uniform rational b-splines(nurbs),\u8fd9\u662f\u4e00\u79cd\u6307\u5b9a\u53c2\u6570\u66f2\u7ebf\u548c\u66f2\u9762\u7684\u516c\u5171\u65b9\u6cd5.
\u662f\u4e00\u79cd\u4ea4\u4e92\u5f0f3d\u6a21\u578b\u66f2\u7ebf&\u8868\u9762\u6280\u672f.\u73b0\u5728nurbs\u5df2\u7ecf\u662f3d\u9020\u578b\u4e1a\u7684\u6807\u51c6\u4e86.

\u8fd9\u4e2a\u884c\u5417\uff1fspline\u7684\u6e90\u4ee3\u7801\u3002

function output = spline(x,y,xx)
%SPLINE Cubic spline data interpolation.
% YY = SPLINE(X,Y,XX) uses cubic spline interpolation to find YY, the values
% of the underlying function Y at the points in the vector XX. The vector X
% specifies the points at which the data Y is given. If Y is a matrix, then
% the data is taken to be vector-valued and interpolation is performed for
% each column of Y and YY will be length(XX)-by-size(Y,2).
%
% PP = SPLINE(X,Y) returns the piecewise polynomial form of the cubic spline
% interpolant for later use with PPVAL and the spline utility UNMKPP.
%
% Ordinarily, the not-a-knot end conditions are used. However, if Y contains
% two more values than X has entries, then the first and last value in Y are
% used as the endslopes for the cubic spline. Namely:
% f(X) = Y(:,2:end-1), df(min(X)) = Y(:,1), df(max(X)) = Y(:,end)
%
% Example:
% This generates a sine curve, then samples the spline over a finer mesh:
% x = 0:10; y = sin(x);
% xx = 0:.25:10;
% yy = spline(x,y,xx);
% plot(x,y,'o',xx,yy)
%
% Example:
% This illustrates the use of clamped or complete spline interpolation where
% end slopes are prescribed. Zero slopes at the ends of an interpolant to the
% values of a certain distribution are enforced:
% x = -4:4; y = [0 .15 1.12 2.36 2.36 1.46 .49 .06 0];
% cs = spline(x,[0 y 0]);
% xx = linspace(-4,4,101);
% plot(x,y,'o',xx,ppval(cs,xx),'-');
%
% See also INTERP1, PPVAL, SPLINES (The Spline Toolbox).

% Carl de Boor 7-2-86
% Copyright 1984-2002 The MathWorks, Inc.
% $Revision: 5.18 $ $Date: 2002/06/06 13:39:51 $

% Generate the cubic spline interpolant in ppform, depending on the
% number of data points (and usually using the not-a-knot end condition).

output=[];
n=length(x);
if n<2, error('There should be at least two data points.'), end

if any(diff(x)<0), [x,ind]=sort(x); else, ind=1:n; end

x=x(:); dx = diff(x);
if all(dx)==0, error('The data abscissae should be distinct.'), end

[yd,yn] = size(y); % if Y happens to be a column matrix, change it to
% the expected row matrix.
if yn==1, yn=yd; y=reshape(y,1,yn); yd=1; end

if yn==n
notaknot = 1;
elseif yn==n+2
notaknot = 0; endslopes = y(:,[1 n+2]).'; y(:,[1 n+2])=[];
else
error('Abscissa and ordinate vector should be of the same length.')
end

yi=y(:,ind).'; dd = ones(1,yd);
dx = diff(x); divdif = diff(yi)./dx(:,dd);
if n==2
if notaknot, % the interpolant is a straight line
pp=mkpp(x.',[divdif.' yi(1,:).'],yd);
else % the interpolant is the cubic Hermite polynomial
divdif2 = diff([endslopes(1,:);divdif;endslopes(2,:)])./dx([1 1],dd);
pp = mkpp(x,...
[(diff(divdif2)./dx(1,dd)).' ([2 -1]*divdif2).' ...
endslopes(1,:).' yi(1,:).'],yd);
end
elseif n==3¬aknot, % the interpolant is a parabola
yi(2:3,:)=divdif;
yi(3,:)=diff(divdif)/(x(3)-x(1));
yi(2,:)=yi(2,:)-yi(3,:)*dx(1);
pp = mkpp([x(1),x(3)],yi([3 2 1],:).',yd);
else % set up the sparse, tridiagonal, linear system for the slopes at X .
b=zeros(n,yd);
b(2:n-1,:)=3*(dx(2:n-1,dd).*divdif(1:n-2,:)+dx(1:n-2,dd).*divdif(2:n-1,:));
if notaknot
x31=x(3)-x(1);xn=x(n)-x(n-2);
b(1,:)=((dx(1)+2*x31)*dx(2)*divdif(1,:)+dx(1)^2*divdif(2,:))/x31;
b(n,:)=...
(dx(n-1)^2*divdif(n-2,:)+(2*xn+dx(n-1))*dx(n-2)*divdif(n-1,:))/xn;
else
x31 = 0; xn = 0; b([1 n],:) = dx([2 n-2],dd).*endslopes;
end
c = spdiags([ [dx(2:n-1);xn;0] ...
[dx(2);2*[dx(2:n-1)+dx(1:n-2)];dx(n-2)] ...
[0;x31;dx(1:n-2)] ],[-1 0 1],n,n);

% sparse linear equation solution for the slopes
mmdflag = spparms('autommd');
spparms('autommd',0);
s=c\b;
spparms('autommd',mmdflag);
% convert to pp form
c4=(s(1:n-1,:)+s(2:n,:)-2*divdif(1:n-1,:))./dx(:,dd);
c3=(divdif(1:n-1,:)-s(1:n-1,:))./dx(:,dd) - c4;
pp=mkpp(x.', ...
reshape([(c4./dx(:,dd)).' c3.' s(1:n-1,:).' yi(1:n-1,:).'], ...
(n-1)*yd,4),yd);
end
if nargin==2
output=pp;
else
output=ppval(pp,xx);
end

第1章 曲线曲面基础
1.1 隐式和参数表示
1.2 幂基曲线
1.3 bézier曲线
1.4 有理bézier曲线
1.5 张量积曲面
练习
第2章 b样条基函数
2.1 引言
2.2 b样条基函数的定义和性质
2.3 b样条基函数的导数
2.4 b样条基函数进一步的性质
2.5 b样条基函数的计算
练习
第3章 b样条曲线曲面
3.1 引言
3.2 b样条曲线的定义和性质
3.3 b样条曲线的导矢
3.4 b样条曲面的定义和性质
3.5 b样条曲面的偏导矢
.练习
第4章 有理b样条曲线曲面
4.1 引言
4.2 nurbs曲线的定义和性质
4.3 nurbs曲线的导矢
4.4 nurbs曲面的定义和性质
4.5 nurbs曲面的偏导矢
练习
第5章 基本几何算法
5.1 引言
5.2 节点插入
5.3 节点细化
5.4 节点去除
5.5 升阶
5.6 降阶
练习
第6章 高级几何算法
6.1 曲线曲面上点的反求和投影
6.2 曲面切矢的反求
6.3 曲线曲面的变换和投影
6.4 nurbs曲线曲面的重新参数化
6.5 曲线曲面的反向
6.6 b样条形式和分段幂基形式之间的转化
练习
第7章 圆锥截线和圆
7.1 引言
7.2 圆锥截线的各种表示形式
7.3 二次有理bézier曲线弧
7.4 无穷远控制点
7.5 圆的构造
7.6 圆锥截线的构造
7.7 圆锥截线的分类及不同形式之间的转换
7.8 圆弧的高次bézier表示形式
练习
第8章 一般曲面的构造
8.1 引言
8.2 双线性曲面
8.3 一般柱面
8.4 直纹面
8.5 旋转面
8.6 曲面的非均匀缩放
8.7 三边球面片
第9章 曲线曲面拟合
9.1 引言
9.2 全局插值
9.2.1 给定点数据的全局曲线插值
9.2.2 端点导矢指定的全局曲线插值
9.2.3 三次样条曲线插值
9.2.4 指定一阶导矢的全局曲线插值
9.2.5 全局曲面插值
9.3 局部插值
9.3.1 局部曲线插值预备知识
9.3.2 局部抛物线插值
9.3.3 局部有理二次曲线插值
9.3.4 局部三次曲线插值
9.3.5 局部双三次曲面插值
9.4 全局逼近
9.4.1 最小二乘曲线逼近
9.4.2 带权的约束最小二乘曲线拟合
9.4.3 最小二乘曲面逼近
9.4.4 在规定精度内的逼近
9.5 局部逼近
9.5.1 局部有理二次曲线逼近
9.5.2 局部非有理三次曲线逼近
练习
第10章 高级曲面构造技术
10.1 引言
10.2 摆转曲面
10.3 蒙皮曲面
10.4 扫掠曲面
10.5 插值于双向曲线网格的曲面
10.6 coons曲面
第11章 形状修改工具
11.1 引言
11.2 移动控制点
11.3 修改权因子
11.3.1 修改曲线的一个权因子
11.3.2 修改曲线相邻的两个权因子
11.3.3 修改曲面的一个权因子
11.4 形状操作
11.4.1 局部变形
11.4.2 平整
11.4.3 弯曲
11.5 基于约束的曲线曲面形状修改
11.5.1 基于约束的曲线修改
11.5.2 基于约束的曲面修改
第12章 数据交换及其标准
12.1 引言
12.2 节点矢量
12.3 相关标准中的nurbs
12.3.1 iges
12.3.2 step
12.3.3 phigs
12.4 与nurbs系统的数据交换
第13章 b样条程序设计
13.1 引言
13.2 数据类型和可移植性
13.3 数据结构
13.4 内存分配
13.5 出错处理
13.6 实用函数
13.7 算术函数
13.8 编程实例
13.9 附加结构
13.10 系统结构
索引
参考文献



  • 闈炲潎鍖鏈夌悊B鏍锋潯鐩綍
    绛旓細闈炲潎鍖鏈夌悊B鏍锋潯鐩綍 1. 鏇茬嚎鏇查潰鍩虹鐭ヨ瘑 1.1 闅愬紡鍜屽弬鏁拌〃绀 1.2 骞傚熀鏇茬嚎涓庤礉濉炲皵鏇茬嚎 1.3 鏈夌悊璐濆灏旀洸绾跨殑浠嬬粛 1.4 寮犻噺绉洸闈㈢畝浠2. B鏍锋潯鍩哄嚱鏁 2.1 瀹氫箟涓庢ц川 2.2 瀵兼暟璁$畻涓庣壒鎬 2.5 鍩哄嚱鏁拌绠楄瑙3. B鏍锋潯鏇茬嚎鏇查潰 3.2 B鏍锋潯鏇茬嚎瀹氫箟涓庣壒鎬 3.3 瀵肩煝涓庢洸闈㈡ц川...
  • 闈炲潎鍖鏈夌悊B鏍锋潯鐨勭洰褰
    绛旓細绗1绔 鏇茬嚎鏇查潰鍩虹1.1 闅愬紡鍜屽弬鏁拌〃绀1.2 骞傚熀鏇茬嚎1.3 b茅zier鏇茬嚎1.4 鏈夌悊b茅zier鏇茬嚎1.5 寮犻噺绉洸闈㈢粌涔犵2绔 b鏍锋潯鍩哄嚱鏁2.1 寮曡█2.2 b鏍锋潯鍩哄嚱鏁扮殑瀹氫箟鍜屾ц川2.3 b鏍锋潯鍩哄嚱鏁扮殑瀵兼暟2.4 b鏍锋潯鍩哄嚱鏁拌繘涓姝ョ殑鎬ц川2.5 b鏍锋潯鍩哄嚱鏁扮殑璁$畻缁冧範绗3绔 b鏍锋潯鏇茬嚎鏇查潰3.1 寮曡█3.2 b鏍...
  • 鑷敱鏇茬嚎鏇查潰閫犲瀷鎶鏈鐩綍
    绛旓細鑷敱鏇茬嚎鏇查潰閫犲瀷鎶鏈鐩綍鍖呭惈浜嗗涓珷鑺傦紝璇︾粏鎺㈣浜嗗井鍒嗗嚑浣曞熀纭銆佹彃鍊兼牱鏉″嚱鏁般佸弬鏁版牱鏉℃洸绾垮拰鏇查潰銆丅茅zier鏇茬嚎涓庢洸闈B鏍锋潯鐨瀹氫箟鍜屾ц川锛屼互鍙闈炲潎鍖鏈夌悊B鏍锋潯(NURBS)鏇茬嚎鍜屾洸闈㈢瓑鏍稿績鍐呭銆傜涓绔犱粠鏇茬嚎璁洪澶囩煡璇嗗紑濮嬶紝璁茶В浜嗘洸绾跨殑鍙傛暟鏂圭▼銆佺煝鍑芥暟鍜屾洸鐜囪绠椼傜浜岀珷浠嬬粛浜嗘彃鍊间笁娆℃牱鏉″嚱鏁帮紝娑夊強鍏...
  • 闈炲潎鍖鏈夌悊B鏍锋潯鍐呭绠浠
    绛旓細銆闈炲潎鍖鏈夌悊B鏍锋潯(绗2鐗)銆嬫槸涓閮ㄥ湪CAD/CAM棰嗗煙澶囧彈鎺ㄥ磭鐨勭粡鍏歌憲浣滐紝鐢盤iegl鍜孴iller涓や綅浣滆呭惧姏鎵撻犮備粬浠暱鏈熶笓娉ㄤ簬闈炲潎鍖鏈夌悊B鏍锋潯(NURBS)鐨勬繁鍏ョ爺绌跺拰瀹為檯搴旂敤锛屽NURBS鏂规硶鐨勫彂灞曚骇鐢熶簡娣辫繙褰卞搷銆傝涔︿互鍏跺崜瓒婄殑缂栧啓锛屽叏闈㈣岃灏藉湴璁茶В浜哊URBS鐨勭悊璁哄熀纭銆佹牳蹇冩蹇靛拰宸ヤ綔鍘熺悊锛屼互鍙婄浉鍏崇殑绠楁硶璁捐锛...
  • 闈炲潎鍖鏈夌悊B鏍锋潯鍥句功淇℃伅
    绛旓細闈炲潎鍖鏈夌悊B鏍锋潯鍥句功鐨勭浉鍏充俊鎭涓嬶細璇ュ浘涔︾敱娓呭崕澶у鍑虹増绀鹃娆″嚭鐗堬紝鍙戣鏃ユ湡涓2010骞12鏈1鏃ワ紝鑻辨枃鍘熺増鍚嶇О涓"The Nurbs Book(Second Edition)"锛屼綔涓哄簲鐢ㄦ暟瀛﹁瘧涓涚殑涓閮ㄥ垎锛屼负璇昏呮彁渚涗簡娣卞叆鐨勫鏈唴瀹广備功绫嶉噰鐢ㄥ钩瑁呭舰寮忥紝鍏458椤碉紝閫傚悎鎼哄甫鍜岄槄璇汇傛鏂囪绉嶄负绠浣撲腑鏂囷紝閫傚悎骞垮ぇ涓枃璇昏呯悊瑙e拰瀛︿範銆
  • CAD涓鏍锋潯鏇茬嚎鈥濇庝箞鐢?
    绛旓細闈炲潎鍖鏈夌悊 B 鏍锋潯鏇茬嚎锛圢URBS锛夛紝鏄竴绉嶇敤閫斿箍娉涚殑鏍锋潯鏇茬嚎锛屽畠涓嶄粎鑳藉鐢ㄤ簬鎻忚堪鑷敱鏇茬嚎鍜屾洸闈紝鑰屼笖杩樻彁渚涗簡鍖呮嫭鑳界簿纭〃杈惧渾閿ユ洸绾挎洸闈㈠湪鍐呭悇绉嶅嚑浣曚綋鐨勭粺涓琛ㄨ揪寮忋傝嚜1983骞达紝SDRC鍏徃鎴愬姛鍦板皢NURBS妯″瀷搴旂敤鍦ㄥ畠鐨勫疄浣撻犲瀷杞欢涓紝NURBS宸茬粡鎴愪负璁$畻鏈鸿緟鍔╄璁″強璁$畻鏈鸿緟鍔╁埗閫犵殑鍑犱綍閫犲瀷鍩虹锛屽緱鍒颁簡骞挎硾...
  • 闈炲潎鍖鏈夌悊B鏍锋潯鐨浠嬬粛
    绛旓細銆闈炲潎鍖鏈夌悊B鏍锋潯(绗2鐗)銆嬫槸CAD/CAM棰嗗煙鏈涓烘潈濞佺殑缁忓吀钁椾綔銆備綔鑰匬iegl鍜孴iller闀挎湡浠庝簨闈炲潎鍖鏈夌悊B鏍锋潯锛圢URBS锛夌殑鐞嗚鐮旂┒鍜屽疄璺碉紝瀵筃URBS鏂规硶鐨勫簲鐢ㄥ拰鎺ㄥ箍浣滃嚭浜嗗巻鍙叉х殑璐$尞銆
  • 鑷敱鏇茬嚎鏇查潰閫犲瀷鎶鏈鐨勭洰褰
    绛旓細8.3 闈炲潎鍖鏈夌悊B鏍锋潯(NURBS)鏇茬嚎鐨勬洸闈8.3.1 UNRBS鏇茬嚎銆佹洸闈㈢殑瀹氫箟涓庢ц川8.3.2 UNRBS鏇茬嚎鏇查潰鐨勫熀鏈畻娉8.3.3 UNRBS鏇茬嚎鍜屾洸闈㈢殑搴旂敤鍙傝冩枃鐚涔濈珷 Coons绫绘贩鍚圔鏍锋潯(CNSBS)鏇查潰鍙婂叾鍚慛URBS鏇查潰鐨勮浆鍖9.1 鎻掑间簬鍥涙潯杈圭晫鏇茬嚎鍙奿(i=1,2,鈥,n)闃惰法鐣屽鐭㈢殑CNSBS鏇查潰9.2 CNSBS鏇查潰鍚慤NRBS鏇查潰鐨勮浆鍖9.3 ...
  • iges鏄粈涔堟枃浠,闇瑕
    绛旓細iges鏂囦欢鏄竴绉嶄笓闂ㄧ敤浜庝笁缁村嚑浣曟ā鍨嬪瓨鍌ㄧ殑鏍煎紡锛屽畠鍩轰簬闈炲潎鍖鏈夌悊B鏍锋潯锛圢URBS锛夋妧鏈傝繖绉嶆枃浠舵牸寮忔渶鍒濇槸涓烘満姊板伐绋嬪拰璁捐琛屼笟璁捐鐨勶紝鍥犱负瀹冭兘绮剧‘鍦拌〃绀哄鏉傜殑鏇查潰褰㈢姸銆侫utoCAD杞欢鏀寔iges鏂囦欢鐨勮鍙栵紝鍙互鐩存帴鎵撳紑澶勭悊锛岃繖瀵逛簬閭d簺闇瑕佸湪AutoCAD涓紪杈戝拰鏌ョ湅涓夌淮妯″瀷鐨勭敤鎴锋潵璇存槸涓涓究鍒╃殑閫夋嫨銆傜劧鑰岋紝...
  • 绌嗗浗鏃哄弬涓庣殑銆闈炲潎鍖鏈夌悊B鏍锋潯銆嬭瘧钁楁槸鐢卞摢涓や綅浣滆呭師钁?
    绛旓細绌嗗浗鏃哄厛鐢熷湪瀛︽湳棰嗗煙鍋氬嚭浜嗘樉钁楃殑璐$尞锛屽叾涓竴閮ㄩ噸瑕佺殑璇戣憲鏄疞es Piegl鍜學ayne Tiller鐨勫師钁椾綔鍝併闈炲潎鍖鏈夌悊B鏍锋潯銆嬶紝璇ヤ功鐢辫档缃°佺﹩鍥芥椇鍜岀帇鎷夋煴鍏卞悓缈昏瘧锛屼簬2010骞寸敱娓呭崕澶у鍑虹増绀惧嚭鐗堛備粬浠殑杈涘嫟宸ヤ綔浣垮緱杩欓儴鎶鏈ц憲浣滃緱浠ュ湪涓浗璇昏呴潰鍓嶅憟鐜帮紝瀵硅绠楁満鍥惧舰瀛﹀拰璁捐棰嗗煙浜х敓浜嗘繁杩滃奖鍝嶃傛澶栵紝绌嗗浗鏃鸿繕...
  • 扩展阅读:正常形态率2必须做试管吗 ... 非均质集合体玉值钱吗 ... 尿检突然有病理管型了 ... 非均质集合体是a货吗 ... 为何翡翠a货才值几百元 ... 尿常规最怕三种指标 ... 翡翠鉴定非均质集合体 ... 乳腺不均匀致密型c类 ... a货翡翠鉴别最直接方法 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网