拓扑

WebGL实现HTML5的3D贪吃蛇游戏

只谈情不闲聊 提交于 2020-01-07 17:33:52
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> js1k.com 收集了小于1k的javascript小例子,里面有很多很炫很酷的游戏和特效, 今年规则 又增加了新花样,传统的classic类型基础上又增加了WebGL类型,以及允许增加到2K的++类型,多次想尝试提交个小游戏但总无法写出让自己满意还能控制在这么小的字节范围。 自己写不出来,站在巨人肩膀总是有机会吧,想起 《基于HTML5的电信网管3D机房监控应用》 这篇提到的 threejs , babylonjs 和 Hightopo 的几种基于WebGL的3D引擎,突然想挑战下自己实现个100行JS的3D小游戏,折腾了一番最终采用 Hightopo 搞了个3D贪吃蛇游戏,算了算JS代码还只有90来行,终于满足了自己的小小心愿写完这篇可以满意去睡觉了。 http://www.hightopo.com/demo/snake_20151106/GreedySnake.html http://www.hightopo.com/demo/snake_20151106/GreedySnake.html 以下先上一段最终3D游戏在平板上的运行交互 视频效果 : http://v.youku.com/v_show/id_XNjgxMzIxOTcy.html 传统2D的贪吃蛇游戏一般通过方向键盘控制蛇的前进方向

storm拓扑的并行度(parallelism)概念

本小妞迷上赌 提交于 2020-01-07 08:29:56
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1 storm并行的基本概念 一个运行中的拓扑是由什么构成的:工作进程(worker processes),执行器(executors)和任务(tasks) 在一个 Storm 集群中,Storm 主要通过以下三个部件来运行拓扑: 工作进程(worker processes)(进程数) 执行器(executors)(线程数) 任务(tasks)(实例组件数) storm集群中的一个机器可以运行一个或者多个worker,对应于一个或者多个topologies.1个worker进程运行1个或多个 excutor线程。每个worker从属于一个topology.executor是单线程。每1个executor运行着相同的组件(spout或 bolt)的1个或多个task。1个task执行着实际的数据处理。 下面是他们之间相互关系的简单图示。 2 是否需要提高workers数目 (1) 最好 一台机器上的一个topology只使用一个worker,主要原因时减少了worker之间的数据传输 (2) 有更多的worker可能会有更好的表现,这取决于你的瓶颈所在。每个worker都有通过一个线程将元组转移到其他的worker,所以如果你的瓶颈在CPU和每个worker正在处理大量的元组

SDN 网络系统之 Mininet 与 API 详解

混江龙づ霸主 提交于 2019-12-28 13:41:48
SDN 网络系统之 Mininet 与 API 详解 来源 https://www.ibm.com/developerworks/cn/cloud/library/1404_luojun_sdnmininet/ 更多资料 1. Mininet: http://mininet.org/ 2. Mininet wiki: https://github.com/mininet/mininet/wiki SDN 与 Mininet 概述 SDN 全名为(Software Defined Network)即软件定义网络,是现互联网中一种新型的网络创新架构,其核心技术 OpenFlow 通过网络设备控制面与数据面分离开来,从而实现网络流量的灵活控制,为网络及应用提供了良好的平台。而 Mininet 是一个轻量级软件定义网络和测试平台;它采用轻量级的虚拟化技术使一个单一的系统看起来像一个完整的网络运行想过的内核系统和用户代码,也可简单理解为 SDN 网络系统中的一种基于进程虚拟化平台,它支持 OpenFlow、OpenvSwith 等各种协议,Mininet 也可以模拟一个完整的网络主机、链接和交换机在同一台计算机上且有助于互动开发、测试和演示,尤其是那些使用 OpenFlow 和 SDN 技术;同时也可将此进程虚拟化的平台下代码迁移到真实的环境中。 Mininet 实现的特性 支持

mininet实验 命令延伸实验扩展

回眸只為那壹抹淺笑 提交于 2019-12-28 13:40:23
mininet实验一 参考博客一 参考博客二 实验目的 熟悉Mininet自定义拓扑三种实现方式:命令行创建、Python脚本编写、交互式界面创建。 1.用命令行生成拓扑,并测试连通性,截图 1)最小的网络拓扑,一个交换机下面挂两个主机。 sudo mn --topo minimal 注意:每次要新建拓扑时,需执行以下命令,防止上次操作对本次实验的影响 sudo mn -c 建立后用 exit 来退出。 2)每个交换机连接一个主机,交换机间相连接。本例:4个主机,4个交换机。 sudo mn --topo linear,4 注意:每次要新建拓扑时,需执行以下命令,防止上次操作对本次实验的影响 sudo mn -c 3)每个主机都连接到同一个交换机上。本例:3个主机,一个交换机。 sudo mn --topo single,3 注意:每次要新建拓扑时,需执行以下命令,防止上次操作对本次实验的影响 sudo mn -c 4)定义深度和扇出形成基于树的拓扑。本例:深度2,扇出2。 sudo mn --topo tree, fanout=2,depth=2 注意:每次要新建拓扑时,需执行以下命令,防止上次操作对本次实验的影响 sudo mn -c 2.Python脚本定义拓扑 1)--topo linear,4。 在装有mininet镜像的虚拟机中新建文件linear.py,添加以下内容:

Mininet 系列实验(三)

泪湿孤枕 提交于 2019-12-28 13:39:47
实验内容 基础 Mininet 可视化界面进行自定义拓扑及拓扑设备自定义设置,实现自定义脚本应用。 参考 Mininet可视化应用 实验环境 虚拟机: Oracle VM VirtualBox Ubuntu16 实验步骤 1. 检查 Mininet 版本 # mn --version Mininet 2.2.0内置了一个mininet可视化工具miniedit。miniedit在~/mininet/mininet/examples目录下提供miniedit.py脚本,执行脚本后将显示Mininet的可视化界面,在界面上可进行自定义拓扑和自定义设置。如果安装的是早期的Mininet版本可以先卸载,再重新安装。 卸载命令: # sudo rm -rf /usr/local/bin/mn /usr/local/bin/mnexec \ /usr/local/lib/python*/*/*mininet* \ /usr/local/bin/ovs-* /usr/local/sbin/ovs-* # sudo apt-get remove mininet 安装过程参考: Mininet系列实验(一) 2. 执行命令启动 miniedit # ./miniedit.py 这条命令要在 ~/mininet/mininet/examples 下执行,例如我的是 /home/osstudy

2019 SDN上机第1次作业

谁说胖子不能爱 提交于 2019-12-24 02:53:53
1.安装轻量级网络仿真工具Mininet 使用github上的Mininet源安装,使用命令依次为: git clone https://github.com/mininet/mininet.git cd mininet/util ./install.sh 如下图: 2.用字符命令搭建如下拓扑,要求写出命令 创建第一个拓扑命令如下 sudo mn --topo=linear,3 运行结果如下图 创建第二个拓扑命令如下 sudo mn --topo tree,depth=2,fanout=3 运行结果如下图 3.利用可视化工具搭建如下拓扑,并要求支持OpenFlow 1.0 1.1 1.2 1.3,设置h1(10.0.0.10)、h2(10.0.0.11)、h3(10.0.0.12),拓扑搭建完成后使用命令验证主机ip,查看拓扑端口连接情况。 利用可视化工具创建拓扑如下 设置支持openFlow 1.0 1.1 1.2 1.3,打开edit的Preferences,勾选如下open vSwitch的四个选项 分别设置h1、h2、h3的ip,命令行出现如下代码 点击Run执行结果如下 使用net命令查看拓扑 分别使用 h1 ifconfig h2 ifconfig h3 ifconfig 三个命令查看拓扑端口连接情况,结果如下图 4. 利用Python脚本完成如下图所示的一个Fat

2019 SDN上机第1次作业

我们两清 提交于 2019-12-24 00:25:06
1. 安装轻量级网络仿真工具Mininet Ubuntu源内安装,命令为: sudo apt-get install mininet 2. 用字符命令搭建拓扑, 搭建线型拓扑: sudo mn --topo linear,4 查看net信息 输入命令net 查看所有节点连通性 输入命令pingall 搭建树形拓扑: sudo mn --topo tree,depth=3,fanout=2 查看net信息 输入命令net 查看所有节点连通性 输入命令pingall 3.利用可视化工具搭建如下拓扑,并要求支持OpenFlow 1.0 1.1 1.2 1.3,设置h1(10.0.0.10)、h2(10.0.0.11)、h3(10.0.0.12),拓扑搭建完成后使用命令验证主机ip,查看拓扑端口连接情况。 打开可视化工具: 搭建拓扑: 设置三个主机的IP地址: 运行我的拓扑 输入net查看网络: 使用xterm语句验证主机ip,查看拓扑端口连接情况: 利用Python脚本完成如下图所示的一个Fat-tree型的拓扑(交换机和主机名需与图中一致,即s1~s6,h1~h8,并且链路正确,请给出Mininet相关截图) Python脚本代码: #!/usr/bin/python from mininet.topo import Topo from mininet.net import

基于HTML5的WebGL结合Box2DJS物理引擎应用

坚强是说给别人听的谎言 提交于 2019-12-23 13:51:32
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 上篇 我们基于 HT for Web 呈现了 A* Search Algorithm 的3D寻路效果,这篇我们将采用 HT for Web 3D 来呈现Box2DJS物理引擎的碰撞效果,同上篇其实Box2DJS只是二维的平面碰撞物理引擎,但同样通过3D的呈现能让人更直观的体验到碰撞效果,最终例子效果: http://hightopo.com/demo/box2djs/ht-box2d-demo.html Box2D最早是Erin Catto在 GDC 大会上的一个展示例子,后来不断完善成C++的开源物理引擎库,这些年了衍生出Java、ActionScript以及JS等版本,被广泛应用在游戏领域。说其丰富的确很丰富,说乱也够乱的,找个Box2D的JS版就有N多选择,而且不同版本API还有差异,可参考这里的对比 http://stackoverflow.com/questions/7628078/which-box2d-javascript-library-should-i-use 虽然版本较多有点乱,但各个版本的基本原理和API都类似,以下为我基于Box2DJS融合 HT for Web 写的例子代码。Box2D有很多参数功能点,这里例子我们仅呈现最基础简单的要素,主要让大家理解Box2DJS引擎的基本使用

2019 SDN上机第1次作业

假如想象 提交于 2019-12-23 13:42:43
目录 1.安装轻量级网络仿真工具Mininet 2.用字符命令搭建拓扑,要求写出命令 3. 利用可视化工具搭建拓扑,并要求支持 OpenFlow 1.0 1.1 1.2 1.3,设置h1(10.0.0.10)、h2(10.0.0.11)、h3(10.0.0.12),拓扑搭建完成后使用命令验证主机 ip ,查看拓扑端口连接情况。 4. 利用Python脚本完成一个Fat-tree型的拓扑(交换机和主机名需与图中一致,即s1~s6,h1~h8,并且链路正确,请给出 Mininet 相关截图 5.个人心得 1.安装轻量级网络仿真工具Mininet 安装步骤 Step1:在Linux环境下安装Git,输入 sudo apt-get install git Step2:Clone Github,输入 sudo git clone http://www.github.com/mininet/mininet Step3:安装 mininet,输入 sudo ./util/install.sh -a 安装成功! 2.用字符命令搭建拓扑,要求写出命令 第一题 命令: sudo mn --topo linear,3 第二题 命令: sudo mn --topo tree,fanout=3,depth=2 3. 利用可视化工具搭建拓扑,并要求支持 OpenFlow 1.0 1.1 1.2 1.3

2019SDN上机第2次作业

前提是你 提交于 2019-12-23 02:10:31
1. 利用mininet创建如下拓扑,要求拓扑支持OpenFlow 1.3协议,主机名、交换机名以及端口对应正确,请给出拓扑Mininet执行结果,展示端口连接情况 创建拓扑: 拓扑支持OpenFlow 1.3协议: run net查看 pingall命令测试所有节点连通性 2. 直接在Open vSwitch下发流表,用vlan得到下列虚拟网段,请逐条说明所下发的流表含义 h1 -- h4互通 h2 -- h5互通 h3 -- h6互通 其余主机不通 流表: 将主机1,2,3进入s1的包打上vlan tag,转发端口4 sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=1,actions=push_vlan:0x8100,set_field:4096-\>vlan_vid,output:4 sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=2,actions=push_vlan:0x8100,set_field:4097-\>vlan_vid,output:4 sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=3,actions=push_vlan:0x8100,set