📄 blinnblob.m
字号:
function v=blinnblob(centers,nx,ny,nz)% Blinn's blobs%% Make something vaguely benzene like as follows:%% centers=[20+8*cos(theta);20+8*sin(theta);20+zeros(1,6)]'% v=blob(centers,40,40,40)% isosurface(v,.125)% Written by Mike Garrity% Copyright 2000, 2001, 2002, 2003, 2004, 2005 The MathWorks Inc%% From ACM Transactions on Graphics, July 1982, Volume 1, Number 3.% "A Generalization of A;gebraic Surface Drawing" James F. Blinn x=makeXMat(nx,ny,nz); y=makeYMat(nx,ny,nz); z=makeZMat(nx,ny,nz); a=.05; b=1; numCenters=size(centers,1); v=zeros(nx,ny,nz); for i=1:numCenters dx=centers(i,1)-x; dy=centers(i,2)-y; dz=centers(i,3)-z; v=v+b*exp(-a*(dx.^2 + dy.^2 + dz.^2)); end function x=makeXMat(nx,ny,nz) x=repmat([1:ny],[nx 1 nz]); function y=makeYMat(nx,ny,nz) y=repmat([1:nx]',[1 ny nz]); function z=makeZMat(nx,ny,nz) z=repmat([1:nz],nx*ny,1); z=reshape(z,[nx ny nz]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -