forked from La_Bureautique/zeg1jeux
On brade pi
parent
f2886bcc8d
commit
ffca895018
|
@ -55,19 +55,28 @@ function computeLonDistanceInKm (dest, orig) {
|
|||
|
||||
function computeDelay (latDistanceKm, lonDistanceKm, sonarDuration) {
|
||||
|
||||
placeDirection = Math.atan(latDistanceKm / lonDistanceKm);
|
||||
placeWay = lonDistanceKm < 0 ? -1 : 1;
|
||||
placeAngle = placeDirection * placeWay;
|
||||
let placeDirection = Math.atan(latDistanceKm / lonDistanceKm);
|
||||
let placeAngle = lonDistanceKm > 0 ? placeDirection : placeDirection + Math.PI;
|
||||
|
||||
unsignedAngle = placeAngle + (2 * Math.PI);
|
||||
let unsignedAngle = placeAngle > 0 ? placeAngle : placeAngle + (2 * Math.PI);
|
||||
|
||||
animOrigAngle = 3 * Math.PI / 2;
|
||||
animAngle_verbose = animOrigAngle + unsignedAngle;
|
||||
animAngle_bounded = fmod(animAngle_verbose, (2 * Math.PI));
|
||||
let animOrigAngle = 3 * Math.PI / 2;
|
||||
let animAngle_verbose = animOrigAngle + unsignedAngle;
|
||||
let animAngle_bounded = fmod(animAngle_verbose, (2 * Math.PI));
|
||||
|
||||
circleRatio = animAngle_bounded / (2 * Math.PI);
|
||||
delay = circleRatio * sonarDuration;
|
||||
|
||||
console.log('psa', placeAngle)
|
||||
// console.log('pua', unsignedAngle)
|
||||
// console.log('uab', fmod(unsignedAngle, (2 * Math.PI)))
|
||||
|
||||
// console.log('aoa', animOrigAngle)
|
||||
// console.log('aav', animAngle_verbose)
|
||||
// console.log('aab', animAngle_bounded)
|
||||
|
||||
let circleRatio = animAngle_bounded / (2 * Math.PI);
|
||||
let delay = circleRatio * sonarDuration;
|
||||
|
||||
console.log(' ')
|
||||
return delay;
|
||||
}
|
||||
|
||||
|
@ -88,6 +97,7 @@ for (place of places) {
|
|||
|
||||
} else {
|
||||
|
||||
console.log(place.getAttribute("data-place-name"))
|
||||
var latDistanceKm = computeLatDistanceInKm(placeLat, origLat);
|
||||
var lonDistanceKm = computeLonDistanceInKm(placeLon, origLon);
|
||||
|
||||
|
|
|
@ -1,44 +1,3 @@
|
|||
function fmod (x, y) {
|
||||
|
||||
// discuss at: https://locutus.io/php/fmod/
|
||||
// original by: Onno Marsman (https://twitter.com/onnomarsman)
|
||||
// input by: Brett Zamir (https://brett-zamir.me)
|
||||
// bugfixed by: Kevin van Zonneveld (https://kvz.io)
|
||||
// example 1: fmod(5.7, 1.3)
|
||||
// returns 1: 0.5
|
||||
let tmp
|
||||
let tmp2
|
||||
let p = 0
|
||||
let pY = 0
|
||||
let l = 0.0
|
||||
let l2 = 0.0
|
||||
|
||||
tmp = x.toExponential().match(/^.\.?(.*)e(.+)$/)
|
||||
p = parseInt(tmp[2], 10) - (tmp[1] + '').length
|
||||
|
||||
tmp = y.toExponential().match(/^.\.?(.*)e(.+)$/)
|
||||
pY = parseInt(tmp[2], 10) - (tmp[1] + '').length
|
||||
|
||||
if (pY > p) {
|
||||
p = pY
|
||||
}
|
||||
|
||||
tmp2 = (x % y)
|
||||
|
||||
if (p < -100 || p > 20) {
|
||||
|
||||
// toFixed will give an out of bound error so we fix it like this:
|
||||
l = Math.round(Math.log(tmp2) / Math.log(10))
|
||||
l2 = Math.pow(10, l)
|
||||
|
||||
return (tmp2 / l2).toFixed(l - p) * l2
|
||||
|
||||
} else {
|
||||
|
||||
return parseFloat(tmp2.toFixed(-p))
|
||||
}
|
||||
}
|
||||
|
||||
const TAILLE_SPRITE = 32;
|
||||
|
||||
var places = document.getElementsByClassName('place');
|
||||
|
|
Loading…
Reference in New Issue