Hello and happy new year to all 
I’m working on my problem, and stuck at one point. First, i would like to check my manifold calculations with using orekit’s built-in Vector3D and TopocentricPoint classes. For this, i tried to reduced the problem to “planar geometry”, i.e. planar triangle.
Where satellite at A point, observer1 sits B and observer2 sits C.
a: linear distance between B and C (of course not geodetic)
b: satellite range to observer2
c: satellite range to observer1
Hereafter i’ll use numbers for to explain myself more clearly.
(numbers obtained from stellarium)
from org.orekit.frames import FramesFactory, TopocentricFrame
from org.orekit.bodies import OneAxisEllipsoid, GeodeticPoint
from org.orekit.time import AbsoluteDate
itrf = FramesFactory.getITRF(IERSConventions.IERS_2010, True)
body = OneAxisEllipsoid(Constants.WGS84_EARTH_EQUATORIAL_RADIUS, Constants.WGS84_EARTH_FLATTENING, itrf)
lat1, lon1, alt1 = float(np.radians(39.919869)), float(np.radians(32.854272)), float(874)
topo1 = TopocentricFrame(body, GeodeticPoint(lat1, lon1, alt1), “observer1”)
lat2, lon2, alt2 = float(np.radians(36.908119)), float(np.radians(30.695561)), float(61)
topo2 = TopocentricFrame(body, GeodeticPoint(lat2, lon2, alt2), “observer2”)
date1 = AbsoluteDate(2023, 1, 3, 7, 0, 0.0, TimeScalesFactory.getUTC())
pos1 = topo1.getPVCoordinates(date1, topo2).position # topo1 pv coordinates at observation moment from topo2
pos2 = topo2.getPVCoordinates(date1, topo1).position # same but for topo2
a = np.sqrt((pos1.x2) + (pos1.y2) + (pos1.z**2)) # this is linear distance between B and C
observed vectors, vector_fromTo
angles are topocentric right ascension and declination values at observer#1 or #2
v_BA = Vector3D(282.8514167np.pi/180, -5.927083np.pi/180)
v_CA = Vector3D(283.2695416667np.pi/180, -5.543694444np.pi/180)
v_BC = pos2.normalize()
v_CB = pos1.normalize()
A = Vector3D.angle(v_BA, v_CA) * 180 / np.pi # parallax angle
B = Vector3D.angle(v_BA, v_BC) * 180 / np.pi
C = Vector3D.angle(v_CA, v_CB) * 180 / np.pi
but i never obtain A+B+C equal to 180
some trials give greater values, some are lesser.
for this example, it’s 181.01929…
perhaps it’s reason very simple, but i cannot find…