intersection of plane and surface
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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)
0 Commenti
Risposte (1)
Star Strider
il 6 Giu 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)
syms x y z
p = [x y z];
planefun = dot(normal,p-pos1);
zplane = solve(planefun,z)
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])
.
0 Commenti
Vedere anche
Categorie
Scopri di più su Surface and Mesh Plots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!