MATLAB Answers

Alec Day
0

Barycentric Coordinates of a spherical triangle

Alec Day
さんによって質問されました 2018 年 7 月 10 日
最新アクティビティ Anton Semechko さんによって 編集されました 2018 年 7 月 10 日
Hello,
If I have a triangle constructed in 2D with the vertices (x1,y1) (x2,y2) (x3,y3) it is straight forward to find the barycentric coordinate of any point P within the triangle using tsearchn or equivalent and then translate this coordinate to any other 2D triangle using barycentricToCartesian.m
However what I would like to do is to relate any point P inside a 2D triangle to a 3D vector n for a point in a spherical triangle mapped onto a unit sphere. I think a method would be to obtain the barycentric coordinates of any point in a spherical triangle to relate the two triangles, but i'm not sure if this exists.

  0 件のコメント

サインイン to comment.

1 件の回答

Answer by Anton Semechko on 10 Jul 2018
Edited by Anton Semechko on 10 Jul 2018

This can be done in four steps:
1) Compute linear transformation (T) that maps triangle A to its counterpart B on the sphere.
2) Use T to map point of interest Pa in A to B to get Pb=T(Pa)
3) Project Pb onto the sphere to get pb=Pb/norm(Pb)
4) Solve for spherical barycentric coordinates (u,v,w) of pb relative to B. Do to this suppose Q=[q1 q2 q3] is a 3-by-3 matrix containing coordinates of the vertices of B along columns, then p2(:)=Q*[u;v;w]. Note that unlike planar barycentric coordinates which always sum to unity, sum of the spherical barycentric coordinates can exceed one.

  0 件のコメント

サインイン to comment.



Translated by