VRML surface conic projection
Mostrar comentarios más antiguos
How can i do a conic projection of a surface in VRML format ?
6 comentarios
andre padilla
el 7 de Abr. de 2020
andre padilla
el 7 de Abr. de 2020
darova
el 7 de Abr. de 2020
Is this correct?

Do you know how the cone is situated?
andre padilla
el 7 de Abr. de 2020
Respuestas (3)
darova
el 8 de Abr. de 2020
0 votos
andre padilla
el 11 de Abr. de 2020
0 votos
3 comentarios
darova
el 11 de Abr. de 2020
Where do you see a sphere?

andre padilla
el 11 de Abr. de 2020
darova
el 11 de Abr. de 2020
Can you attach the data?
andre padilla
el 11 de Abr. de 2020
0 votos
3 comentarios
darova
el 11 de Abr. de 2020
Please don't post new answer. Use existing one
darova
el 11 de Abr. de 2020
I uploaded this program to read your file: LINK
Inside the program i changed this line (someone in comments to this script did the same)
keynames=char('Coordinate','point','coordIndex','color');
Then used this script to import to MATLAB and make a projection
[nel,w3d,infoline] = read_vrml1('myscene.wrl');
%%
cla
pts = w3d(1).pts;
fv.vertices = pts;
fv.faces = w3d(1).knx;
patch(fv,'facecolor','g')
a = 60;
[X,Y] = meshgrid(-20:20); % grid for cone
Z = 40-1/tand(a)*sqrt(X.^2+Y.^2); % Z coordinate of cone
surface(X,Y,Z,'facecolor','none','edgecolor','y')
[td,rd] = cart2pol(pts(:,1),pts(:,2)); % convert data to polar system
L0 = rd*sind(a) + (40-pts(:,3))*cosd(a);
r0 = L0 * sind(a); % new radius
zd = 40-L0 * cosd(a); % new Z coordinate
[xd,yd] = pol2cart(td,r0,pts(:,3)); % conert to cartesian
fv1.vertices = [xd yd zd];
fv1.faces = fv.faces;
patch(fv1,'facecolor','r')
light
axis vis3d equal
Unfortunately i didn't find a way to import colors

Honestly: looks like 
Is it you wanted? Or you wanted flat projection?
andre padilla
el 12 de Abr. de 2020
Categorías
Más información sobre Surface and Mesh Plots en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

