Clear Filters
Clear Filters

intersection of plane and surface

5 views (last 30 days)
kalpana bandi
kalpana bandi on 6 Jun 2021
Answered: Star Strider on 6 Jun 2021
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)

Answers (1)

Star Strider
Star Strider on 6 Jun 2021
Use fsurf (or fmesh) and then use the view function to rotate it for best results —
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)
normal = 1×3
1.0e+04 * 1.8887 2.1975 0.1273
syms x y z
p = [x y z];
planefun = dot(normal,p-pos1);
zplane = solve(planefun,z)
zplane = 
figure
fsurf(zplane, 'r')
hold on
[x, y, z] = sphere;
r = 6378.137;
x = x*r;
y = y*r;
z = z*r;
surf(x,y,z)
view(60,30)
axis([-10000 10000 -10000 10000 -10000 10000])
.

Tags

Community Treasure Hunt

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

Start Hunting!