给新手的微单单反入门操作教程(来自豆瓣)

给新手的微单单反入门操作教程(来自豆瓣)
给新手的微单单反入门操作教程(来自豆瓣)

1.曝光篇:光圈、快门速度、ISO这些是干嘛的,如何控制曝光参数

光圈是控制进光量的,格式是 F 1/2.8,F 1/8这样子。数字越小,进光量越大,画面越亮。进光量的多少跟光圈数值的平方成反比,比如F4的进光量是F8的4倍。

因为在摄影中,每增加一档的曝光,进光量增加一倍,所以标准的光圈分档是:

F1.4,F2,F2.8,F4,F5.6,F8,F11,F16

两两各相差一档,最左边是最大光圈

光圈除了影响进光量以外,还会影响景深。光圈越大,景深就越浅,也就是画面中清晰的部分就越浅,背景虚化就越厉害。我们经常看到网上的背景虚掉,主体清晰的照片,就是用大光圈拍摄的。

一般来说,拍人像、静物我们多用大光圈,获得突出主体的效果。而拍风景则用比较小的光圈,比如F8,从而让照片的各个部分都是清楚的。而且一般镜头在最大光圈数值的两倍到三倍的位置达到最佳光圈,锐度最高,画面最清晰。比如18-55/3.5-5.6镜头一般在F8-F11左右拍出来是最清楚的。举个例子来说明:

大光圈,浅景深。人物清楚,但建筑是虚的

小光圈,全景深。人物建筑都清楚,而且因为接近最佳光圈,成像更

快门是控制曝光时间的,格式是1/2000s,1/50s, 0.5s这样子,第一个曝光时间最短,最后一个最长,快门时间增加一倍,进光量也增加一倍,标准的快门分档是:

1/4000s,1/2000s,1/1000s,1/500s,1/250s,1/120s,1/60s,1/30s,1/15s,1/8s,1/4s,0.5s,1s,2s,4s,8s,15s,30s,60s

最左边是最小快门

快门速度越快,捕捉的瞬间就越短。那么被摄主体在这段很短的时间内的运动就越少,同时拿相机的人的抖动也就越难被记录下来。摄影界有所谓的安全快门,就是说一般只要快门速度高于这个值画面就不会糊。这个值是等效焦距的倒数,比如d5100上镜头焦距调到35mm,等效焦距52mm,那么安全快门的值就是1/50s,比这个值再高,比如1/30s,就很容易会糊掉了。如果相机或镜头有防抖功能,那么还可以再降2-5档不等。比如55-200VR镜头的防抖差不多是4档,那么在200mm焦距时,等效焦距是300mm,不开防抖安全快门是1/250s,这个快门速度在室内或晚上一般拍出来都会太暗。但是如果开镜头防抖,就能够降4档到1/15s,这个快门速度就可以满足大部分暗光拍摄的需要了。

如果是拍小孩,因为小孩总是在动,所以快门往往要降到1/1000s以下才能拍到不糊的小孩。如果是高速运动,比如跨栏,或者要拍水滴溅起来的感觉,快门速度要降到1/8000s。

也有的时候会用到慢速快门,比如要拍瀑布,或者拍云彩,或者拍夜晚的车灯,为了拍出梦幻的感觉,可以将快门调到30s左右来拍摄,那么这30s里面的运动都被叠加在一起,如下图

ISO是感光度。感光度越高在同样的光圈和快门设置下,拍出来的画面也越亮。但是ISO越高,特别是超过一定范围后,成像的质量往往会变差,画面上会出现很多白色的噪点。大部分APS-C画幅的单反的ISO最好设置在800以下,好一点的像nex微单可以设到1600都还不错,差一点的比如600d可能只能到400。ISO分档:

100,200,400,800,1600,3200,6400,12800,25600

光圈提高一档,跟快门提高一档,跟iso提高一档的效果是一样的。所以同一场景F2,1/60s,ISO100的明亮程度跟F8(光圈降低4档),1/30s(快门提高1档),ISO800(ISO提高3档)画面的明亮程度应该是一样的。区别是前者光圈更大,所以景深更浅,背景更虚化;前者快门更快,所以画面糊掉的可能性更小;前者ISO更低,所以画面更干净。

那么实际拍摄中如何设置曝光参数呢。一般来说,我们首先根据所需要的景深确定光圈,如果是拍人像和静物,一般用最大光圈,比如F1.8,如果是风景,就调到中等光圈比如F8,然后再将快门速度调到安全快门,比如如果是35mm那么等效就是50mm,那么快门就是1/50,再把ISO调到最低如ISO100。如果此时画面太亮,那么可以把快门速度再降低到1/120。如果此时画面太暗,则可以把ISO再调高到ISO400或者ISO800。

一般来说,普通拍摄在白天阳光好的时候,拍人像一般是大光圈(F1.8),低ISO(ISO100),中速快门(1/500s),拍风景是小光圈(F8),低ISO(ISO100),安全快门(1/30s)。室内拍静物或半身像则是大光圈(F1.8),低ISO(ISO100),安全快门(1/30s)。夜景则是大光圈(F1.8),高ISO(ISO1600),安全快门(1/30s)。

如果要省事一点,那么拍风景可以把模式转盘调到P档,只要把ISO调低即可。拍人像静物可以用光圈优先模式(A档)把光圈调到最大,然后其他的靠自动设置。拍运动场景则用快门优先模式(S档),把快门调到最快,其他的自动设置。这样起码可以比自动模式拍的好很多,而因为入门相机没有足够的拨轮,相比手动模式(M档)只需要一个拨轮,设定参数会快很多

此外,现在很多相机有了HDR的功能,原理是通过合成曝光更亮和更暗的画面来使得画面中亮的地方不会太亮,暗的地方不会太暗,这样就解决了一幅画面中同时有特别亮和特别暗的部分照顾了一个没办法照顾另一个的问题,大家可以尝试下

二、色彩篇:巧用白平衡和色温设置

相机里面都有白平衡设置,有的甚至有色温K值设定。色温值设置越低,则白平衡补偿后实际色温越高,拍出来就越偏蓝,感觉越冷。相反就偏黄,偏暖。一般拍雪景,雪山,多用低K值设定(如2500k)。拍夕阳,秋景则多用高K值设定(如7000k)。

入门相机没有色温K值设置的功能的话,可以用阴天、阴影来替代高K值设定,用白炽灯模式来提到低K值设定。

高色温和低色温的示意如下图

画面低色温,或者机身高k值设定

画面高色温,或者机身低k值设定

要获得更漂亮的色彩,强烈推荐大家用lightroom这款软件进行后期色彩处理。这款软件用起来比photoshop要简单很多,又提供了丰富的色彩调整功能,同时也有预设的色彩调整方案(网上有更多的可以下载)可以一键自动调整,调整出来的画质要比光影魔术手和美图秀秀之流好看很多。

给大家看一些前几天我用Lightroom快速调整的几张照片

调整前

调整后

调整前

调整后

调整前

调整后

调整前

调整后

调整前

调整后

三、一些拍摄技巧

找一个有人物有风景的画面,尝试用不同焦距和不同光圈拍摄,来体会焦距改变带来的透视关系的改变(比如同样是拍全身人像,用200mm要比50mm退后很多,透视关系就变了)和光圈改变带来的景深的改变。

用lightroom多尝试不同的色彩调整的不同风格。

拍人像除了用大光圈标准镜头(50/1.8这样的镜头)以外,也试试看用长焦端离远了拍,人物和背景

会被压缩在一起,有一种超然世外的感觉。

拍风景也是同样可以多试试长焦端。如果焦距不够,可以拍完了以后只裁剪画面中的一小部分,跟用长焦镜头拍的效果是一样的。现在相机像素都很高,但是传到网上一般也就几百的分辨率,所以不用怕裁剪。

在街上拍别人的时候,直接拿相机对着别人拍可能会引起反感,这时候可以尝试把翻转屏翻上来屏幕朝上,用翻转屏取景,这时候别人就会以为你在看相机上的照片,不会意识到你在拍他。用这种方法拍人文纪实(有人物有环境)照片,可以用广角端尽管靠近被摄人物来获得有张力的视角。

光线很重要,黑天前两个小时左右的阳光是最漂亮的,可以在这个时候在室外找个风景漂亮的地方拍人像,多试试看顺光、逆光、测光的效果。这个时候也很适合去咖啡厅找个朝西的窗户坐下来,利用温柔的阳光和咖啡厅内部的装饰和摆件用大光圈镜头拍一些好看的糖水半身人像和静物

不要忙着升级相机和镜头。如果玩腻了手上的器材,你应该优先考虑购买三脚架、滤光镜和闪光灯。三脚架可以用来长时间曝光来拍风景和夜景,偏振滤光镜可以用来消除反光使得水面更纯净,,外置闪光灯可以把光打到人物或静物的侧面和背面。

相机到四五千块的APS-C画幅的水平,再花个两千块左右配一个变焦镜头和一个定焦大光圈镜头,就很够了。再升级相机和镜头,好几千块钱砸进去,往往画质只提高了传到网上去根本看不出的那么一点,便携性却反而下降很多。

最后祝大家买了相机都能带着它多走、多看、多拍,发挥它的价值

CAD Auto最新软件 大全套

最新软件Auto CAD 大全套+天正2013系列软件{安装前请注意查看安装教程说明和cad安装相关问题解决方法} 半包烟/一张面膜的钱,亲们看过就知道,到底不值! 刚刚看到一段子很搞笑,说:公司给每位外籍员工发 了粽子,今天有个老外很感谢地说:“你们发的点心很好吃,谢谢,就是外面的生菜有点硬,不过想的很周到,牙线都准备好了……“ 祝亲:CAD学习愉快! 由于电子资料的可复制性,凡24小时内五星带字好 评后(务必是积极肯定的评语超过30字以上哦)再 赠送余下宝贝详情对应资料(好评后携邮箱号找店主索取,店主不在时直接留言即可),望亲理解!愿本店的宝贝对您有所帮助,欢迎您的再次光临祝您学习进步事业有成!! {由于宝贝价格低廉店主整理又来之不易亲务必五星带字好评哦!生活所迫,有时候不在电脑旁不能及时回复的 还希望亲们理解,下载安装问题请旺旺留言即可,任何不满意的地方请旺旺找店主协商沟通不要随便给予中差评哦没多少钱得个中差评实在不值得店

主诚心想打理好小店望亲们体谅掌柜的苦衷,谢 谢} 注意的问题: 1、进入衔接地址,相关链接。XP系统直接选32位即可,win7 WIN8系统要看自己的电脑属性(右键点击我的电脑—属性),查询到本电脑的操作系统是32位还是64位,然后去下载对应系统位数的CAD 和注册机 2、安装前最好先退出杀毒软件,安全卫士,管家之类软件,以免安装不成功。如果杀毒软件提示并删除注册机,请务必关闭杀毒软件,注册机是激活的插件,安全级别高的杀毒软件会把它误认为删除,放心好了,本软件绝对没毒既然拿出来卖没必要忽悠大家,软件接触多了,道理自然明白。 3、安装请看“图文安装教程说明”和“常见问题汇总与解决方法”(务必看) 4、对先点击相关链接下载即可然后就知道怎么安装,务必先下载哦。对应软件的安装程序、相关注册机以及安装激活教程都有的, 下载页面的右边有下拉滚动条,下载时候可以下拉看 下; 5、当不能直接点击下面链接下载时,请把下面链接复制到浏览器地址栏便可下载; 6、放CAD软件的文件夹的命名不能出现中文,如果是中文的要改为英文或者拼音,安装的路径也一样不能出现中文,否则会安装不成功。

ModelSim使用的一点心得体会

ModelSim使用的一点心得- - 1、至今还没有弄明白为什么要用ModelSim,因为看波形Quartus II自带的工具就可以了啊。 2、我刚刚接触modelsim,我想大多数菜鸟跟我一样,看过如何使用ModelSim的介绍,说句实话,那些介绍写的都太过简单,仿佛大家都不屑写上一些比较“弱智”的步骤,恰恰就是这些看似累赘的步走,难为我好久。 教程上都写道,modelsim的简单使用方法如下:建立库- 影射库到物理目录- 编译代码- 启动仿真。首先建立库就叫我头晕。库的概念用在这儿实在不合适,把我吓坏了,也就没心思看下一步了。在我看来,教程应该这么写: <1> 建立一个目录modelsimStudy。用任何文本编辑器编辑一个简单的例子程序,比如计数器counter.vhd。有clk、ena、reset输入,cnt作为输出。 <2> 打开Modelsim,首先create project,工程名随意取了,比如命名为test,目录设在modelsimStudy下,默认的库work不变(这样就不用管什么建立库之类的东西了)。然后add existing file,把counter.vhd加入当前工程。 <3> 编译这个文件,通过之后,work下面会出现counter这个实体。然后选中它,右键,simulate(左键双击也可)。 <4> ModelSim有很多窗口(新手就怕这个),一开始只要选择view下面的objects 和wave窗口就行了。旧版的signal窗口在6.0的版本改名为Objects(这个我是摸索了好久才发现的,是不是太笨了?)。wave窗口刚打开时是空的,需要在objects窗口的add -> wave -> signals in region。这时,wave上就有clk\ ena \ reset等信号了。 <5> 我们给clk来个输入激励,在object窗口中选中clk,右键选clock,给它定义个时钟。

modelsim完美教程

准备事项 1.ModelSim试用版下载 2.范例程序下载(史丹佛大学一门课的期末专题Implememtation of Viterbi Decoder:constrain length K=3, code rate R=1/2, register-exchange) 整个project共含7个Verilog程序:system.v (top-level) |-- clkgen.v |-- chip_core.v |-- controller.v |-- spu.v |-- acs4.v |-- acs1.v (或是另外一个Verilog的简单例子,可以从C:\ SynaptiCAD\ Examples\ TutorialFiles\ VeriLoggerBasicVerilo gSimulation\ add4.v and add4test.v) (或是另外一个VHDL的简单例子,可以从C:\ Modeltech_5.7e\ examples\ adder.vhd and testadder.vhd) ModelSim PE /LE /SE 差别在哪? 本篇文章内容主要在教导软件使用,以Verilog程序为范例。假设各位读者已经熟悉Verilog,废话不多说,让我们马上来见识一下ModelSim ... 快速上手四部曲:建立Project、引进HDL Files、Compile、模拟(Simulate/Loading and Run) 1.建立一个新的Project 1-1 第一次执行程序时,可以从[开始] \ [程序集] \ ModelSim SE \ ModelSim;或是执行ModelSim在桌面的快捷方式

Ruby的简单实例

Ruby的简单实例 ?出处:站长百科 ?原文地址:https://www.360docs.net/doc/4d13392544.html,/wiki/Ruby的简单实例 ?本电子书整理自站长百科Ruby简单实例词条,查看内容请访问网站。 让我们写一个计算阶乘的函数.对于阶乘的数学定义如下: n! = 1 (当 n==0 时) = n * (n-1)! (其它情况) 在Ruby里,可以这样来写: def fact(n) if n == 0 1 else n * fact(n-1) end end ?出处:站长百科

你可能会发现 end 的反复出现,正因为如此,Ruby被叫做"类Algol"语言.(实际上,Ruby的语法更像Eiffel).同时,你也可能会发现这段函数缺少 return语句.在这里是可以用return的,但却不是必须的,因为一个Ruby的函数会自动返回它所最后赋值的元素. 让我们来试试我们的阶乘函数.加入一行代码会使它成为一个可工作的程序: # Program to find the factorial of a number # Save this as fact.rb def fact(n) if n == 0 1 else n * fact(n-1) end end print fact(ARGV[0].to_i), "\n" ?出处:站长百科

这里,ARGV是一个包含命令行参数的数组,to_i将字符串转化为整数. % ruby fact.rb 1 1 % ruby fact.rb 5 120 当参数为40时它可以工作吗?它将使你的计算器产生溢出(overflow)... % ruby fact.rb 40 815915283247897734345611269596115894272000000000 它确实算出来了.实际上,Ruby能处理任何你机器的内存所允许的整数.实际上400!也可以: % ruby fact.rb 400 6403452284662389526234797031950300585070258302600295945 8684 4459428023971691868314362784786474632646762943505750358?出处:站长百科

ModelSim软件仿真步骤教程

使用ModelSim模擬驗證HDL code 1.在模擬前先準備好我們要模擬的電路檔案(Verilog HDL,TestBench,…) 2. 打開ModelSim,新建一個Project,鍵入Project name 按OK。此處我們的library name 為default library name “work”不必更改。 3.然後再加入我們所要模擬的電路檔案(若尚未準備,可開啟新檔案再將code 鍵入)選Add Existing File,將我們已編輯好的檔案加入。 將我們所需要的檔案加入,按Browse選擇我們所需檔案count.v,

count_test.vt),按下OK。 再將先前所開啟的增加檔案的視窗關閉,按close。 4.按下compile all。

Compile成功沒有顯示出錯誤訊息, 則開始模擬波形 5.按下Simulation, 選擇檔案所在的Library (work), 點選TestBench的Module Name t_Gap_finder 按OK 6.承接上步驟將會跳出以下視窗,若要將所有訊號加入波型中觀察則選擇在 testbench的module name: count_tst按滑鼠右鍵選擇→ Add → Add to Wave。

7.在波型畫面按下Run All開始模擬 跑完後會跳出下面視窗選擇否則可觀察模擬波形,若按下是則會將ModelSim關閉。

8.觀察波形圖是否與功能符合,若與設計不符則修改設計並重複執行Step 4到 Step 8 Testbench語法 `timescale 1 ps/ 1 ps 前面的1ps代表程式中最小的時間單位 後面的1ps代表運算的精準度

Groovy_快速入门

Groovy 快速入门
1、集合 、 (1)List (java.util.List) ) list = [1, 2, 'hello', new java.util.Date()] assert list.size() == 4 assert list.get(2) == 'hello' 注意:一切都是对象(数字会自动转换) (2)Map (java.util.Map) ) map = ['name':'James', 'location':'London'] assert map.size() == 2 assert map.get('name') == 'James' (3)遍历集合 ) list = [1, 2, 3] for (i in list) { println i } 2、闭包(Closures) 、闭包( ) ? 闭包类似 Java 的内类,区别是闭包只有单一的方法可以调用,但可以有任意的参数 closure = { param | println("hello ${param}") } closure.call("world!") closure = { greeting, name | println(greeting + name) } closure.call("hello ", "world!") 闭包用“{}”括起,“|”前面是参数,后面是处理语句,使用 call 调用 这里我们使用了一个 Groovy-Beta3 闭包定义, 只是为了让您能看懂老版本 Groovy 的一些例子。 在 新的 Groovy JSR 中对闭包的定义略有改动, 因为 | 字符同时也是 Java 中的位操作符; Groovy JSR 建议使用 Nice (另外一种 JRE 语言)样式的 -> 分隔符代替它。 ? 第一个例子演示了在字符串内使用参数的形式:${param} ? 第二个例子演示了多参数形式:用“,”分隔参数 ? 如果只有一个参数,可以不写,而使用缺省的参数“it”,如下面的例子: closure = { println "hello " + it } closure.call("world!") 3、each 、 ?
遍历集合,逐个传递给闭包
[1, 2, 3].each { item | print "${item}-" } ? 上面例子的输出结果是:1-2-3-

ModelSim-Altera_6.5仿真入门教程

平台 软件:ModelSim-Altera 6.5e (Quartus II 10.0) Starter Edition 内容 1 设计流程 使用ModelSim仿真的基本流程为: 图1.1 使用ModelSim仿真的基本流程 2 开始 2.1 新建工程 打开ModelSim后,其画面如图2.1所示。

图2.1 ModelSim画面 1. 选择File>New>Preject创建一个新工程。打开的Create Project对话框窗口,可以指定工程的名称、路径和缺省库名称。一般情况下,设定Default Library Name为work。指定的名称用于创建一个位于工程文件夹内的工作库子文件夹。该对话框如图 2.2所示,此外还允许通过选择.ini文件来映射库设置,或者将其直接拷贝至工程中。

图2.2 创建工程的对话框 2. 按照图2.3所示,设置Project Name为LED_FLOW,Project Location为D:/led_flow。 图2.3 输入工程信息 当单击OK按钮后,在主体窗口的下方将出现Project标签,如图2.4所示。 图2.4 Project标签

3. 之后,将出现Add Items to the Project的对话框,如图2.5所示。 图2.5 在工程中,添加新项目 2.2 在工程中,添加新项目 在Add Items to the Project对话框中,包括以下选项: ?Create New File——使用源文件编辑器创建一个新的Verilog、VHDL、TCL或文本文件?Add Existing File——添加一个已存在的文件 ?Create Simulation——创建指定源文件和仿真选项的仿真配置 ?Create New Folder——创建一个新的组织文件夹 1. 单击Create New File。打开图 2.6所示窗口。 图2.6 创建工程文件夹 2. 输入文件名称:LED_FLOW,然后选择文件类型为Verilog。

Ruby字符串

Ruby字符串 ?出处:站长百科 ?原文地址:https://www.360docs.net/doc/4d13392544.html,/wiki/Ruby‐字符串 ?本电子书整理自站长百科Ruby‐字符串词条,查看内容请访问网站。 站长百科(https://www.360docs.net/doc/4d13392544.html,/wiki)站长自己的百科全书分享自己的建站知识 WIKI平台与站长一道共建知识库站长百科活动不断论坛发帖赚银币! 参加1美元竞拍更有机会赢2G超大免费空间! 超值好礼等您拿 Ruby将字符串像数字一样处理.我们用单引号('...')或双引号("...")将它们括起来. ruby> "abc" "abc" ruby> 'abc' "abc" 单引号和双引号在某些情况下有不同的作用.一个由双引号括起来的字符串允许使用转义字符,就是反斜杠开头的字符,而且可以用#{}内嵌表达式.而单引号括起来的字符串并不会对字符串作任何解释;你看到的是什么便是什么.几个例子: ?出处:站长百科

ruby> print "a\nb\nc","\n" a b c nil ruby> print 'a\nb\n',"\n" a\nb\nc nil ruby> "\n" "\n" ruby> '\n' "\\n" ruby> "\001" "\001" ruby> '\001' ?出处:站长百科

"\\001" ruby> "abcd #{5*3} efg" "abcd 15 efg" ruby> var = " abc " " abc " ruby> "1234#{var}5678" "1234 abc 5678" Ruby的字符串操作比C更灵巧,更直观.比如说,你可以用+把几个串连起来,用*把一个串重复好几遍: ruby> "foo" + "bar" "foobar" ruby> "foo" * 2 "foofoo" 相比之下,在C里,因为需要精确的内存管理,串联字符串要笨拙的多: char *s = malloc(strlen(s1)+strlen(s2)+1); ?出处:站长百科

《Ruby on Rails敏捷开发最佳实践》PDF教程

《Ruby on Rails敏捷开发最佳实践-精典章节收录》PDF教程 申明:本PDF教程由https://www.360docs.net/doc/4d13392544.html,网站搜集整理,如需转载,请务必注明出处。介绍:Ruby On Rails框架一经推出,立即引起B/S结构应用开发领域革命性的变化:开发者无需理会架构,只需要按Rails框架的约定向应用中填充代码,一切OK。 为了让众多Ruby On Rails学习、工作者,以及准备使用Ruby On Rails作为开发平台的开发人员能快速掌握Ruby On Rails的开发,作者精心编写了本书,书中既详细讲解了Ruby语言的基本语法,又重点介绍了Rails框架相关知识点的各种用法。最后给出两个综合案例,作为Ruby On Rails应用开发者的参考,读者可以通过这两个案例触类旁通,解决日常开发中的问题。 读者对象 本书适用于正在使用Ruby On Rails进行应用开发的开发人员、渴望了解Ruby On Rails框架的开发人员,尤其适合有初步的Java EE开发经验,想从Java EE平台过渡到Ruby On Rails开发平台的开发者。(未完待续) https://www.360docs.net/doc/4d13392544.html,

第15章Rails 的邮件抽象层 本章要点 ·电子邮件的基础知识 ·SMTP 协议初步 ·POP3协议初步 ·在Ruby 程序中使用SMTP 支持发送邮件 ·在Ruby 程序中使用POP3支持接收邮件 ·ActionMailer::Base 的邮件支持 ·在Rails 应用中发送邮件 ·发送HTML 格式邮件 ·发送带附件的邮件 ·电子邮件在实际应用中的用途 ·账户需要激活的优势 ·实现注册激活系统 15.4注册激活系统 本章将介绍一个注册激活系统,当用户输入注册信息时,必须输入有效的邮箱,当用户注册成功后,并不能立即登录系统,而要登录注册时输入的邮箱,然后通过该邮箱内的激活邮件来激活自己账户。通过这种方式可以防止用户恶意注册,保证用户必须输入有效的邮箱地址。 15.4.1基本注册功能 当用户注册一个账户时,实际上就等同于向底层数据表增加一条记录,因此本应用必须有持久层支持。本示例应用的注册功能需要一个数据表支持,该数据表用于保存系统的所有注册账户。下面是本应用的数据库脚本: drop database if exists regist_development; create database regist_development; use regist_development; --创建用户表 create table users ( id int not null auto_increment,

ruby入门教程 免费篇

介绍 这是一个短小的Ruby入门,完全读完只需20分钟。这里假设读者已经安装了Ruby,如果你没有安装的话,请在阅读文前访问Ruby 官方网站进行下载并安装。 交互式的Ruby 打开IRB(交互式Ruby外壳): 如果你使用Mac OS X,那么请打开终端窗口输入irb; 如果你使用Linux,那么请打开shell输入irb; 如果你使用windows,那么请在开始菜单中找到Ruby->fxri,并执行它。 Ok,在打开IRB之后,在其中输入"Hello World"。 Ruby听从你的安排! 发生了什么?我们刚才编写了世界上最短小的“Hello World”程序吗?这么说不太确切。第二行输出是IRB告诉我们:上一个表达式的评

估结果。如果我们希望打印出“Hello World”,那么就还需要一点努力: puts在Ruby中是一个简单的打印输出命令。后面的“=>nil”表示什么?——那是表达式的结果。Puts总是返回nil,这是Ruby中表示“绝对无值”(absolutely-positively-nothing value)的方式,看上去有些类似Java中的null。 你的免费计算器在这里! 无需做什么,我们就能把IRB作为一个简单的计算器使用: 这样就能计算3+2。够简单的!那么3乘以2如何?你可以在下面继续输入3*2,也可以回到上面(3+2处)重新修改你刚刚输入的计算公式。使用键盘上的向上键,使光标到达3+2那一行,再用左键移动光标到加号上,然后使用空格键进行修改。

下面,让我们尝试计算3的平方: 在Ruby语言中,**表示幂运算。那么如何计算平方根呢? Ok,等一下,表达式中的sqrt(9)表示什么?你一定能猜到这是计算9的平方根。而Math表示什么?不要着急,下面就让我们进一步了解像Math这样的模块。 模块——按照主题分组的代码 Math是Ruby内建的数学模块。在Ruby中,模块提供了两种角色:一种角色是将类似的方法聚集在同一个“家族”名下。因此,Math 也包括sin、tan这样的方法。第二种角色是一个圆点(dot),它标记了消息的接收者。什么是消息?在上面的例子中,sqrt(9)便是消息,它意味着调用sqrt方法取出9的平方根。 Sqrt方法调用的结果是3.0。你可能注意到它并不是3。这是因为多数情况下,数字的平方根并不是整数,所以这里返回了一个浮点数。

modelsim新手入门仿真教程

Modelsim新手入门仿真教程 1.打开modelsim软件,新建一个library。 2.library命名 3.新建一个工程。

3.出现下面界面,点击close。 4.新建一个verilog文件 键入主程序。下面以二分之一分频器为例。

文件代码: module half_clk(reset,clk_in,clk_out); input clk_in,reset; output clk_out; reg clk_out; always@(negedge clk_in) begin if(!reset) clk_out=0; else clk_out=~clk_out; end endmodule 编辑完成后,点击保存。

文件名要与module后面的名称相同。 5.再新建一个测试文件,步骤同上面新建的主程序文件,文件名后缀改为.vt 程序代码如下: `timescale 1ns/100ps `define clk_cycle 50 module top; reg clk,reset; wire clk_out; always #`clk_cycle clk=~clk; initial

begin clk=0; reset=1; #10 reset=0; #110 reset=1; #100000 $stop; end half_clk m0( .reset(reset), .clk_in(clk), .clk_out(clk_out)); Endmodule 6.添加文件,编译文件 先右键点击左边空白处,选择add to project→existing File 选择刚刚新建的两个文件。按ctrl键可以同时选择两个,选择打开,下一步点击ok

《VR网球2009》技术指导 从入门到精通指南

《VR网球2009》技术指导从入门到精通指南VR网球系列也玩了有2年了,VT2009面世之后,有很多新接触VT系列的玩家都开始尝试这款游戏。因为网球在中国的普及率实在算不上高,很多玩家甚至对网球这项运动本身都没什么了解,于是问题是一个接一个的出现。为了让大家更好地了解VR网球,更好地在游戏中找到快感,在下结合自己玩VR网球这些年的经验,斗胆为大家整理出一套相对比较系统的练习教程,供大家参考。 一、前言 首先,这部教程并非仅针对于VT2009,鉴于VT3和VT2009的操作方式如出一辙,这套教程同样适用于VT3。 其次,是本文牵涉到的一些术语: TOP SPIN:抽击 SLICE:切球 LOB:高球 Volley:截击 Smash:扣杀 Angle:角度 Drop xxx:小球,主要分两种,Drop Shot和Drop Volley,区别在于前者是在底线击球,后者是在网前截击,回击的效果类似,球的落点都在发球区以内,弹跳高度很低。但是这两者的打法是不一样的,后面会有详细叙述。 二、基本教程 1.发球篇 发球无外乎2个要素:速度和角度。速度很简单,发球时MAX即可。这个需要手感的积累,多加练习会熟悉的。 重点来说下角度,看下图,发球的最佳落点是图中2个黄圈处,左边的称为“外角”,

右边的称为“内角”。发球发到内角,球速会打到最大,而发到外角速度会有10KM/H左右的衰减。 一般情况下都是发内角球,在蓄力条出现,蓄力到大概1/4左右时就可以开始按方向键了(因人而异,并不是每个球员都是如此,不同的球员方向键按下的时机都略有区别)。 最理想的情况就是压线+MAX,如果此时有210KM/H以上的球速,90%会是一个ACE球,即使对手救到球也有很大可能会OUT。在自己的发球局,强力的发球是最好的武器,切记! 关于下手发球(Drop Serve):“下”+LOB,很多人都知道这个发球方式,但是实用性一般,除非你是发球上网的达人,这招还是不要用了,很可能被对手在网前打出一记斜线抽击直接丢分。 2.底线技术 底线技术的核心就是预判跑位,及时、准确的跑位能确保自己的回击力量和角度兼备。在这里,底线技术主要讲2种技术——Angle Shot和Drop Shot。 先说Angle Shot,这是底线技术中十分重要的一项技术,顾名思义,这种回球是注重角度的变化,怎么变化呢?还是看图。

ModelSim新手使用手册

ModelSim最基本的操作,初次使用ModelSim的同学,可以看看,相互学习。 无论学哪种语言,我都希望有个IDE来帮助我创建一个工程,管理工程里的文件,能够检查我编写代码的语法错误,能够编译运行出现结果,看看和预期的结果有没有出入,对于Verilog语言,我用过Altera的Quartus II,Xilinx的ISE,还有ModelSim(我用的是Altera 官网的ModelSim_Altera),甚至MAXPlus II,不过感觉这软件太老了,建议还是前三者吧。 学Verilog,找一本好书很重要,参考网友的建议,我也买了一本夏宇闻老师的《Verilog 数字系统设计教程》,用Quartus II来编写代码,个人觉得它的界面比ISE和ModelSim友好,我一般用它编写代码综合后自动生成testbench,然后可以直接调用ModelSim仿真,真的很方便,但学着学着,发现夏老师书里的例子很多都是不可综合的,比如那些系统命令,导致很多现象都发现不了,偶然间我直接打开了ModelSim,打开了软件自带的英文文档,步骤是:Help ->PDF Documentation->Tutorial如下所示: 打开文档的一部分目录: 往下读发现其实ModelSim可以直接创建工程,并仿真的。下面以奇偶校验为例叙述其使用过程(当然前提是你在Altera官网下载了ModelSim并正确安装了)。 1.打开软件,新建一个工程,并保存到自定义的目录中(最好别含中文路径) 2.点击Project,弹出窗口问是否关闭当前工程,点击Yes,接着又弹出如下窗口

我个人的习惯是把Project Name和Default Library Name写成一样,自己定义Project Location。又弹出如下窗口: 3.点击Close(我的版本不能Create New File,其实新建好了工程一样可以新建.v文件),然后点击屏幕下方的Project标签: 如果一开始不是如上图所示的界面,那么可以点击如下图所示红色标记的按键变成上图界面:

Ruby语言入门教程

Ruby语言入门教程 Version0.6 编著张开川 kaichuan_zhang@https://www.360docs.net/doc/4d13392544.html,

目录 自序 (3) 第一章概述 (4) 1.1编程语言的发展简史 (4) 1.2编程其实很容易 (5) 1.3Ruby的由来 (6) 1.4Ruby的特性 (7) 第二章 (8) 2.1下载Ruby1.8.5 (8) 2.2安装Ruby1.8.5for Windows (8) 2.3开始第一个小程序 (10) 2.4ruby语言的集成开发环境 (12) 第三章语法快览 (14) 3.1注释与分行 (14) 3.2分隔符 (15) 3.3关键字 (16) 3.4运算符 (17) 3.5标识名和变量的作用域 (19) 3.6类库 (19) 3.7数据类型 (20) 3.8赋值和条件运算符 (21) 3.9条件判断语句 (22) 3.10循环语句 (24) 3.11常与线程 (29) 3.12一个综合小练习 (30) 第四章一切都是对象 (31) 4.1两种思维方式 (31) 4.2对象 (32) 4.3封装 (33) 4.4继承 (34) 4.5多态36小跋37

自序 其它编程语言的学习都主要来自于书本,而Ruby的学习却是完全经由网络。我想,回报网络的最好方式就是在网络上还没有Ruby中文书籍的时候,编著一本Ruby中文入门教材。感谢编程语言发展史上的前辈们;感谢网络论坛上程序员们或是理智,或是激烈的讨论;感谢一切看到这本书的人。 曾经经受了SCJP的挖掘、挖掘、再挖掘(基于1.4,还没有Java5,Java6的许多特性),初遇Ruby,觉得十分亲切,仿佛童年时得到一个新奇的玩具。把玩之后,才发现玩具的塑料外壳里,藏着一把瑞士军刀。自此,模式、框架常常变得多余,很多时候可以更直接。好比在量子时代,星际航行只是一次时空转换而已,航天飞机静静地躺在博物馆里,那是旧时代科学的极致代表。 从物理课本中,我们感受到爱因斯坦的伟大,但对牛顿则怀以更加崇敬的心情。身体终将消逝,而你,我,他——我们的意识却将在网络中延续。旧时代文明的延续依赖于纸质书籍,书籍传递了理性之光。也许直觉才是这个宇宙本体的最初相用,直觉是一种天赋,我无从把握,但是理性,如此真切实在,她照亮了我,照亮了你,直到未来。 思,亘古如斯又倏忽闪现,谁的惊愕能深究它。 ——海德格尔 张开川 2006年12月31日

Unity3D游戏开发教程-Unity3D游戏引擎实战开发从入门到精通

unity3d游戏开发教程-Unity3D游戏引擎实战开发从入门到精通(坦克大战项目实战、NGUI开发、GameObject) 一、Unity3D游戏引擎实战开发从入门到精通课程是怎么样的一门课程(全面介绍) 1.1、unity3d游戏开发教程课程的背景现如今游戏已经成为了人们生活中不可或缺的一部分。不经意间,你在公交上,在地铁里,在商场中,办公室里,都可以看到各式各样的人在用不同的途径玩着各种各样的游戏。可以说,游戏是一个前景非常美好的行业。有PC端的玩家,有网页端的玩家,也有移动端的玩家。他们可以通过不同的途径来娱乐自己喜欢的游戏,走到哪里,都可以看到这些已经渗入到人们的生活里了。那么从程序的角度,要实现这些不同平台的互通,我们要怎么实现呢?如何通过一次编码,全平台运行呢?Unity3D就是本着这样的需求而诞生的。 unity3d游戏开发教程,Unity3D可以让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。已经实现了跨平台。可以在移动端,pc端和网页端互通了。一次编码,发布不同平台就可以了。所以现在Unity3D 也成为开发人员的首选编程语言了。其制作3D游戏,也就分分钟的问题。非常的方便。易懂易学。通过Unity简单的用户界面,玩家可以完成任何工作。这些为玩家节省了大量的时间。 所以本unity3d游戏开发教程课程将通过实例来讲解Unity3D的开发过程。由浅入深的,让学者快速的掌握Unity3D开发的要领及Unity3D的知识点。达到快速开发的目的。 1.2、Unity3D游戏引擎实战开发从入门到精通课程内容简介:unity3d游戏开发教程由浅入深的介绍Unity3D的开发流程。从软件使用到API接口的使用,从成品到优化。介绍整个Unity3D的基本开发过程及开发中碰到的基础问题进行深入讲解。对代码重构及代码优化做出示例,让学员能逐步的了解Unity3D开发的注意点。讲解Unity3D软件界面的使用,Unity3D组件的介绍,使用C#编写Unity3D 及Unity3D GUI(NGUI)的介绍和游戏简单AI的编写,让学员能够把握Unity3D开发的方向,成为一名合格的游戏开发人员。 1.3、Unity3D游戏引擎实战开发从入门到精通课程大纲: unity3d游戏开发教程第一讲:Unity3D引擎初识 unity3d游戏开发教程第二讲:GameObject认识 unity3d游戏开发教程第三讲:Unity3D组件添加一 unity3d游戏开发教程第四讲:Unity3D组件添加二 unity3d游戏开发教程第五讲:Unity3D组件添加三 unity3d游戏开发教程第六讲:资源的导入及预制 unity3d游戏开发教程第七讲:游戏地形的制作 unity3d游戏开发教程第八讲:NGUI三讲之第一讲 unity3d游戏开发教程第九讲:NGUI三讲之第二讲第十讲:NGUI三讲之第三讲第十一讲:Unity3D 实例预热第十二讲:实例-坦克组装一 unity3d游戏开发教程第十三讲:实例-坦克组装二第十四讲:实例-敌方AI一第十五讲:实例-敌方AI二第十六讲:实例-场景界面UI制作 unity3d游戏开发教程第十七讲:实例-游戏结束界面第十八讲:实例-游戏环境设置 unity3d游戏开发教程第十九讲:实例-游戏的发布

modelsim详细使用教程(一看就会)

Modelsim详细使用方法 很多的modelsim教程中都讲得很丰富,但忽视了对整个仿真过程的清晰解读,而且都是拿counter范例举例子,有些小白就不会迁移了。这里我们着眼于能顺利的跑通一个自己写的程序,一步一步的讲解,如果你是一个初学者,这再适合你不过了,虽然貌似字写得比较多,那是因为写得相当的详细,一看就会啦O(∩_∩)O~ 一、建立工程 1、在建立工程(project)前,先建立一个工作库(library),一般将这个library命名为 work。尤其是第一次运行modelsim时,是没有这个“work”的。但我们的project 一般都是在这个work下面工作的,所以有必要先建立这个work。 File→new→library 点击library后会弹出一个对话框,问是否要创建work,点击OK。就能看见work.

2、如果在library中有work,就不必执行上一步骤了,直接新建工程。 File→new→project 会弹出 在Project Name中写入工程的名字,这里我们写一个二分频器,所以命名half_clk,然后点击OK。 会出现

由于我们是要仿一个自己写的程序,所以这里我们选择Create New File。 在File Name中写入文件名(这里的file name和刚刚建立的project name可以一致也可以不一致)。注意Add file as type 要选择成Verilog(默认的是VHDL),然后OK。 发现屏幕中间的那个对话框没有自己消失,我们需要手动关闭它,点close。 并且在project中出现了一个half_clk.V的文件,这个就是我们刚刚新建的那个file。 这样工程就建立完毕了。 二、写代码: 1、写主程序:双击half_clk.v文件会出现程序编辑区,在这个区间里写好自己 的程序,这里我们写一个简单的二分频的代码: module half_clk_dai( clk_in, rst, clk_out ); input clk_in; input rst;

批处理从入门到精通

批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。 1、REM REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。例: REM 你现在看到的就是注解,这一句将不会被执行。在以后的例子中解释的内容都REM 会放在REM后面。请大家注意。 2、ECHO ECHO 是一个回显命令主要参数有OFF和ON,一般用ECHO message来显示一个特定的消息。例: Echo off Rem 以上代表关闭回显即不显示所执行的命令 Echo 这个就是消息。 Rem 以上代表显示“这就是消息”这列字符 执行结果: C:\>ECHO.BAT 这个就是消息。 3、GOTO GOTO 即为跳转的意思。在批处理中允许以“:XXX”来构建一个标号然后用GOTO :标号直接来执行标号后的命令。例 :LABEL REM 上面就是名为LABEL的标号。 DIR C:\ DIR D:\

GOTO LABEL REM 以上程序跳转标号LABEL处继续执行。 4、CALL CALL 命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。例: 批处理2.BAT内容如下: ECHO 这就是2的内容 批处理1.BAT内容如下: ECHO 这是1的内容 CALL 2.BAT ECHO 1和2的内容全部显示完成 执行结果如下: C:\>1.BAT 这是1的内容 这就是2的内容 1和2的内容全部显示完成 5、PAUSE PAUSE 停止系统命令的执行并显示下面的内容。例: C:\> PAUSE 请按任意键继续 . . . 6、IF IF 条件判断语句,语法格式如下: IF [NOT] ERRORLEVEL number command IF [NOT] string1==string2 command IF [NOT] EXIST filename command

modelsim使用教程6.0

Modelsim 6.0 使用教程 1. Modelsim简介 Modelsim仿真工具是Model公司开发的。它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。 对于初学者,modelsim自带的教程是一个很好的选择,在Help->SE PDF Documentation->Tutorial里面.它从简单到复杂、从低级到高级详细地讲述了modelsim的各项功能的使用,简单易懂。但是它也有缺点,就是它里面所有事例的初期准备工作都已经放在example文件夹里,直接将它们添加到modelsim就可以用,它假设使用者对当前操作的前期准备工作都已经很熟悉,所以初学者往往不知道如何做当前操作的前期准备。 2.安装 同许多其他软件一样,Modelsim SE同样需要合法的License,通常我们用Kengen产生license.dat。 ⑴.解压安装工具包开始安装,安装时选择Full product安装。当出现Install Hardware Security Key Driver时选择否。当出现Add Modelsim To Path选 择是。出现Modelsim License Wizard时选择Close。 ⑵.在C盘根目录新建一个文件夹flexlm,用Keygen产生一个License.dat,然后 复制到该文件夹下。 ⑶.修改系统的环境变量。右键点击桌面我的电脑图标,属性->高级->环境变量-> (系统变量)新建。按下图所示内容填写,变量值内如果已经有别的路径了, 请用“;”将其与要填的路径分开。LM_LICENSE_FILE = c:\flexlm\license.dat

hbuilder入门教程

hbuilder入门教程 HBuilder不仅仅提示全面的语法,非语法的各种候选输入也都能提示。包括图片、链接、颜色、字体、脚本、样式、URI、ID、class、自定义JS对象、方法。小编在本文详细介绍了Hbuilder编辑器的使用方法。 Q:怎么才能快速掌握HBuilder开发技巧? A:软件自带HelloHBuilder项目,该项目为教程项目(如果不小心删除了不要担心,可以在新建WEB项目时,使用HelloHBuilder模板新建出来),按照项目中的lesson1.txt中的快捷键敲一遍即可快速掌握HBuilder快速开发技巧。 Q:什么是HTML5+? A:HTML5+规范是基于HTML5的扩展规范,用于弥补HTML5和原生应用功能之间的差距。HTML5+规范是一个开放的规范,在W3C中国的指导下,由HTML5中国产业联盟运作所有规范都是面向开发者的,开

发者提需求、开发者评审实现方案、开发者投票选定规范。 Q:什么叫滚动条信息点? A:当代码中有重要的标记出现时,会生成滚动条信息点,在滚动条右侧出现颜色各异的点。点击这些点或使用跳转到下一个信息点功能,可以快速到达这些代码处。如下标记会生成信息点:书签、任务、错误提示。 HBuilder滚动条信息点 Q:怎么实现代码追踪? A:在编辑代码时经常会出现需要跳转到引用文件或者变量定义的地方,HBuilder提供了一个非常好用的代码追踪功能,只需要按住Ctrl+鼠标左键即可实现追踪。 图示: hbuilder代码追踪 Q:输入small不提示,语法库是不是不全? A:代码块是否提示,取决于是否设置了这个代码块,代码块是可

Modelsim的仿真教程

ModelSim的仿真 1.仿真的分类 仿真过程是正确实现设计的关键环节,用来验证设计者的设计思想是否正确,及在设计实现过程中各种分布参数引入后,其设计的功能是否依然正确无误。仿真主要分为功能仿真和时序仿真。功能仿真是在设计输入后进行;时序仿真是在逻辑综合后或布局布线后进行。1). 功能仿真( 前仿真) 功能仿真是指在一个设计中,在设计实现前对所创建的逻辑进行的验证其功能是否正确的过程。布局布线以前的仿真都称作功能仿真,它包括综合前仿真(Pre-Synthesis Simulation )和综合后仿真(Post-Synthesis Simulation )。综合前仿真主要针对基于原理框图的设计; 综合后仿真既适合原理图设计, 也适合基于HDL 语言的设计。 2). 时序仿真(后仿真) 时序仿真使用布局布线后器件给出的模块和连线的延时信息,在最坏的情况下对电路的行为作出实际地估价。时序仿真使用的仿真器和功能仿真使用的仿真器是相同的,所需的流程和激励也是相同的;惟一的差别是为时序仿真加载到仿真器的设计包括基于实际布局布线设计的最坏情况的布局布线延时,并且在仿真结果波形图中,时序仿真后的信号加载了时延,而功能仿真没有。 后仿真也称为时序仿真或者布局布线后仿真,是指电路已经映射到特定的工艺环境以后,综合考虑电路的路径延迟与门延迟的影响,验证电路能否在一定时序条件下满足设计构想的过程,是否存在时序违规。其输入文件为从布局布线结果中抽象出来的门级网表、Testbench 和扩展名为SDO 或SDF 的标准时延文件。SDO 或SDF 的标准时延文件不仅包含门延迟,还包括实际布线延迟,能较好地反映芯片的实际工作情况。一般来说后仿真是必选的,检查设计时序与实际的FPGA 运行情况是否一致,确保设计的可靠性和稳定性。2.仿真的作用 1).设计出能工作的电路:因此功能仿真不是一个孤立的过程,其和综合、时序分析等形成一个反馈工作过程,只有这个过程收敛,各个环节才有意义。而孤立的功能仿真通过是没有意义的,如果在时序分析过程中发现时序不满足需要更改代码,则功能仿真必须从新进行。因此正确的工作流程是:

相关文档
最新文档