-
计科入门6: 亮一点!!!【表达式】
普通类 -
- 支持
- 批判
- 提问
- 解释
- 补充
- 删除
-
-
Expression 表达式
算数表达式Mathematical Expression
----------------------------------------------
在介绍表达式是什么之前
先介绍一下我们“像素”的新方法
----------------------------------------------
【进入课程网页: http://www.stanford.edu/class/cs101/image-2-code.html 】
-
回顾一下
之前我们接触到的像像素的方法有三个
都是对像素的三元色进行设置的set方法
如图所示:

既然能设置【set】我们是否能获得呢【get】?
-
GET
比如,我们能否获得这个图形的(3, 2)像素点的RGB值是多少呢?

当然可以,方法如下:

注意:
以上red的使用的效果如下:

----------------------------------------------
所以可以直接被省略成:

-
练习1:省略后再省略
-
练习2:get方法练习
补充程序缺少的3句话,获得图示运行结果:

-
OK,练习3
获得图片中像素点(100,100)的RGB中的R【红色】值, 并计算他的80%是多少
【进入网页:http://www.stanford.edu/class/cs101/image-3-exercises.html 】
----------------------------------------------
答案:

利用我们刚才那个简略的思想:

可以别简略成:

其中:
pixel.getRed()返回182
182*0.8 就是我们的数学表达式【其实就是一个运算式子而已 ^_^】
----------------------------------------------
OK, 本节开篇的时候说过,我们已经接触过数学表达式了,什么时候接触过呢?
----------------------------------------------
还记得我们的左膀右臂中的:左膀么?对,就是FOR循环

再FOR循环里面,有一个
-
i++
我们知道他每循环一次,给i加1
为什么呢?
----------------------------------------------
因为i++ 等价于: i=i+1而我们的i+1就是一个数学表达式
它获取我们i这个“盒子”里面的值,然后+1,之后把新值又放回到了i这个盒子里面
-
工欲善其事,必先利其器
到现在为止,我们的利器有哪些呢?
FOR循环,通过FOR循环我们可以一个像素一个像素的“过滤”整个图片
Get类方法,通过get类方法我们可以获得某一个像素点的RGB值
Set类方法,通过set类方法我们可以设定某一个像素点的RGB值
数学表达式,通过数学表达式我们可以对数值进行我们需要的运算
----------------------------------------------
现在我们要拿这4个利器,来解决一个我们第三讲:
最后介绍的那个问题了:
-
练习4
写一个程序,把我们的花的图片变亮 50%【让新的颜色是现在颜色的150%】
效果如图:

-
练习5:香蕉之谜
【进入网页: http://www.stanford.edu/class/cs101/image-4-expressions.html 】
在网页最下端有一个香蕉之谜,把其中的for代码段删除后,直接运行代码
显示香蕉图片效果如下:

我们需要用我们刚才花的图片的变亮的方法,把这个香蕉之谜还原
提示:RGB三种颜色,一个调亮5倍,一个调亮10,一个调亮20哦 ^_^
最终效果到底是怎么样的呢? 赶快尝试一下吧,下次见。
-
-
- 标签:
- coursera
- expression
- 香蕉
- 表达式
- 循环
- 省略
- 程序
- rgb
- 方法
- 练习
- math
- 之谜
- 像素
-
加入的知识群:


学习元评论 (0条)
聪明如你,不妨在这 发表你的看法与心得 ~