I have 3 points that forms a plane and a sphere with radius 6378.137 that is earth. I want the intersection of plane and sphere.
below is my code , it is not showing sphere and plane intersection
clc;
clear all;
pos1 = [1721.983459 6743.093409 -99.586968 ];
pos2 = [1631.384326 6813.006958 37.698529];
pos3 = [1776.584150 6686.909340 60.228160];
normal = cross(pos1-pos2, pos1-pos3)
syms x y z
p = [x y z];
planefun = dot(normal,p-pos1);
zplane = solve(planefun,z)
figure
ezmesh(zplane)
hold on
[x, y, z] = sphere;
r = 6378.137;
x = x*r;
y = y*r;
z = z*r;
surf(x,y,z)

답변 (1개)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2021년 5월 18일

0 개 추천

A couple of points require some changes, e.g.:
...
figure
fmesh(zplane)
hold on
[x, y, z] = sphere(50); % A bit more meshing
r = 6378.137*1000; % Scaling problem
x = x*r;
y = y*r;
z = z*r;
surf(x,y,z)

댓글 수: 1

kalpana bandi
kalpana bandi 2021년 5월 18일
I am using 2015a version, I am getting error for fmesh

댓글을 달려면 로그인하십시오.

카테고리

제품

릴리스

R2011a

태그

질문:

2021년 5월 18일

댓글:

2021년 5월 18일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by