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

2 ビュー (過去 30 日間)
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 件のコメント
darova
darova 2020 年 5 月 3 日
Did you plot the lines? How do you define them? Can you show?
Sitra
Sitra 2020 年 5 月 4 日
No, I didn't
If I did, then it will be easy to answer my question

サインインしてコメントする。

採用された回答

darova
darova 2020 年 5 月 4 日
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 件のコメント
Sitra
Sitra 2020 年 5 月 5 日
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 2020 年 5 月 5 日
Maybe surfaceIntersection will help. Just create Earth and get intersection of it with some plane

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by