Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
363fe653
Commit
363fe653
authored
Jan 03, 2011
by
lm
Browse files
Added position interpolation
parent
41eb8ba6
Changes
1
Hide whitespace changes
Inline
Side-by-side
images/earth.html
View file @
363fe653
...
@@ -18,6 +18,7 @@ var followEnabled = false;
...
@@ -18,6 +18,7 @@ var followEnabled = false;
var
lastLat
=
0
;
var
lastLat
=
0
;
var
lastLon
=
0
;
var
lastLon
=
0
;
var
lastAlt
=
0
;
var
currLat
=
47.3769
;
var
currLat
=
47.3769
;
var
currLon
=
8.549444
;
var
currLon
=
8.549444
;
var
currAlt
=
470
;
var
currAlt
=
470
;
...
@@ -210,8 +211,11 @@ function setAircraftPositionAttitude(id, lat, lon, alt, roll, pitch, yaw)
...
@@ -210,8 +211,11 @@ function setAircraftPositionAttitude(id, lat, lon, alt, roll, pitch, yaw)
{
{
if
(
id
==
currAircraft
)
if
(
id
==
currAircraft
)
{
{
lastLat
=
currLat
;
if
(
lastLat
==
0
)
lastLon
=
lastLon
;
{
lastLat
=
currLat
;
lastLon
=
lastLon
;
}
currLat
=
lat
;
currLat
=
lat
;
currLon
=
lon
;
currLon
=
lon
;
currAlt
=
alt
;
currAlt
=
alt
;
...
@@ -262,12 +266,17 @@ function setCurrentAircraft(id)
...
@@ -262,12 +266,17 @@ function setCurrentAircraft(id)
function
updateFollowAircraft
()
function
updateFollowAircraft
()
{
{
currView
=
ge
.
getView
().
copyAsLookAt
(
ge
.
ALTITUDE_ABSOLUTE
);
currView
=
ge
.
getView
().
copyAsLookAt
(
ge
.
ALTITUDE_ABSOLUTE
);
currView
.
setLatitude
(
currLat
);
// Interpolate
currView
.
setLongitude
(
currLon
);
currView
.
setLatitude
(
lastLat
*
0.7
+
currLat
*
0.3
);
currView
.
setAltitude
(
currAlt
);
currView
.
setLongitude
(
lastLon
*
0.7
+
currLon
*
0.3
);
currView
.
setAltitude
(
lastAlt
*
0.7
+
currAlt
*
0.3
);
// Set new states
lastLat
=
lastLat
*
0.7
+
currLat
*
0.3
;
lastLon
=
lastLon
*
0.7
+
currLon
*
0.3
;
lastAlt
=
lastAlt
*
0.7
+
currAlt
*
0.3
;
currView
.
setRange
(
currViewRange
);
currView
.
setRange
(
currViewRange
);
currView
.
setTilt
(
currFollowTilt
);
currView
.
setTilt
(
currFollowTilt
);
currFollowHeading
=
0.9
*
currFollowHeading
+
0.1
*
((
Math
.
atan2
(
lastLat
-
currLat
,
lastLon
-
currLon
)
/
M_PI
)
+
1.0
)
*
360.0
;
currFollowHeading
=
0
;
//
0.9*currFollowHeading+0.1*((Math.atan2(lastLat-currLat, lastLon-currLon)/M_PI)+1.0)*360.0;
currView
.
setHeading
(
currFollowHeading
-
0.0
);
currView
.
setHeading
(
currFollowHeading
-
0.0
);
ge
.
getView
().
setAbstractView
(
currView
);
ge
.
getView
().
setAbstractView
(
currView
);
}
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment