gpt4 book ai didi

javascript - 在javascript中计算弧形路径

转载 作者:太空宇宙 更新时间:2023-11-03 18:43:50 31 4
gpt4 key购买 nike

我不知道如何模拟这个。红色箭头处于静止位置。背景,有一个 flex 的路径。我只是移动背景位置,使箭头看起来沿着那条 flex 的路径移动。

Red Arrow http://img829.imageshack.us/img829/6636/redarrowe.png

我现在拥有的是箭头以 45 度 Angular 移动到目的地。但我想要实现的是沿着虚线路径移动的箭头。

var interval = 100;

var currX = -82; // Current x position
var currY = -342; // Current y position

var destX = -750; // Destination x position
var destY = -850; // Destination y position

var currentDuration = 0;
var duration = 1800 * 1000; // Duration

var $bg = $('#flight-wrapper');

var intbg = window.setInterval(function(){
currentDuration += interval;

var leftX = destX - currX; // X pixels left
var leftY = destY - currY; // Y pixels left

var leftDuration = duration - currentDuration; // Duration left

var tickX = leftX / leftDuration * interval; // Pixel to offset
var tickY = leftY / leftDuration * interval; // Pixel to offset

var newX = currX + tickX;
var newY = currY + tickY;

// Prevent it going further than the destination X & Y pixel
currX = newX <= destX ? destX : newX;
currY = newY <= destY ? destY : newY;

if ( currX <= destX && currY <= destY ) {
window.clearTimeout(intbg);
}

$bg.css({
backgroundPosition: Math.floor(currX) + 'px ' + Math.floor(currY) + 'px'
});
}, interval);

希望有人能帮我解决这个问题。

最佳答案

给定点 p = (x_t, y_t),这是箭头在任何给定时间 t 的位置,您需要找出 tangent to your curve at the point p numerically 是什么它将准确地告诉您箭头应该如何指向。

关于javascript - 在javascript中计算弧形路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16880260/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com