资源简介
基于matlab读取stl文件并去除文件中的冗余点建立拓扑结构,方便后续操作。
代码片段和文件信息
function [nnum node_xyz face_node face_normal ] = stl_read ( ...
filename node_num face_num)
fid=fopen(filename ‘r‘);
if fid == -1
error(‘文件打开错误!.‘)
end
format long
%定义变量
nnum=0;
fnum=0;
f=0; % 记录重合点的个数
l=0; % 标识重合点
m=0; %标识面点
p = node_num/3;
v=zeros ( 3 node_num);
face_node = zeros ( 3 face_num );
face_normal = zeros ( 3 face_num );
node= zeros ( 3 face_num);
%开始读整个文件,直到结束符为止
while feof(fid) == 0 % test for end of file if not then do stuff
tline = fgetl(fid); % reads a line of data from file.
fword = sscanf(tline ‘%s‘); % make the line a character string
%disp(sprintf(fword));
%保存向量
if strncmpi(fword ‘facetnormal‘11) == 1;
%L=L+1; disp(L);disp(sprintf(tline));
STLnormal = sscanf(tline ‘%*s %*s %12f %12f %12f‘);
%disp(STLnormal);
fnum = fnum + 1;
n(:fnum) = STLnormal;
end
%检查坐标
if strncmpi(fword ‘vertex‘6) == 1; % Checking if a “V“ertex line as “V“ is 1st char.
%disp(sprintf(tline));
STLxyz= sscanf(tline ‘%*s %f %f %f‘); % & if a V get the XYZ data of it.
%disp(STLxyz);
%disp(nnum);
if nnum == 0
nnum = nnum + 1;
v(:nnum)=STLxyz;
node(1fnum) =nnum ;
相关资源
- 圆拟合matlab程序,以及圆心 半径的确
- 基于matlab的BPSK调制解调
- FBMC 的 AWGN 信道仿真(matlab)
- LBP四种特征提取算法
- matlab开发-GMRESArnoldi
- matlab开发-MuellerStokesJonesCalculus
- MATLAB身份证号码识别系统GUI论文.zip
- 基于MATLAB的心电信号分析及滤波
- 计算图像每个像素邻域方差的matlab程
- matlab实现牛顿-拉夫逊法电力系统潮流
- 八数码问题的MATLAB实现启发式
- 异步电机降压启动matlab仿真
- 最全最新的matlab----findpeaks代码运用
- 基于matlab的灰度图像的多重分形谱
- 基于matlab的坐标变换程序,通过坐标
- 大师级matlab自动寻峰算法,超级实用
- 连续潮流MATLAB程序
- 无人驾驶车辆模型预测控制Matlab代码
- image normalization图像归一化matlab程序
- “群体智能算法”Matlab工具箱 Versio
- MATLAB版大富翁完整版
- 基于MATLAB的傅里叶级数可视化
- matlab电机仿真
- TOA定位两步加权最小二乘MATLAB算法程
- RBF神经网络建模与预测(1)
- 均匀球体重力异常正演模拟Matlab代码
- 基于双线性内插法的图像重采样matl
- 遥感影像融合_数字图像处理的matlab程
- 格子玻尔兹曼MATLAB运用(LBGK_D2Q9_poi
- SVM的matlab代码
评论
共有 条评论