How to create a line around the earth map and then getting the location of a specific point on it?

10 vues (au cours des 30 derniers jours)
How to create a line on the earth map starting from any given point. That line should complete the rotation at any given angle through the origin point of the earth, and then shows the location of any point on that line.
For example, let's see the image attached. The red point is our starting user-defined point. We have three lines (orange with angle alpha, green with angle beta, and pink with angle gamma). How to find the location of the center or middle point of each line?
Thank you so much
  2 commentaires
darova
darova le 3 Mai 2020
Did you plot the lines? How do you define them? Can you show?
Sitra
Sitra le 4 Mai 2020
No, I didn't
If I did, then it will be easy to answer my question

Connectez-vous pour commenter.

Réponse acceptée

darova
darova le 4 Mai 2020
Here is a start:
  • draw sphere, draw circle. Pick the point you want
  • Now you need axis of rotation to rotate your circle - use cross
  • figure out the angle of rotation
p = p/norm(p); % 'p' is your point (vector of size 1x3)
v = cross(p,[0 0 1])); % axis of rotation
h = plot(...); % your circle
rotate(h,v,a,[0 0 0]) % 'a' is angle at which circle should be rotated (degrees)
  • use copyobj to copy rotated circle and rotate it again by 'point' axis
h1 = copyobj(h);
rotate(h1,p,30,[0 0 0]);
set(h1,'color','r') % change color
see more: rotate, cross
  2 commentaires
Sitra
Sitra le 5 Mai 2020
Great code .. Thank you so much for sharing it here
The problem is: earth is not an ideal sphere, which means that the middle point of each line will not intersect with others!
There are some special commands to deal with "world map", but I struggling to draw lines like equator around earth
darova
darova le 5 Mai 2020
Maybe surfaceIntersection will help. Just create Earth and get intersection of it with some plane

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by