当前位置:  编程技术>综合
本页文章导读:
    ▪shell脚本      一、相关概念 1.shell:终端中的命令(人机交互)类似于windows中的批处理文件(*.bat) 2.shell的版本(/etc/shells) 3.shell命令的基本格式     提示符 命令 参数 操作数(ls -l /etc.........
    ▪使用Orange进行数据挖掘之分类(4)------SVM      SVM基本概念 简单的说SVM是一种对线性合非线性数据进行分类的方法。 以二维数据为例,中间的直线将数据分为两部分,分别用实心的圆点和空心的圆点表示。 对于上边的数据可能有很多直.........
    ▪Collada系统入门介绍      说明:Collada的文件格式,中文版的很少,在csdn上看到了一个Sleepy的感觉,也不是全面特别是没有图让我很伤感,所以我在这里加上了图,希望对大家有帮助。 一步一步的使用C++和OP.........

[1]shell脚本
    来源: 互联网  发布时间: 2013-11-05

一、相关概念

1.shell:终端中的命令(人机交互)类似于windows中的批处理文件(*.bat)

2.shell的版本(/etc/shells)

3.shell命令的基本格式

    提示符 命令 参数 操作数(ls -l /etc)

 

特殊格式:

    多条命令同时执行:命令1;命令2;...

            ls -l /bin bash;pwd

    输入输出重定向:

        [stdin (<):默认从键盘输入   编号:0

        (eg:cat  | cat <&0  | cat </php/a.c)

        stdout (>  >>):默认从显示器输出   编号:1

        >:覆盖原文件的内容

        >>:在原文件基础上进行数据的追加

        stderr:         编号:2

    /dev/null:相当于windows的回收站

        ]

 

    管道:

        格式:命令1|命令2|命令3|....

    后面命令的输入是前面命令产生的输出结果

 

4.shell脚本的运行、切换及退出

linux下的命令的执行:在bin、sbin下的命令直接输入命令的名称即可

linux下的应用程序怎么执行?

直接输入可执行程序的绝对路径  /home/***/a

进入应用程序所在文件夹 直接输入: ./a

运行的的如果为shell脚本:sh shell脚本的文件的绝对路径或相对路径

退出:exit退出到上一级的shell

 

补充进程树(pstree):父进程

            -----子进程

            ----子进程

 

5.echo的使用

echo 常量或变量

echo $var

var="hello"

echo hello|"hello"|'hello'

echo $var|"$var"|'$var'

echo `命令`

 

6、shell中的变量

系统变量:env

普通变量:根据作用域的不同分为全局变量和局部变量

局部变量的作用域当前的shell

局部变量---->全局变量(各层的shell中都有效):在声明变量的基础上用export var来将变量声明为全局变量。

Echo $var和echo  ${var}

Shell中数值的计算

将数值及公式赋值给变量需要在赋值表达式外加((var=1+2+3+4+5)),否则将数值或公式当作字符串处理

 

7.read的使用

Read var1 var2 var3…

(1)       输入的值的数量等于变量的个数

(2)       输入的值的数量大于变量的个数

(3)       输入的值的数量小于变量的个数

 

8.特殊变量

系统预置的变量(环境变量):env

$?:测试前一步操作是否成功,成功返回0否则返回1

利用sh命令可以进行变量的声明

$#:代表利用sh进行输入的变量值的个数

$*:列出所有变量的值

$1、$2…$9:代表前9个变量的值

访问$9以后的值需要进行移位:shift n:n为整数,表示变量值向左移动的位数

 

10.流程控制

If case while for

条件格式:

Test或[  ]([[  ]])来进行测试

Test 条件表达式

逻辑运算符:

逻辑运算符的“短路现象”:本质     0&&*都为0,所以*就不再执行

                                                      &nbs

    
[2]使用Orange进行数据挖掘之分类(4)------SVM
    来源: 互联网  发布时间: 2013-11-05
SVM基本概念

简单的说SVM是一种对线性合非线性数据进行分类的方法。

以二维数据为例,中间的直线将数据分为两部分,分别用实心的圆点和空心的圆点表示。

对于上边的数据可能有很多直线将数据区分开,如下

SVM通过搜索最大边缘超平面来选择最合适的超平面,因为具有较大边缘的超平面对于未来的数据分组分类更好的准确性。

分离超平面表示为:

W*X+b =0

位于超平面上方的点满足 W*X+b >0,位于超平面下方的点满足 W*X+b <0,

可以定义分离超平面的边缘为:W*X+b =1 和W*X+b =-1;边缘之间的距离可以推到为 2/|w|。

对于非线性可分的情况,需要按照如下两步扩展SVM:

  • 用非线性映射把原始数据据变换到高纬空间
  • 在新的空间搜索最大边缘超平面
  • Orange中的SVM

    Orange中的SVM基于LibSVM 、 LIBLINEAR 这两个库。提供了三个学习算法

    • SVMLearner

    • SVMLearnerEasy

    • LinearSVMLearner

    下面的例子使用了这三种算法:

    from Orange import data
    from Orange.classification import svm
    
    iris = data.Table("iris")
    svm_easy = svm.SVMLearnerEasy(iris,name="svm easy", folds=3)
    svm_normal = svm.SVMLearner(iris,name="svm")
    svm_linear =svm.LinearSVMLearner(iris,name="svm linear")
    
    for i in iris[:5]:
    
         print svm_normal(i),svm_easy(i),svm_linear(i),i.getclass()
    

    运行结果如下:

    Iris-virginica Iris-virginica Iris-virginica Iris-virginica
    Iris-virginica Iris-virginica Iris-virginica Iris-virginica
    Iris-virginica Iris-virginica Iris-virginica Iris-virginica
    Iris-virginica Iris-virginica Iris-virginica Iris-virginica
    Iris-virginica Iris-virginica Iris-virginica Iris-virginica


    下图用可视化的方式比较了svm和其它分类算法结果:



    参考资料

    数据挖掘:概念与技术 http://book.douban.com/subject/2038599/

    数据挖掘导论:http://book.douban.com/subject/5377669/



    作者:yiweis 发表于2013-1-5 16:35:19 原文链接
    阅读:25 评论:0 查看评论

        
    [3]Collada系统入门介绍
        来源: 互联网  发布时间: 2013-11-05

    说明:Collada的文件格式,中文版的很少,在csdn上看到了一个Sleepy的感觉,也不是全面特别是没有图让我很伤感,所以我在这里加上了图,希望对大家有帮助。

    一步一步的使用C++和OPENGL实现COLLADA骨骼动画

    第一部分

     

    英文原作者:waZim

    原文标题:Step by Step Skeletal Animation in C++ and OpenGL, Using COLLADA

    原文地址:http://www.wazim.com/Collada_Tutorial_1.htm

     

    Sleepy译

    译注:

    这是一篇详细介绍COLLADA文件(也就是DAE文件,3D模型文件的一种)格式的文章。之所以翻译这篇文章的原因,一是这篇文章的确写得很好很详细,另一方面关于DAE文件格式的中文资料非常的少,每次看E文的也累,所以正好翻译出来一了百了。

    我是从看dancingwind(周炜)与AKER翻译的NEHE Opengl教程开始学习Opengl的,对这些将外国的优秀文章和教程汉化的人,我向他们致以由衷的感谢,同时也以此译文向他们致敬。

    另外,本人E文水平有限,有些词翻译得不是很准(但我相信应该不会对阅读的人造成误导),如果发现错误和不完善的地方(估计会有很多),大家可以通过邮件与我交流,我会在第一时间更正错误。

    谢谢。 

                                                                                                  Sleepy

    本次修改:2011-09-08

    介绍:HI,我是waZim,欢迎来到我的第一篇骨骼动画的教程。这一系列教程由两部分组成:

    1.       了解如何读取COLLADA文件(概括的介绍COLLADA文件)。

    2.       用C++和OPENGL去真正实现第一部分所讲的内容。

    第一部份:

     

    阅读与理解COLLADA文件

           正如在前面的介绍部分里所说,这篇教程分为两个部份。第一部分的一般性的讲解并不考虑和涉及任何编程语言。但是如果你想直接跳到第二部分去看程序实现的话,你非常可能会感到完全无法理解从而无法继续下去。所以强烈建议对于COLLADA文件一无所知的初学者来说,还是耐心看完第一部分的介绍再去看第二部分的实现。

           废话不多说,让我们开始吧。

     

    COLLADA文件

           在我们准备开始深入挖掘COLLADA文件的意义之前,我希望你们先下载一个实例文件,这个文件我们将做为此教程从头到尾讨论的对象(所以大家还是下载回来对照参看吧)。大家可以在COLLADA模型中心中找到它。它的名字叫“astroBoy_walk.dae”,如果你到处都找不到这个文件,那么好吧,你可以到这篇教程所在网页的“下载”部分找到它。(我怎么找不到)

           就像我们之前所说的,COLLADA文件以XML的形式存储。现在大家可以打开前面所说的示例文件看看,你可以用你最喜欢的文本编辑器打开这个文件(IE就不错)。你会看到一个根结点名为“COLLADA”,如果你所用的文本编辑器支持展开与折叠XML结点的话(IE就可以),你可以通过点击+-号把各个结点展开收起来成这个样子:

    图1:COLLADA文件的概览

    在.dae文件或.xml文件的根结点<COLLADA>下你会找到很多library这样的东西,它们就是用来存储模型中各种不同各类的信息的。比如<library_geometries>就是用来存储几何数据的(就是三角形啊,还有所谓的mesh啊 – 另外mesh这个词好像大家叫成英文的比较多,下面遇到这个词就不译成中文了);<library_lights>则是用来存储光照和场景数据的。大家看看图1,并不是什么制造火箭般的高科技是不是,通过这些叫library_xx的东西我们能找到模型实际的各种数据。而像如几何数据的存储区会有<geometry>名字的结点,而光照数据的存储区会有叫<light>的结点,这表明这些数据存储区里存储的模型或光照数据常常不止一组。现在,让我们来一个一个地分析每个数据区,按照每个数据区的重要性不同,我会将它们合理的排列在这篇教程的不同位置。

    首先,为了让问题变得简单,正如我说的这是篇入门教程,所以我们不会讨论COLLADA文件的每一个方面,为了在教程中除去其中的复杂的部分,我们来设定几个前提条件。

     

    前提条件:

    1.              虽然无论COLLADA文件从Max中导出还是从Maya中导出照理说应该是一样的,但实际上在某些情况下总会有那么一点不同。我们只讨论从Max中导出的COLLADA文件,当然这并不是说用Maya的人就杯具了。因为我仍可以肯定的是,如果COLLADA从Maya中导出时,在弹出的COLLADA导出选项对话框中将“triangulate”这个选项钩上,并且以“背向矩阵”(backed matrices,我没用过Maya,也不知道是什么)方式导出的话,则与Max导出的是一样的。但是因为我有用过Maya,所以不知道我的导出器载入Maya导出的文件时会失败在什么地方。

    2.              COLLADA文件中必须仅仅只有一个mesh,这意味着任何在max文件中有用的数据都已经记录下来了(原文:which means, anything in the asset's Max file, should be attached.不知道该怎么译,不过好像对文章的内容并没影响)。所以我们在COLLADA文件中的<library_geometries>结点里不会看到多于1个的<mesh>结点。但如果我们能读取1个<mesh>,那我们同样的也能读取成千上万个<mesh>不是吗。

    3.              COLLADA里的几何图形是以三角形的方式记录的,因为这即使不是最好的,也是比较好的记录方式,我们可以直接提供三角形数据给OPENGL,所以我们让Max帮我们将图形导出为三角形记录的方式。

    4.              在稍后的实现部分,我们还假定我们所分析的COLLADA中只包含一个贴图文件。

    5.              COLLADA中的动画至少含有一个骨骼—--至少一个根骨骼(这是很典型的)。嗯,我想,我们能实现骨骼动画,我们简直是英雄般的人物。(原文:And I think that’s why we are here, to implement skeletal animation.)

    6.              导出到COLLADA中的硬动画必须以矩阵的形式保存,从本质上来说,在某些情况下这个形成一个动画的通道而其它情况下则会生成16个动画通道(什么是通道,我们稍后解释)。(原文:Animation exported to COLLADA must be baked in matrices, which essentially in some cases makes 1 channel of animation and in others 16 channels of animation (Now what is channel? It should be explained later).)

    7.              动画只在通道向对象实体施加变化影响时才有效,请把它们相像得尽量简单和清晰。如果你固化了矩阵,那么前面所说的事就理所当然的被完成了,所以不用担心这些。(原文:Animations can only be valid if the channel targets the "Transform" of the targeted entity, just to keep things clear and easy. When you will bake matrices, then you will have this automatically, so don't need to worry about that.)

    8.              动画不能包含嵌套的动画。

    9.              只支持骨骼动画(没有硬动画)(译注:那你前面说一大堆硬动画的事干毛啊。)

    10.          层次中的每个骨头都必须对某些皮肤产生影响,换句话说,它们都必须关联到皮肤上。

     

    请大家在脑中从头到尾一直保持上面所列的这些假设,让我们开始一个一个部分为你讲解。你会觉得一切都很容易,如果你立即跳到实现部分去看你也会发现这些原来并不难。下面的每一节中都会给出相应实现代码的链接

    从COLLADA文件中读取几何数据


        
    最新技术文章:
    ▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
    ▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
    ▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
    ▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
    ▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
    ▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
    ▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
    ▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类 iis7站长之家
    ▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
    ▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
    ▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
    ▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
    ▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
    ▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
    ▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
    ▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
    ▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
    ▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
    ▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
    ▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
    ▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
    ▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
    ▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
    ▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
    ▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
    ▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
    ▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
    ▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
    ▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
    ▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3