`

HTML5 实现Link跳线效果

阅读更多

之前我们推出过Flex版本的Link跳线效果,现在基于HTML5新版本的跳线效果也实现了,细微之处我们进行了改进,如link倾斜的时候Offset方向始终保持垂直等。先看效果。
crossLink
crosslink
实现的算法和Flex基本一致,在这不做进一步分析了,算法中使用到矩阵的运算,所以在这贴一下矩阵运算的封装。

var matrix=function(options){
    if (!(this instanceof arguments.callee)) {
        return new arguments.callee(options);
    }
    this.init(options);
};

matrix.prototype={
    init:function(options){
        this.matrix=options.matrix;
    },

    add:function(mtx){
        var omtx=this.matrix;
        var newMtx=[];
        if(!mtx.length||!mtx[0].length||mtx.length!=omtx.length||mtx[0].length!=omtx[0].length){
            return;
        }
        for(var i=0,len1=omtx.length;i<len1;i++){
            var rowMtx=omtx[i];
            newMtx.push([]);
            for(var j=0,len2=rowMtx.length;j<len2;j++){
                newMtx[i][j]=rowMtx[j]+mtx[i][j];
            }
        }
        this.matrix=newMtx;
        return this;
    },

    multiply:function(mtx){
                var omtx = mtx.matrix;
                var mtx = this.matrix;
                var newMtx=[];
                if(!isNaN(mtx)){
                    for(var i=0,len1=omtx.length;i<len1;i++){
                        var rowMtx=omtx[i];
                        newMtx.push([]);
                        for(var j=0,len2=rowMtx.length;j<len2;j++){
                            omtx[i][j]*=mtx;    
                        }
                    }
                    return new matrix({matrix:newMtx});
                }
                var sum=0;
                for(var i=0,len1=omtx.length;i<len1;i++){
                    var rowMtx=omtx[i];    
                    newMtx.push([]);
                    for(var m=0,len3=mtx[0].length;m<len3;m++){
                        for(var j=0,len2=rowMtx.length;j<len2;j++){
                            sum+=omtx[i][j]*mtx[j][m];    
                        }
                        newMtx[newMtx.length-1].push(sum);
                        sum=0;
                    }
                }
                this.matrix=newMtx;
                return this;        
            }            
        };
        this.Matrix=matrix;

 只封装了加和乘法,其他的运算方法也可以将矩阵表达式转化过来就可以了,如平移、旋转等。如需源码,可邮箱申请。jeff.fu@servasoft.com

分享到:
评论

相关推荐

    录音声卡搭载机架专用DIV跳线工具-ASIO驱动(跳线版)

    4》对ASIO Link Pro面板全部汉化,使其更适合国人使用 5》安装好驱动自动设置跳线面板数据。 ASIO驱动(跳线版)通过灵活的DIY跳线,可以使专业的无内录混音外置声卡,也能搭载机架宿主实现主播模式,如罗兰系列...

    HTML5实现烟花效果

    在本案例中,我们将探讨如何使用HTML5来实现炫丽的烟花效果。这一效果通常通过结合HTML、CSS(级联样式表)和JavaScript来完成,这三种技术是现代网页开发的三大支柱。 首先,让我们从HTML部分开始。HTML(超文本...

    三菱FX5U系列PLC使用FX5-CCL-MS模块无需编程即可实现CC-Link通信的具体操作步骤.docx

    本文将详细介绍如何使用三菱FX5U系列PLC与FX5-CCL-MS模块实现无需编程的CC-Link通信。在过去的FX3U系列PLC中,实现CC-Link通信需要编写程序,但FX5U系列进行了升级,不仅提高了传输速率,更引入了一种便捷的方法,仅...

    html5实现一个小礼物功能

    此外,HTML5的Web Workers特性可以实现后台计算,提高程序的运行效率,特别是在处理复杂的动画效果时。 总的来说,这个"html5实现的小礼物功能"项目展示了HTML5、CSS和JavaScript如何协同工作,创建出一个富有吸引...

    [链接测试工具]HTML Link Validator

    HTML Link Validator是一款强大的链接测试工具,专为网页开发者和网站管理员设计,用于检查网页中的链接是否有效,确保网站的健康运行。这款工具可以帮助用户找出断链、死链、重定向等问题,提高用户体验并优化搜索...

    HTML5的<link rel="shortcut icon"标签是干什么用的

    HTML5的&lt;link rel="shortcut icon"标签是用来定义网页的favicon,也就是我们常说的网页快捷图标。这个图标通常出现在浏览器的地址栏左侧、书签栏以及新标签页中,为用户提供了一个快速识别网站的视觉标识。它让网站...

    基于FPGA的Link11解调实现.pdf

    整个文档强调了Link11解调算法从MATLAB仿真到FPGA实现的全过程,展现了解调算法的实际应用场景和硬件实现的技术路线。该研究不仅推动了Link11解调技术的发展,也为通信对抗领域提供了新的解调实现方案。 根据以上...

    htmllink标签的使用

    `&lt;html:link&gt;` 标签是Struts框架中用于创建HTML `&lt;a&gt;` 元素的一个组件,它提供了处理请求参数和Session跟踪的功能,尤其在处理动态生成的链接时非常有用。下面我们将深入探讨该标签的特性、用法以及相关的知识点。 ...

    精品传奇link页面_传奇登录器link_传奇link.htm_传奇登录器link页面_

    5. **1121**:在这个上下文中,"1121"可能是文件名的一部分,或者是某种编码或者版本号。在实际的压缩包文件中,它可能代表一个具体的资源文件,例如游戏数据、脚本或者图像,这些内容都是构成登录器link页面不可或...

    FX5U CCLINK 控制伺服

    FX5U系列是三菱自动化的一款高性能微型PLC(可编程逻辑控制器),而CCLINK是三菱推出的现场网络系统,主要用于连接各种设备,如PLC、伺服驱动器、HMI(人机界面)等,实现设备间的高效通信。在这个工程实例中,我们...

    三菱FX5U系列PLC通信相关用户手册(CC-LINK+MODBUS+以太网+串行通信).rar

    CC-LINK协议不仅提供了基本的I/O通信,还支持复杂的数据传输和同步操作,是实现分布式控制系统的理想选择。《FX5用户手册(CC-LINK篇)》和《FX5用户手册(CC-LINK IE篇)》将详细解析如何配置和使用CC-LINK通信。 ...

    Cameralink通信协议Verilog源代码

    5. **错误检测与纠正**:Cameralink协议通常包含CRC校验或奇偶校验机制,以检测传输过程中的错误。 **基于Cameralink的实时显示技术** 在基于Cameralink的实时显示技术研究中,重点是如何高效地处理从Cameralink...

    基于 HTML5 & CSS3 实现翻书效果

    在实现翻书效果中,HTML5的主要贡献在于其结构化元素和Canvas API。结构化元素如、和等,可以帮助我们更好地组织内容,而Canvas则是一个可编程的图形区域,可以用于绘制翻页动画。 CSS3是CSS的最新版本,引入了许多...

    欧姆龙PLC C#通讯程序源码(HOST LINK 实现)

    【工控老马出品,必属精品,质量保证,亲测能用】 资源名:欧姆龙PLC通讯... 5、校验实现:HOST LINK校验方式 三、注意事项 1、开发环境为Visual Studio 2012使用.net 4.0开发 适合人群:新手及有一定经验的开发人员

    网页实现抽屉效果,使用HTML和js,参杂了点css

    本文将深入探讨如何使用HTML、JavaScript(JS)以及CSS来实现这一效果。 首先,我们来看HTML结构。一个简单的抽屉效果通常包含两个主要部分:一个用于触发抽屉动作的按钮(如汉堡图标)和一个抽屉本身,即可以滑入...

    三菱FX5U和JE-C伺服用CC-LINK IE协议通信案例.rar

    5. **通信设置**:配置过程中,需要在FX5U PLC的编程软件中设置CC-LINK IE网络参数,包括IP地址、站号、波特率等。同时,伺服驱动器MR-JE-C也需要进行相应的网络配置,以确保两者能在同一网络下正常通讯。 6. **...

    LINK11.zip_link11_link11 matlab_link11 调制速率_link11数据文件_rawnml

    在给定的压缩包"LINK11.zip"中,包含了一系列与Link11数据链路相关的MATLAB代码,这些代码主要用于实现Link11数据链路的发端调制过程。通过对这些文件的理解,我们可以深入探讨Link11数据链路、调制速率、数据文件...

    STM32-daplink.rar_DAPLink 制作_daplink编译_hc-link改dap-link_stm32 d

    STM32-DAPLink是一个基于STM32微控制器的开源项目,用于实现调试和编程接口。这个项目的主要目的是提供一个低成本、高效的替代方案,用于通过USB连接到开发板进行固件更新和调试。在本压缩包文件中,你将找到与DAP...

    HTML页面打字效果的实现

    这个效果可以通过JavaScript来实现,结合HTML和CSS,可以进一步增强用户体验,比如添加背景音乐和背景图片,以及调整列表框的样式。 首先,我们来看HTML的基础结构。一个简单的HTML页面可能包含头部(`&lt;head&gt;`)和...

Global site tag (gtag.js) - Google Analytics