修正半角标点符号

This commit is contained in:
kimw
2018-05-27 16:51:15 -04:00
parent fb3359fb4e
commit 0ab7557665
39 changed files with 85 additions and 86 deletions

View File

@@ -73,7 +73,7 @@ Go语言还提供了以下的bit位操作运算符前面4个操作运算符
>> 右移
```
位操作运算符`^`作为二元运算符时是按位异或XOR当用作一元运算符时表示按位取反也就是说它返回一个每个bit位都取反的数。位操作运算符`&^`用于按位置零AND NOT如果对应y中bit位为1的话, 表达式`z = x &^ y`结果z的对应的bit位为0否则z对应的bit位等于x相应的bit位的值。
位操作运算符`^`作为二元运算符时是按位异或XOR当用作一元运算符时表示按位取反也就是说它返回一个每个bit位都取反的数。位操作运算符`&^`用于按位置零AND NOT如果对应y中bit位为1的话表达式`z = x &^ y`结果z的对应的bit位为0否则z对应的bit位等于x相应的bit位的值。
下面的代码演示了如何使用位操作解释uint8类型值的8个独立的bit位。它使用了Printf函数的%b参数打印二进制格式的数字其中%08b中08表示打印至少8个字符宽度不足的前缀部分用0填充。

View File

@@ -135,15 +135,15 @@ func f(x, y float64) float64 {
要注意的是corner函数返回了两个结果分别对应每个网格顶点的坐标参数。
要解释这个程序是如何工作的需要一些基本的几何学知识但是我们可以跳过几何学原理因为程序的重点是演示浮点数运算。程序的本质是三个不同的坐标系中映射关系如图3.2所示。第一个是100x100的二维网格对应整数坐标(i,j),从远处的(0, 0)位置开始。我们从远处向前面绘制,因此远处先绘制的多边形有可能被前面后绘制的多边形覆盖。
要解释这个程序是如何工作的需要一些基本的几何学知识但是我们可以跳过几何学原理因为程序的重点是演示浮点数运算。程序的本质是三个不同的坐标系中映射关系如图3.2所示。第一个是100x100的二维网格对应整数坐标(i,j),从远处的(0,0)位置开始。我们从远处向前面绘制,因此远处先绘制的多边形有可能被前面后绘制的多边形覆盖。
第二个坐标系是一个三维的网格浮点坐标(x,y,z)其中x和y是i和j的线性函数通过平移转换为网格单元的中心然后用xyrange系数缩放。高度z是函数f(x,y)的值。
第三个坐标系是一个二维的画布,起点(0,0)在左上角。画布中点的坐标用(sx, sy)表示。我们使用等角投影将三维点
第三个坐标系是一个二维的画布,起点(0,0)在左上角。画布中点的坐标用(sx,sy)表示。我们使用等角投影将三维点(x,y,z)投影到二维的画布中。
![](../images/ch3-02.png)
(x,y,z)投影到二维的画布中。画布中从远处到右边的点对应较大的x值和较大的y值。并且画布中x和y值越大则对应的z值越小。x和y的垂直和水平缩放系数来自30度角的正弦和余弦值。z的缩放系数0.4,是一个任意选择的参数。
画布中从远处到右边的点对应较大的x值和较大的y值。并且画布中x和y值越大则对应的z值越小。x和y的垂直和水平缩放系数来自30度角的正弦和余弦值。z的缩放系数0.4,是一个任意选择的参数。
对于二维网格中的每一个网格单元main函数计算单元的四个顶点在画布中对应多边形ABCD的顶点其中B对应(i,j)顶点位置A、C和D是其它相邻的顶点然后输出SVG的绘制指令。

View File

@@ -93,4 +93,4 @@ func mandelbrot(z complex128) color.Color {
**练习 3.8** 通过提高精度来生成更多级别的分形。使用四种不同精度类型的数字实现相同的分形complex64、complex128、big.Float和big.Rat。后面两种类型在math/big包声明。Float是有指定限精度的浮点数Rat是无限精度的有理数。它们间的性能和内存使用对比如何当渲染图可见时缩放的级别是多少
**练习 3.9** 编写一个web服务器用于给客户端生成分形的图像。运行客户端通过HTTP参数指定x,y和zoom参数。
**练习 3.9** 编写一个web服务器用于给客户端生成分形的图像。运行客户端通过HTTP参数指定xy和zoom参数。

View File

@@ -29,7 +29,7 @@ if b {
}
```
如果需要经常做类似的转换, 包装成一个函数会更方便:
如果需要经常做类似的转换包装成一个函数会更方便
```Go
// btoi returns 1 if b is true and 0 if false.
@@ -41,7 +41,7 @@ func btoi(b bool) int {
}
```
数字到布尔型的逆转换则非常简单, 不过为了保持对称, 我们也可以包装一个函数:
数字到布尔型的逆转换则非常简单不过为了保持对称我们也可以包装一个函数
```Go
// itob reports whether i is non-zero.