精华内容
下载资源
问答
  • 同时,他对整个行业也有一个判断:不管是做大平台还是小平台,关键在落地后的常态化运用。如果不能落地就不能产生真实的价值,自然也就产生不了收益。而常态化运用的衡量标准就是是否提高了课堂的教与学,数据方面要...

    “其实,教育信息化的核心在于课堂,而课堂的核心又在于教与学,这始终是教育信息化的‘牛鼻子’。今年有几个比较明显的趋势:其中之一就是是硬件厂商逐渐转向软件方面。”
    同时,他对整个行业也有一个判断:不管是做大平台还是小平台,关键在落地后的常态化运用。如果不能落地就不能产生真实的价值,自然也就产生不了收益。而常态化运用的衡量标准就是是否提高了课堂的教与学,数据方面要提炼而不仅仅只是归纳

    展开全文
  • 大家许久不见,大家圣诞节~,很多人对曲线修改器运用和如何实体有所困惑,而这篇将分析一些blender中曲线的基础运用及拓展,插一小段,在blender除了默认的几个曲线,还有其他自带曲线的插件,打开blender偏好设置...

    c08ff644fa74ae037dd5f23f2e43cb50.png

    62a3805d91c9b6503e50c61d54be9c6d.png

    大家许久不见,大家圣诞节~,很多人对曲线修改器运用和如何实体化有所困惑,而这篇将分析一些blender中曲线的基础运用及拓展,

    插一小段,在blender除了默认的几个曲线,还有其他自带曲线的插件,打开blender偏好设置的插件选项,输入extra,开启两个曲线插件。这时可以看到曲线一栏多了好多插件,更加方便进行各种曲线的操作,关于扩充的插件使用方法大家可先自行研究~

    ca928add72743e0311b3e1787a7fcd6c.png

    0a2493621847a877c1fee7bd6db89bbb.png

    1曲线实体化

    关于曲线的基础知识:

    E键可挤出

    Ctrl+鼠标右键点击,可不断的增加线段

    封闭曲线,选择收尾两个点,按F键(闭合封面也适用)即可,

    或者按alt+c可循环闭合曲线,按第二次alt+c可取消环闭合曲线

    可以自由移动旋转缩放,按G键是自由移动

    x键可选择删除顶点、段数或融并顶点

    22D与3D模式

    当我们添加一个圆环的曲线时,在右边的物体属性一栏中,可以看到主要有2D和3D两个选项的设置。

    380aba6ee2446f8b928c69dfe019cc71.png

    我们来看看他们之间的区别。在3D模式下,把一个顶点往上拉是可以的,转到2D模式就回到了平面。2D相当于把曲线给拍平,之间的效果也是截然不同。

    870a054f82ba4b87eefa86576c2686a8.png

    aae801f4ffa962eb6bbc5de23ffc4e39.png

    3几何数据

    挤出:形成以曲线为中心对称的实体面片。

    0b2b55c6a1353f6f89aedb05fd646e57.png

    偏移量:实体形成面片与贝塞尔曲线分离,向里或向外缩放。

    d8d8a3ee5f4582967290b99be0999673.png

    倒角:深度即是给曲线增加厚度,形成实体圆环的效果,分辨率则是调整曲线的细分效果。

    df659c7eec835db716cf6697988c4e7d.png

    42D模式

    在填充模式里:有四个选择,选择两者的选项,将会出现圆环被封面的效果。

    9ee4fe100750ee47f573f551427820d2.png

    当按shift+d,复制一个圆环曲线,然后按s缩小,会得到中心是空的效果,主要用于在平面中做一些特殊的形状。

    3eddf6e1eeefed7e794361e6b1f0eb48.png

    当我们回来再给一个深度时,可以看到从一个片面到实体化的转变。

    41f7c761fdc6a22a126f8cc37b1f41f4.png

    回到填充模式,模式改为无,就不会填充整个面,而是根据曲线实体化成体。

    2b307d31501dfc684cd2cb5009cf343d.png

    填充模式改为后的模式,则是只有下面有填充,而上面是空的。

    b52d02aeeda18c30a79c835a4dc7c269.png

    当想把曲线转成可操作的模型时,Ctrl+a然后点击几何转网格即可。

    65396ea20b8a11dda9f9f15d33f17810.png

    53D模式

    我们来看看,在3D模式下有何变化,首先拉一条曲线,将它挤出成片,它是以曲线为对称点,垂直于向外延伸的两条黑线形成的片状块面。

    9ec5ff438e6a8ce985dbc7f4fa93d108.png

    b3b2cb8ffca81abb2338379ae3724d5d.png

    当曲线的长短不合适或倾斜太扭曲时,在右边的条目栏中,可调整曲线的半径和倾斜角度。

    91eb2b3e87f13dba5738335bcf6001b2.png

    改变曲线的范围:

    我们从块面状态下把挤出改回0,把深度调高,形成管状,然后调整倒角起点与结束点,即可改变曲线的长短范围。当要切换它的始末方向时,在段数里,点击切换即可。

    5ed684b3ce6481f7d847e187a1eae8bf.png

    a8a86263110912adbf40401ea1b038fd.png

    6设置控制柄类型

    我们还可以讲到一个控制柄的类型,在贝塞尔曲线下,按V即可出现。

    自动-调整角度而控制它的曲率。

    矢量-会使线段出现一个拐角。

    对齐-则是,挤出后的线都是平行的。

    自由-从其他控制柄类型中转为原来自由的曲线。

    1286c9f34b24a9152db378f570695a7e.png

    7如何拆分曲线

    选择对齐,然后按Y键,即可拆分曲线。

    030233110ba9ac7588def7c1ec3f1d3b.png

    dab95e568f2668b8966d65a6a2c980f8.png

    Ok,这次的解答就到这里了,这篇文章比较紧凑,图文教程方便大家一步步上手。感谢大家拿出宝贵的时间看,但不要忘记操作起来哦,咱们下回见~

    展开全文
  • prefuse 数据可视化运用

    千次阅读 2014-05-11 14:17:48
    prefuse 是一个关系绘制数据关系的开源项目,运用她开以绘制

    prefuse 是一个关系绘制数据关系的开源项目,运用它可以绘制数据关系的图形,网上资源很少,根据demo研究了一下绘制了一个简单的图形 请多指教 ,

     

    首先  prefuse 画图需要的关键几个类 , Graph  , Visuation, Display,其中Graph用来构建图形关系,visulation用来把自己设计的效果颜色等附加到图形上, Display就用来展示图形界面。



     代码贴上 

      public class GraphView extends JPanel {

    private static final String graph = "graph";
    private static final String nodes = "graph.nodes";
    private static final String edges = "graph.edges";

    private Visualization m_vis;

    public GraphView(Graph g, String label) {
    super();

    // 创造新视图
    m_vis = new Visualization();

    //设置渲染器



    LabelRenderer tr = new LabelRenderer();
    tr.setRoundedCorner(8, 8);
    m_vis.setRendererFactory(new DefaultRendererFactory(tr));
    setGraph(g, label);
    // 定义风格
    int hops = 30;
    final GraphDistanceFilter filter = new GraphDistanceFilter(graph, hops);

    ColorAction fill = new ColorAction(nodes, VisualItem.FILLCOLOR, ColorLib.rgb(200,200,255));
    fill.add(VisualItem.FIXED, ColorLib.rgb(255,100,100));
    fill.add(VisualItem.HIGHLIGHT, ColorLib.rgb(255,200,125));

    ActionList draw = new ActionList();
    draw.add(filter);
    draw.add(fill);
    draw.add(new ColorAction(nodes, VisualItem.STROKECOLOR, 0));
    draw.add(new ColorAction(nodes, VisualItem.TEXTCOLOR, ColorLib.rgb(0,0,0)));
    draw.add(new ColorAction(edges, VisualItem.FILLCOLOR, ColorLib.gray(200)));
    draw.add(new ColorAction(edges, VisualItem.STROKECOLOR, ColorLib.gray(200)));

    ActionList animate = new ActionList(Activity.INFINITY);
    animate.add(new ForceDirectedLayout(graph));
    animate.add(fill);
    animate.add(new RepaintAction());

    //添加显示风格
    m_vis.putAction("draw", draw);
    m_vis.putAction("layout", animate);
    m_vis.runAfter("draw", "layout");


    // --------------------------------------------------------------------
    //设置显示大小

    Display display = new Display(m_vis);
    display.setSize(700,700);
    display.pan(400, 400);

    // 增加监听器
    display.addControlListener(new FocusControl(){
    public void itemEntered(VisualItem item, MouseEvent e) {
    JPanel tipJpanel=new JPanel();
    tipJpanel.setSize(300, 300);
    ToolTipControl toolTip=new ToolTipControl("column_name");
    toolTip.itemEntered(item,e);
    }
    public void itemPressed(VisualItem item, MouseEvent e){
    }
    });
    display.addControlListener(new DragControl());
    display.addControlListener(new PanControl());
    display.addControlListener(new ZoomControl());
    display.addControlListener(new WheelZoomControl());
    display.addControlListener(new ZoomToFitControl());
    display.addControlListener(new NeighborHighlightControl());

    //定义节点被选中时的效果
    TupleSet focusGroup = m_vis.getGroup(Visualization.FOCUS_ITEMS);
    focusGroup.addTupleSetListener(new TupleSetListener() {
    public void tupleSetChanged(TupleSet ts, Tuple[] add, Tuple[] rem)
    {
    for ( int i=0; i<rem.length; ++i )
    ((VisualItem)rem[i]).setFixed(false);
    for ( int i=0; i<add.length; ++i ) {
    ((VisualItem)add[i]).setFixed(false);
    ((VisualItem)add[i]).setFixed(true);
    }
    if ( ts.getTupleCount() == 0 ) {
    ts.addTuple(rem[0]);
    ((VisualItem)rem[0]).setFixed(true);
    }
    m_vis.run("draw");
    }
    });

    this.add(display);
    m_vis.run("draw");
    }

    public void setGraph(Graph g, String label) {
    //更新渲染器
    DefaultRendererFactory drf = (DefaultRendererFactory) m_vis.getRendererFactory();
    ((LabelRenderer)drf.getDefaultRenderer()).setTextField(label);
    // 更新图
    m_vis.removeGroup(graph);
    VisualGraph vg = m_vis.addGraph(graph, g);
    m_vis.setValue(edges, null, VisualItem.INTERACTIVE, Boolean.FALSE);
    VisualItem f = (VisualItem)vg.getNode(0);
    m_vis.getGroup(Visualization.FOCUS_ITEMS).setTuple(f);
    f.setFixed(false);
    }

    // ------------------------------------------------------------------------
    public static void main(String[] args) {
    UILib.setPlatformLookAndFeel();
    Table t1=new Table();

    t1.addColumn("Person", String.class);
    t1.addColumn("Titel", String.class);
    t1.addColumn("FirstName", String.class);
    t1.addColumn("SecondName", String.class);
    t1.addColumn("Gender", String.class);
    t1.addColumn("Birthday", String.class);
    t1.addColumn("Department", String.class);
    t1.addColumn("Function", String.class);
    t1.addColumn("Boss", String.class);
    t1.addColumn("Telephon", String.class);
    t1.addColumn("Handy", String.class);
    t1.addColumn("Tele_Home", String.class);
    t1.addRow();
    t1.setString(0, 0, "Tom Hans");
    t1.setString(0, 1, "Dr.");
    t1.setString(0, 2, "Tom");
    t1.setString(0, 3, "Hans");
    t1.setString(0, 4, "male");
    t1.setString(0, 5, "1978-05-09");
    t1.setString(0, 6, "Marketing");
    t1.setString(0, 8, "Anny Tiger");
    t1.setString(0, 9, "0194537653");
    t1.setString(0, 10, "0191345667828");
    //***Start: Graph data init
      Graph graph=new Graph(true);//表示是否为有向图 false无向  true有向 
    graph.addColumn("data", String.class);
    graph.addColumn("column_name", String.class);
    graph.addColumn("id", int.class);
    graph.addColumn("toShow", String.class);
    graph.addColumn("size", int.class);
    for(int i=0;i<t1.getColumnCount();i++)
    {
    Node n=graph.addNode();
    n.setString("data", String.valueOf(t1.get(0, i)));
    n.setString("column_name", t1.getColumnName(i));
    n.setInt("id", i);
    n.setString("toShow", n.get(1)+":\n"+n.get(0));
    }

    for(int i=1;i<t1.getColumnCount();i++){
    graph.addEdge(0, i);
    }
    String label="toShow";
    JFrame frame = demo(graph, label);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static JFrame demo(Graph g, String label) {
    final GraphView view = new GraphView(g, label);
    // launch window
    JFrame frame = new JFrame("p r e f u s e | g r a p h v i e w");
    frame.setContentPane(view);
    frame.pack();
    frame.setVisible(true);
    return frame;
    }
    }


    展开全文
  • 我想问一下,各位大神,就是那个高校邦上的视频看了一会儿之后,就会弹出一个div题目框,那我应该如何定位呢
  • s1 = Select(wd.find_element_by_id("gitParameterSelect")) # 实例Select s1.select_by_value("origin/dev") time.sleep(2) version=wd.find_element_by_class_name("setting-input") version.clear...

    # -*- coding:utf-8 -*-

    from selenium import webdriver

    from selenium.webdriver.support.ui import Select

    import time

     

    def jenk_autobuild():

    wd = webdriver.Chrome()

    wd.get("http://jenkins.goodiber.com/login?from=%2F") # 打开浏览器

    wd.find_element_by_id("j_username").send_keys("littlelucky")

    time.sleep(2) #等待3秒

    wd.find_element_by_name("j_password").send_keys("test123456")

    time.sleep(2)

    wd.find_element_by_name("Submit").click() # 定位输入框并输入关键字

    time.sleep(2) #等待3秒

    wd.find_element_by_link_text("circle-mobile-7.0").click()

    time.sleep(2)

    wd.find_element_by_link_text("Build with Parameters").click()

    time.sleep(2)

    s1 = Select(wd.find_element_by_id("gitParameterSelect")) # 实例化Select

    s1.select_by_value("origin/dev")

    time.sleep(2)

    version=wd.find_element_by_class_name("setting-input")

    version.clear()

    version.send_keys("7.4.0")

    time.sleep(2)

    buildid=wd.find_elements_by_class_name("setting-input")[1]

    buildid.clear()

    buildid.send_keys("190")

    time.sleep(5)

    el=wd.find_element_by_id("yui-gen1-button")

    wd.execute_script("arguments[0].click();", el)

    time.sleep(600)

    wd.quit() #关闭浏览器

    if __name__ =='__main__':

    jenk_autobuild()

     

    1.前置条件:

    安装浏览器驱动chromedriver

    2.元素定位:

    打开chrome浏览器,在页面的空白处点击鼠标右键,选择‘检查’进入调试页面:

    3.元素定位的方法参考:

    selenium第三课(selenium八种定位页面元素方法)https://www.cnblogs.com/hustar0102/p/5965095.html

    4.用例设计步骤:

    1).打开浏览器

    2).输入账号、密码,点击登陆

    3).找到打包分支,并点击

    4).选择带参数配置方式构建

    5).选择构建分支、输入版本号、build号(实现时发现需要先清空默认配置)

    6).点击构建(实现时发现,此按钮在页面底部,需要滑动页面找到它再点击)

    5.脚本实现解释说明:

    1)步骤1:

    wd = webdriver.Chrome()

    wd.get("http://jenkins.goodiber.com/login?from=%2F") # 打开浏览器

    2)步骤2:

    find_element_by_id("j_username").send_keys("littlelucky")

    元素定位,有id时优先使用id定位,如账号输入框:

    没有id时,使用name定位,如密码输入框、登入按钮:

    find_element_by_name("j_password").send_keys("test123456")

    find_element_by_name("Submit").click()

    3)步骤3:找到打包分支

    该分支的点击入口元素即没有id,没有name,看到它是一个含跳转链接的文案,使用by_link_text定位并点击

    wd.find_element_by_link_text("文案内容").click()

    4)步骤4:选择带参数配置方式构建

    wd.find_element_by_link_text("Build with Parameters").click()

     

    5)

    5.1)下拉框的定位有点特殊,需要导入模块

    from selenium.webdriver.support.ui import Select

    然后根据先找到下拉框(通过.find_element_by_id定位),然后根据option的value值定位

    s1 = Select(wd.find_element_by_id("gitParameterSelect")) # 实例化Select

    s1.select_by_value("origin/dev")

     

    5.2)定位版本号、build号输入框,先清空默认配置的版本号、build号,然后配置新的版本号信息:

     

    version=wd.find_element_by_class_name("setting-input")

    version.clear()

    version.send_keys("7.4.0")

    buildid=wd.find_elements_by_class_name("setting-input")[1]

    buildid.clear()

    buildid.send_keys("190")

     

     

     

    6)滑动页面找到构建按钮,并点击:

    el=wd.find_element_by_id("yui-gen1-button")

    wd.execute_script("arguments[0].click();", el)

    最后:

    因为打包需要几分钟,所以也可以看看sleep一下看看执行构建情况(不用也行,因为这是服务器打包,关了浏览器也会在后台运行,点击了构建就行了)

    time.sleep(600)

    wd.quit() #关闭浏览器

     

    6.加个需求:定时构建、每日构建

     

    展开全文
  • VR 四大技术特征 1、 轻量是深度迭代期的持续考量因素 VR 概念与技术发展时间较长,2016 年进入爆发期。1935 年 VR 概念由一位小说家提出;1962 年 VR 原型机器被 Morton Heilig 研发,但该机器为研究型机器,并...
  • 今天,我们推荐信达证券的报告《爆款游戏推动硬件普及,5G 促进 VR 产业规模化运用》,揭秘VR的技术特征、行业现状和随着5G推进,VR产业的交互、硬件等方面的限制解放和规模化应用。 VR 四大技术特征 1、 轻量化是...
  • 首先介绍了电气自动的发展及煤机产品电气自动技术运用存在的价值,然后对电气自动技术采煤进行分析,最后阐述了煤机产品中的电气自动技术运用
  • 暗号运用

    2012-01-03 13:10:20
    今天突发奇想,如果暗号能这样用的话。。。 开一块自留地,不做过深的研究。 看得头昏也没办法,这个不是乱码。
  • 运用中点算法对直线进行光栅,直接输入直线的参数值。
  • 无人智能装备建设与运用研究.pdf
  • 序列与反序列之json、pickle、msgpack的简单运用 json json序列 dumps import json d = {'name':'Tom', 'age':20, 'interest':('music', 'move'), 'class':['python']} j = json.dumps(d) print(j, type(j)) ...
  • Java对象序列学习与运用

    千次阅读 2017-02-17 17:34:10
    java序列想必大家都已经或多或少听说过了,那么听起来如此专业的词汇究竟是做了什么事情呢,在实际中又如何通过代码来实现?在这一篇文章中,我就将我所学到的东西全部记录下来,与大家共享,希望对大家有帮助。 ...
  • 一、数组的扁平 数组的扁平是将一个多维数组变为一个一维数组 核心思想:遍历数组arr,若arr[i] 为数组则递归遍历,直到arr[i]不为数组的时候,再与之前的结果concat连接起来 二、数组的扁平实现 ES6的...
  • 海外的环保智慧基本建设发展较早,如纽约哈德森河的再生、佛罗里达海洋研究组织基本建设的富营养监测平台等从计划方案自主创新、关键技术、管理模式等层面都具备非常好的借鉴意义。 一、虚拟数字江河:哈德森河...
  • python protobuf序列repeated运用

    千次阅读 2012-05-22 15:41:15
    在python中利用google.protobuf序列数据进行通讯的时候,一定会遇到 repeated的数据如何去创建 在这里我给大家分享一下: import addressbook_pb2 person = addressbook_pb2.Person() person.id = 1234 person...
  • 都知道对象序列这个知识,可到底有什么用处?...2.今天通过实例来看看对象序列在网络通信的运用(socket) 3.对象继承序列接口import java.io.Serializable;public class TestObject implement
  • 因人类生产生活的需要, 自动流水线搬运的应用不断扩大, 成了各大型工厂的必备基础配套设施。 其主要是通过步进电机、 CKD马达、 SMC电动气缸、等来组成自动搬运系统。 二、设备原理 自动搬运系统的三个主要...
  • 三维可视技术都有哪些运用

    千次阅读 2020-04-30 09:42:49
    伴随着数据在当前互联网技术迅速发展壮大下变的层面更广,总数更大、构造愈来愈繁杂,大家如果想要更加清楚,迅速的认识和了解一份数据,传统的二维平面图数据图表现已不能够满足需求,三维可视技术越融合多媒体...
  • 最近陆陆续续使用Jupyter Notebook和Python可视做了一些小工具,用于提高开发效率。 这里将其归类总结一下,作为学习的记录。  
  • 日前,贵安新区就施行干部年检考核(试行)办法进行动员部署,大数据等现代信息手段的运用将是考核办法的一大特点。 据介绍,新区干部年检考核(试行)办法于今年1月1日正式施行,共6章29条,根据中央和省有关干部考核管理...
  • 数字孪生运用最开始产生于航天航空领域,其中,美国国家航空航天局和美国空军实验室是第一批数字孪生运用企业。近些年,数字孪生运用已从航天航空领域向工业各领域全方位扩展,西门子、美国通用电气等工业大佬竞相...
  • 服务器系统是各式各样应用程序的基础,现代的应用程序应该是经过版本控制,测试和自动等DevOps流程迭代生产出来的。 因此,寻找可以解决我们自动需求的配置管理工具是非常关键的一步。自动配置管理也能够抽象...
  • Unity - 序列 ScriptableObject、SerializedProperty 编辑器运用进阶拓展上一篇关于Unity 序列 编辑器运用上一篇是单独使用 一个类对象,下面将 List 运用到 序列中,将如 public List<Npc> npcList = new ...
  • 在今天的文章中,我们将讲述如何运用Elasticsearch的 ingest 节点来对数据进行结构并对数据进行处理。 Datasets 在我们的实际数据采集中,数据可能来自不同的来源,并且以不同的形式展展现: 这些数据可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,117
精华内容 10,046
关键字:

化运用