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
|
double
|
||||||
LeoPropagationLossModel::GetAngle (Ptr<MobilityModel> a, Ptr<MobilityModel> b)
|
LeoPropagationLossModel::GetAngle (Ptr<MobilityModel> a, Ptr<MobilityModel> b)
|
||||||
{
|
{
|
||||||
Vector3D pa = a->GetPosition ();
|
Vector3D pa = a->GetPosition () - b->GetPosition ();
|
||||||
Vector3D pb = 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 prod = abs ((pa.x * pb.x) + (pa.y * pb.y) + (pa.z * pb.z));
|
||||||
double norm = pb.GetLength () * pa.GetLength ();
|
double norm = pb.GetLength () * pa.GetLength ();
|
||||||
|
|
|
@ -36,7 +36,7 @@ LeoPropagationAngleTestCase1::DoRun (void)
|
||||||
|
|
||||||
double angle = LeoPropagationLossModel::GetAngle (a, b);
|
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
|
class LeoPropagationAngleTestCase2 : public TestCase
|
||||||
|
@ -68,7 +68,7 @@ LeoPropagationAngleTestCase2::DoRun (void)
|
||||||
|
|
||||||
double angle = LeoPropagationLossModel::GetAngle (a, b);
|
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
|
class LeoPropagationAngleTestCase3 : public TestCase
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue