load_mesh
Data I/O 중심의 Octave 학습 예제
course/basic/load_mesh.m
함수 시그니처
function [vert, face] = load_mesh(filename) 전체 코드
전체 코드를 복사해서 Octave에서 바로 실행할 수 있습니다.
function [vert, face] = load_mesh(filename)
# read mesh
# intput:
# filename
# output:
# vertex x, y, z
# face v1, v2, v3
fid = fopen(filename, 'r');
vert = [];
face = [];
while ~feof(fid)
line = strtrim(fgetl(fid));
if isempty(line) || startsWith(line, '#')
continue;
end
tokens = strsplit(line);
if strcmp(tokens{1}, 'v')
vert(end+1, :) = str2double(tokens(2:4));
elseif strcmp(tokens{1}, 'f')
face(end+1, :) = str2double(tokens(2:4));
end
end
fclose(fid);
end 코드 해설
목적
Data I/O 중심의 Octave 학습 예제
입력
- 파라미터: filename
출력
- 반환값: vert
- 반환값: face
실행 흐름
- 데이터 준비
핵심 함수/주제
str2doublestrcmptokensfacefclosefeoffgetlfopen
실습 과제
- 핵심 함수 str2double의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.
학습 팁
같은 카테고리의 다른 코드
- colored
course/basic/colored.m - demo-00
course/basic/demo-00.m - demo-01
course/basic/demo-01.m - demo-02
course/basic/demo-02.m - demo-03a
course/basic/demo-03a.m - demo-03b
course/basic/demo-03b.m - demo-04
course/basic/demo-04.m - demo-05
course/basic/demo-05.m - demo-06
course/basic/demo-06.m - demo-07
course/basic/demo-07.m