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 Coordinate Reference Systems 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!

