新濠天地 > 编程网新闻 > 新濠天地Kernighan)一书的前言部分,不需经过作

原标题:新濠天地Kernighan)一书的前言部分,不需经过作

浏览次数:185 时间:2019-09-20

  本例所绘图形选自《Go语言程序设计》(小编:Alan A. A. 多诺万与Brian W. Kernighan)一书的序言部分。

路子终极教程 (载入中...)

一体化代码

documentclass{article}%usepackage{ctex} % 汉字支持usepackage{geometry} % 页面布局支持usepackage{tikz} % 绘图支持%% 加载TikZ内的各种库usetikzlibrary{positioning, arrows.meta, chains}%begin{document}% 博客园陆巍的博客https://www.cnblogs.com/atthefirst/textbf{Go语言起源图}begin{center}  begin{tikzpicture}[    every node/.style={text width=4cm,align=center},    arrow1/.style={-{stealth[angle'=45]},thick},    node distance=1.0cm,  ]    renewcommand{baselinestretch}{1.0}% 修改行间距为1倍    % -------------------- 中间节点 --------------------    node{textbf{ALGOL 60}\small (Backus et al., 1960)};    node[below=of c1]{textbf{Pascal}\small (Wirth, 1970)};    node[below=of c2]{textbf{Modula-2}\small (Wirth, 1980)};    node[below=of c3]{textbf{Oberon}\small (Wirth & Gutknecht,\ 1986)};    node[right=0.5cm of c4,yshift=-1cm]{textbf{Object Oberonn}\small (Mössenböck, Templ & Griesemer, 1990)};    node[below=of c4]{textbf{Oberon-2}\small (Wirth & Mössenböck,\ 1991)};    node[text width = 6.0cm,below=2cm of c5]{textbf{Go}\small (Griesemer, Pike & Thompson, 2009)};    % -------------------- 左侧节点 --------------------    node at(-5cm,-3cm){textbf{CSP}\small (Hoare, 1978)};    node[below=of l1]{textbf{Squeak}\small (Cardelli & Pike, 1985)};    node[below=of l2]{textbf{Newsqueak}\small (Pike, 1989)};    node[below=of l3]{textbf{Alef}\small (Winterbottom, 1992)};    % -------------------- 右侧节点 --------------------    node at{textbf{C}\small (Ritchie, 1972)};    % -------------------- 连线 --------------------    draw[arrow1];    draw[arrow1];    draw[arrow1];    draw[arrow1]--;    draw[arrow1]--;    draw[arrow1];    draw[arrow1];    draw[arrow1];    draw[arrow1];    draw[arrow1];    draw[arrow1];    draw[arrow1];    draw[arrow1];    draw[arrow1](node cs:name=r1) .. controls + and + .. (node cs:name=c6);  end{tikzpicture}end{center}

  版权表明:(小编赵鹏zhaopeng.net,所在论坛blueidea.com)此教程允许私下转发,允许用于商业印刷,不需通过作者同意,不需付出任何开支。但无法不保障教程的完整性,同期证明本版权评释全体内容。   注:路线绘制方法一致适用于Illustrator   首先来简介一下钢笔工具和门路的概念  1 自来水笔工具属于矢量绘图工具,其亮点是能够描绘平滑的曲线(在缩放可能变形之后仍可以维持平滑效果)  2 自来水笔工具画出来的矢量图形称为路线,路线是矢量的  3 路线允许是不密封的开放状,假若把源点与极端重合绘制就足以获得密闭的路线   现在我们来绘制三个总结的门径   如下图在工具栏选择钢笔工具(火速键P)

效果

新濠天地 1

  新濠天地 2800)this.style.width=800;" border=0>   并有限协助钢笔工具的选项如图所示(在工具栏上方)   选取第两种绘图格局(单纯路线),并撤消橡皮带效应

说明

  1、这里对节点与箭头线段style的定义放在了tikzpicture情况定义的参数设置中。实际工作中,对于时常使用的style应该单独用文件保留,方便管理维护。
  2、注意从C到Go的这根曲线绘制方法的法规,使用过矢量图绘制软件的情侣应该不会不熟悉。

  新濠天地 3800)this.style.width=800;" border=0>   然后用钢笔在画面中单击,拜谒到在击打地铁点时期有线段相连   保持按住Shift键能够让所绘制的点与上多个点保持45度整数倍夹角(比方零度、90度)   这样可以绘制水平照旧是垂直的线条(图中从第5个点开首按下了Shift键)

  新濠天地 4800)this.style.width=800;" border=0>   从地点的简易练习中我们得出多个规律:   1 大家并未一直绘制线段,而是定义了逐条点的职位,软件则在点间连线成型   2 调整线段形态(方向、距离)的,并不是线条自个儿,而是线段中的种种点的岗位   记住多个术语:那多少个点称为“锚点”(anchor);锚点间的线条称为“片断”(segment)。   刚才大家绘制的那四个锚点,由于它们之间的线条都是直线,所以又称作直线型锚点。   今后大家来绘制曲线形锚点   如下图所示般,在起源按下鼠标之后并不是甩手,向上拖动出一条方向线后放手   然后在其次个锚点拖动出一条向下的方向线,就这样推算,画出类似图示的不二秘诀

  新濠天地 5800)this.style.width=800;" border=0>   大家来看在绘制出第一个及之后的锚点并拖动方向线时,曲线的形态也随着转移   毕竟曲线是何等生成的,大家又该怎样来决定曲线的形制呢?   除了独具直线的矛头和离开外,曲线多了二个弯曲度的模样   方向和距离只要改造锚点地点就足以做到,然则屈曲度该怎么调节?   如图在工具栏选用“直接选取工具”,注意是人红尘那一个空心的箭头

  新濠天地 6800)this.style.width=800;" border=0>   如果大家刚刚绘制的4个锚点分别是ABCD   用“直接采纳工具”去点取位于AB之间的片断   会看到刚才大家绘制AB锚点时候定义的方向线

  新濠天地 7800)this.style.width=800;" border=0>   留神看一下那五个趋势线   再这么想象:   一个人要从A点到B点,在A点出发的时候,位于A点的其余人来看她是通向上偏右的大势走的   而坐落B点的人,看到他是向阳下偏右的样子来的   那么归纳两地的体察结果。就足以吸收此人走路的路径:必定是三个像样锅盖的上弧形   今后我们选择如图的“转变点工具”,该工具用来修改方向线

  新濠天地 8800)this.style.width=800;" border=0>   然后如下图所示般改造AB锚点上的方向线,将会看出曲线卷曲度的变动   注意方向线末端有三个小圆点,这一个圆点称为“手柄”,要点拍手柄地方才得以改造方向线

  新濠天地 9800)this.style.width=800;" border=0>   结合刚刚所作的比喻,就轻松通晓了:   1 修改B锚点方向线为下,也正是钦定特旁人从A点上方出发后,从B点下方走入,那么所走的路途正是一个S形   2 再修改A锚点方向线为下,也正是从A点下方出发,再从B点下方进入,所走的就是叁个下弧形的里程   修改后的方向线如下图:

  新濠天地 10800)this.style.width=800;" border=0>   领悟了方向线的矛头对曲线形态的影响后,大家来看一下方向线长短产生的熏陶   如下图般,在同样方向上拖拉方向线:(可选取“直接选拔工具”)

  新濠天地 11800)this.style.width=800;" border=0>   对于贰个锚点来说,假设方向线越长,那么曲线在那几个势头上走的路程就越长,反之就越短   能够如此思索,曲线是四个橡皮筋,在头尾两端有多少个力在分级的主旋律上拉   哪个方向上力气大,则橡皮筋就朝向这一个方向多*拢一些。反而反之   除了修改锚点之外,也足以动用“直接选取工具”,在片断上修改曲线的形象   如下图:

  新濠天地 12800)this.style.width=800;" border=0>   注意:那并不可能算得“修改了片断”,而相应算得“同时修改了三个锚点”   牢记原则:片断是由锚点组成的,独有修改锚点技巧改造片断形态,那是不可逆的因果报应关系   做一下计算:   对于那条曲线上的除了源点和终点的BC五个锚点来说,都留存两条方向线:   一条是从上贰个锚点“来向”的方向线;另一条是朝着下三个锚点的“去向”的大势线   对于源点,只存在“去向”的方向线;对于极端,只设有“来向”的样子线   上边让大家做个小演练,如图:

  新濠天地 13800)this.style.width=800;" border=0>   以往须求在五个红点之间绘制一条紧贴鼠标外廓的曲线   很或许你们绘制出来的是如下图这么些样子的

  新濠天地 14800)this.style.width=800;" border=0>   纵然须要是高达了,不过如此的门径上选取了4个锚点

本文由新濠天地发布于编程网新闻,转载请注明出处:新濠天地Kernighan)一书的前言部分,不需经过作

关键词:

上一篇:没有了

下一篇:没有了