⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 blinnblob.m

📁 MATLAB源文件
💻 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 + -