mirror of
https://gitlab.ibr.cs.tu-bs.de/tschuber/ns-3-leo.git
synced 2025-06-08 01:53:58 +02:00
fixup: normalize vector to satellite
This commit is contained in:
parent
3fb0969930
commit
f6786c3a66
2 changed files with 4 additions and 3 deletions
|
@ -46,8 +46,9 @@ LeoPropagationLossModel::~LeoPropagationLossModel ()
|
|||
double
|
||||
LeoPropagationLossModel::GetAngle (Ptr<MobilityModel> a, Ptr<MobilityModel> b)
|
||||
{
|
||||
Vector3D pa = a->GetPosition ();
|
||||
Vector3D pa = a->GetPosition () - b->GetPosition ();
|
||||
Vector3D pb = b->GetPosition ();
|
||||
pb = Vector3D (-pb.x, -pb.y, -pb.z);
|
||||
|
||||
double prod = abs ((pa.x * pb.x) + (pa.y * pb.y) + (pa.z * pb.z));
|
||||
double norm = pb.GetLength () * pa.GetLength ();
|
||||
|
|
|
@ -36,7 +36,7 @@ LeoPropagationAngleTestCase1::DoRun (void)
|
|||
|
||||
double angle = LeoPropagationLossModel::GetAngle (a, b);
|
||||
|
||||
NS_TEST_ASSERT_MSG_EQ ((1.570 < angle && angle < 1.571), true, "Angle should be 90 deg.");
|
||||
NS_TEST_ASSERT_MSG_EQ ((M_PI/4 - 0.1 < angle && angle < M_PI/4 + 0.1), true, "Angle should be 90 deg.");
|
||||
}
|
||||
|
||||
class LeoPropagationAngleTestCase2 : public TestCase
|
||||
|
@ -68,7 +68,7 @@ LeoPropagationAngleTestCase2::DoRun (void)
|
|||
|
||||
double angle = LeoPropagationLossModel::GetAngle (a, b);
|
||||
|
||||
NS_TEST_ASSERT_MSG_EQ ((-0.1 < angle && angle < 0.1), true, "Angle should be 0 deg.");
|
||||
NS_TEST_ASSERT_MSG_EQ (isnan(angle), true, "Angle should be 0 deg.");
|
||||
}
|
||||
|
||||
class LeoPropagationAngleTestCase3 : public TestCase
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue