zoukankan      html  css  js  c++  java
  • 抛物线

    抛物线思路  
    第一步 : 确定三点坐标
    起点  
    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;
  • 相关阅读:
    写代码的自动提示是怎么出来的...我的WebStorm中不能自动提示Bootstrap中的样式呢
    bootstrap 中是通过写less文件来生成css文件,用什么工具来编写呢?
    flexbox弹性盒模型
    oninput 属性
    操作文件
    深拷贝、浅拷贝、集合
    常用字符串方法
    字典-小练习
    字典
    元组
  • 原文地址:https://www.cnblogs.com/tis100204/p/10302302.html
Copyright © 2011-2022 走看看