Commit 363fe653 authored by lm's avatar lm
Browse files

Added position interpolation

parent 41eb8ba6
...@@ -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);
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment