抛物线

抛物线思路  
第一步 : 确定三点坐标
起点  
var startPoint = {
    x : addCart.offsetLeft+addCart.offsetWidth/2,
    y : addCart.offsetTop
}
终点
var endPoint = {
    x : shopCart.offsetLeft+shopCart.offsetWidth/2,
    y : shopCart.offsetTop
}
最高点
var topPoint = {
    x : endPoint.x - 120,(数值随意设置)
    y : endPoint.y - 80  (数值随意设置)
}
第二步 : 根据三点坐标确定抛物线方程
第三步 : 创建一个商品,并设置商品的起点位置
创建商品
var good = create("div");
good.className = "good";
document.body.appendChild(good);
设置商品的位置 为起始点坐标
good.style.left = startPoint.x + "px";
good.style.top = startPoint.y + "px";
第四步 : 商品运动
第五步 : 根据条件停止商品运动 (商品删除  累加商品个数)
沿着 抛物线的轨迹运动
// y = a*x*x + b*x + c
var x = startPoint.x;//小球运动起始的横坐标
var timer = setInterval( function(){
根据条件停止商品运动 (商品删除  累加商品个数)
    x += 5; left(x轴)
    y = a*x*x + b*x + c; top(y轴)
    if( x > endPoint.x ){
        clearInterval( timer );
        good.remove();
        shopNum.innerHTML = ++num;
    }else{
         good.style.left = x + "px";
         good.style.top = y + "px";
    }
},20 )
 
根据三点坐标确定抛物线的系数
var a = ((startPoint.y - endPoint.y)*(startPoint.x - topPoint.x) - (startPoint.y -  topPoint.y) * (startPoint.x - endPoint.x)) / ((startPoint.x * startPoint.x - endPoint.x *  endPoint.x) * (startPoint.x -  topPoint.x)-(startPoint.x * startPoint.x -  topPoint.x * topPoint.x) * (startPoint.x -  endPoint.x));  
                    
var b = ((endPoint.y - startPoint.y)  - a * (endPoint.x * endPoint.x - startPoint.x *  startPoint.x)) / (endPoint.x - startPoint.x);  
                    
var c = startPoint.y - a *  startPoint.x * startPoint.x - b * startPoint.x;

转载于:https://www.cnblogs.com/tis100204/p/10302302.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值