VRML surface conic projection
显示 更早的评论
How can i do a conic projection of a surface in VRML format ?
6 个评论
andre padilla
2020-4-7
andre padilla
2020-4-7
darova
2020-4-7
Is this correct?

Do you know how the cone is situated?
andre padilla
2020-4-7
回答(3 个)
darova
2020-4-8
0 个投票
andre padilla
2020-4-11
0 个投票
3 个评论
darova
2020-4-11
Where do you see a sphere?

andre padilla
2020-4-11
darova
2020-4-11
Can you attach the data?
andre padilla
2020-4-11
0 个投票
3 个评论
darova
2020-4-11
Please don't post new answer. Use existing one
darova
2020-4-11
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
2020-4-12
类别
在 帮助中心 和 File Exchange 中查找有关 Coordinate Reference Systems 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

