Определение сферы Matlab как текстовый файл

Я написал файл Matlab для создания 3D-сферы:

obstacle.origin_x=1.6;
obstacle.origin_y=0.8;
obstacle.origin_z=0.2;
obstacle.radius_obs=0.2;
save('obstacle.mat', 'obstacle');

Я нашел код, который подходит для моей проблемы, но определение препятствия в формате.txt

как я могу определить его как формат.txt?

Например, в коде, который я нашел, прямоугольная призма определяется как:

-0.5000         0    0.5000
0.1500         0    0.5000
0.1500         0   -0.5000
-0.5000         0   -0.5000

0.3500         0    0.5000
0.5000         0    0.5000
0.5000         0   -0.5000
0.3500         0   -0.5000

0.1500         0    0.5000
0.3500         0    0.5000
0.3500         0    0.3500
0.1500         0    0.3500

0.1500         0    0.1500
0.3500         0    0.1500
0.3500         0   -0.5000
0.1500         0   -0.5000

1 ответ

Трудно понять твой вопрос... вот что я интерпретирую

Вы хотите определить растровые точки сферы (= "препятствие") в txt-файле, вместо того, чтобы определять только параметры сферы внутри структуры?

Если это так, сначала вы должны самостоятельно рассчитать все растровые точки сферы, а затем распечатать их в текстовом файле, например, используя fprintf.

Я написал короткую функцию, которая рисует сферу:

function drawsphere()

bound_horz = 360*pi/180;    % horizontal angle boundaries
bound_vert = 90*pi/180;     % vertical angle boundaries
stepsize = 30;              % discretization step size
r = 400;                    % radius of sphere

% define angle raster points
[theta,phi] = meshgrid(linspace(-bound_horz,bound_horz,stepsize),linspace(-bound_vert,bound_vert,stepsize));
% convert them to Cartesian coordinates
x = r.*cos(theta).*cos(phi);
y = r.*sin(theta).*cos(phi);
z = r.*sin(phi);

C1 = zeros(size(x));
C2 = zeros(size(x));
C3 = ones(size(x));
col = cat(3,C1,C2,C3);

% draw the sphere
fig333=figure(333);clf
cameratoolbar(fig333,'Show')
cameratoolbar(fig333,'SetMode','orbit')
axis vis3d
surf(x,y,z,col);

В конце добавьте fprintf-звонки, чтобы записать x/y/z в текстовый файл.

Другие вопросы по тегам