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!

