当前位置: 首页 > news >正文

更换dns能上国外网站吗网站开发建设公司电话

更换dns能上国外网站吗,网站开发建设公司电话,营销推广是一种什么的促销方式,优化seo公司哪家好序言备考某等级考试的时候#xff0c;在教材中碰到了几个一直不太理解的、关于硬盘的概念#xff1a;磁道、柱面号、扇区。然而教材没有配图#xff0c;无法直观地了解这些概念的物理形态。维基百科的硬盘[1]词条页中倒是有一副不错的示意图#xff0c;我截图搬运了过来机械… 序言备考某等级考试的时候在教材中碰到了几个一直不太理解的、关于硬盘的概念磁道、柱面号、扇区。然而教材没有配图无法直观地了解这些概念的物理形态。维基百科的硬盘[1]词条页中倒是有一副不错的示意图我截图搬运了过来机械硬盘示意图原图是一张 SVG 图片本质上是一堆指令——也就是所谓的语绘啦。我是一个语绘爱好者也想试试看能否用代码画一幅差不多的图出来。在旧文《程序员特有的画图方式——语绘工具小入门》[2]中我演示过几款写代码画图的工具但它们都不适合用来绘制几何图形所以这次它们没有用武之地。本来我想试试用MetaPost[3]来画的但鉴于“入门”了太多次这次还是换点新花样吧。这一次我用 LaTeXTikZ 来画。TikZ 是什么及光速入门著名的压泡面神器、麻将桌脚垫《TAOCP》的作者发明了TeX[4]知名的Raft 竞品Paxos 算法的作者在此基础上创造了LaTeX[5]它们都是程序员简历论文排版的好帮手。而 TikZ 则是如虎添翼地在 LaTeX 中实现了简单易懂的绘图功能的一个红包宏包(macro packageTeX 的术语)。简而言之TikZ 自定义了一套“语言”可以在用 LaTeX 编写的文档中画出各种图形。百闻不如一见我演示一下如何用 TikZ 画一条线段、一个圆以及一段圆弧。先将下列的代码保存到一个文件three_in_one.tex中\documentclass{standalone}\usepackage{tikz}\usetikzlibrary{shapes.geometric, arrows}\begin{document}\begin{tikzpicture}[scale2] %% 画一条从原点指向(1, 1)的线段 \draw (0, 0) -- (1, 1); %% 画一个以(1, 1)为圆心半径为2的圆。 \draw (1, 1) circle (2); %% 画一段以原点为圆心半径为1张开角度为30度的圆弧。 \draw (1, 0) arc (0:30:1);\end{tikzpicture}\end{document}再使用xelatex将其编译成 PDF 文件(xelatex可以通过安装 TeXLive 2020 获得)xelatex three_in_one.tex此时便得到了three_in_one.pdf文件。为了可以在文章中显示我用 ImageMagick 将其转换为 PNG 文件convert three_in_one.pdf /tmp/three_in_one.png最终的图片如下简单就像画一匹马一样简单。现在该来试试用 TikZ 复刻维基百科上的硬盘示意图了。来点同心圆在原图中最引人注目的当属那十几个同心圆了。简单起见我只画六个圆。这六个圆的半径相差1pt(pt是 TikZ 默认的长度单位)从3pt一直递增到8pt它们的圆心都在坐标原点(0, 0)上。%% 为了节省篇幅只给出TikZ部分的代码。\begin{tikzpicture} \draw (0, 0) circle (3); \draw (0, 0) circle (4); \draw (0, 0) circle (5); \draw (0, 0) circle (6); \draw (0, 0) circle (7); \draw (0, 0) circle (8);\end{tikzpicture}来点等分线原图中有 12 根线段将每一个圆等分成了全等的 12 份。从前一节的内容可知要用\draw命令绘制线段需要的是线段两端的坐标那么这批坐标要怎么计算呢尽管可以用三角函数计算出这些点的笛卡尔坐标但在 TikZ 中可以用更方便的极坐标来指定这些点。以原图中从 X 轴开始逆时针旋转遇到的第一条线段为例它在半径为3pt的圆上的点的坐标为(30:3)(30 是极坐标中的角度3 是半径长度)而在半径为8pt的圆上的点的坐标为(30:8)因此可以用\draw (30:3) -- (30:8)来画出这根线段。通过调整其中的角度可以画出剩余的其它线段。\begin{tikzpicture} \draw (0, 0) circle (3); \draw (0, 0) circle (4); \draw (0, 0) circle (5); \draw (0, 0) circle (6); \draw (0, 0) circle (7); \draw (0, 0) circle (8); \draw (0:3) -- (0:8); \draw (30:3) -- (30:8); \draw (60:3) -- (60:8); \draw (90:3) -- (90:8); \draw (120:3) -- (120:8); \draw (150:3) -- (150:8); \draw (180:3) -- (180:8); \draw (210:3) -- (210:8); \draw (240:3) -- (240:8); \draw (270:3) -- (270:8); \draw (300:3) -- (300:8); \draw (330:3) -- (330:8);\end{tikzpicture}来张色图原图大致的骨架已经画完了现在来尝试给它上色。在 TikZ 中可以用\fill命令给一段封闭的曲线上色。比如用\fill[red] (0, 0) -- (1, 0) -- (1, 1) -- (0, 1) -- cycle可以将左下角在原点、边长为1pt的正方形涂成红色。先给原图中的区域 B 上色。区域 B 是一个扇形它由两根长度为8pt的半径和一段夹角为 30 度的圆弧构成。要描述这段封闭曲线可以借助入门一节中介绍的arc命令。\begin{tikzpicture} %% 给区域B上色。 \fill[blue] (0, 0) -- (30:8) arc (30:60:8) -- cycle; \draw (0, 0) circle (3); \draw (0, 0) circle (4); \draw (0, 0) circle (5); \draw (0, 0) circle (6); \draw (0, 0) circle (7); \draw (0, 0) circle (8); \draw (0:3) -- (0:8); \draw (30:3) -- (30:8); \draw (60:3) -- (60:8); \draw (90:3) -- (90:8); \draw (120:3) -- (120:8); \draw (150:3) -- (150:8); \draw (180:3) -- (180:8); \draw (210:3) -- (210:8); \draw (240:3) -- (240:8); \draw (270:3) -- (270:8); \draw (300:3) -- (300:8); \draw (330:3) -- (330:8);\end{tikzpicture}\fill命令那一行最后的cycle的意思是让曲线回到起点组成一个封闭的形状。另外\fill命令需要写在\draw命令之前是为了避免蓝色颜料将区域内的圆弧给盖住了。对于区域 C 和区域 D方法是一样的只是描述封闭曲线的坐标不同罢了。\begin{tikzpicture} %% 给区域B上色。 \fill[blue] (0, 0) -- (30:8) arc (30:60:8) -- cycle; %% 给区域C上色。 \fill[purple] (30:4) -- (30:5) arc (30:60:5) -- (60:4) -- (60:4) arc (60:30:4); %% 给区域D上色。 \fill[green] (240:6) -- (240:7) arc (240:330:7) -- (330:6) -- (330:6) arc (330:240:6); \draw (0, 0) circle (3); \draw (0, 0) circle (4); \draw (0, 0) circle (5); \draw (0, 0) circle (6); \draw (0, 0) circle (7); \draw (0, 0) circle (8); \draw (0:3) -- (0:8); \draw (30:3) -- (30:8); \draw (60:3) -- (60:8); \draw (90:3) -- (90:8); \draw (120:3) -- (120:8); \draw (150:3) -- (150:8); \draw (180:3) -- (180:8); \draw (210:3) -- (210:8); \draw (240:3) -- (240:8); \draw (270:3) -- (270:8); \draw (300:3) -- (300:8); \draw (330:3) -- (330:8);\end{tikzpicture}给环形上色聪明的读者也许已经发现了区域 A 的环形没办法用这种方式来描述。不过没关系只要将其视为上下半两部分再分别上色即可。\begin{tikzpicture} %% 环的上半部分 \fill[red] (4, 0) -- (5, 0) arc (0:180:5) -- (-4, 0) -- (-4, 0) arc (180:0:4); %% 环的下半部分 \fill[red] (4, 0) -- (5, 0) arc (360:180:5) -- (-4, 0) -- (-4, 0) arc (180:360:4); %% 给区域B上色。 \fill[blue] (0, 0) -- (30:8) arc (30:60:8) -- cycle; %% 给区域C上色。 \fill[purple] (30:4) -- (30:5) arc (30:60:5) -- (60:4) -- (60:4) arc (60:30:4); %% 给区域D上色。 \fill[green] (240:6) -- (240:7) arc (240:330:7) -- (330:6) -- (330:6) arc (330:240:6); \draw (0, 0) circle (3); \draw (0, 0) circle (4); \draw (0, 0) circle (5); \draw (0, 0) circle (6); \draw (0, 0) circle (7); \draw (0, 0) circle (8); \draw (0:3) -- (0:8); \draw (30:3) -- (30:8); \draw (60:3) -- (60:8); \draw (90:3) -- (90:8); \draw (120:3) -- (120:8); \draw (150:3) -- (150:8); \draw (180:3) -- (180:8); \draw (210:3) -- (210:8); \draw (240:3) -- (240:8); \draw (270:3) -- (270:8); \draw (300:3) -- (300:8); \draw (330:3) -- (330:8);\end{tikzpicture}润色一下用 macOS 的“数码测色计”看了一下原图中各个区域的颜色的 RGB 值区域 A 大概是(236, 133, 130)、区域 B 大概是(122, 127, 237)、区域 C 大概是(131, 132, 139)、区域 D 大概是(0, 151, 27)。接下来我让 TikZ 以这四种指定的颜色填充图中的四个区域先用 LaTeX 的\definecolor命令定义四个新的颜色的名字。%% 下列四行代码置于document环境之前\definecolor{areaA}{RGB}{236,133,130}\definecolor{areaB}{RGB}{122,127,237}\definecolor{areaC}{RGB}{131,32,139}\definecolor{areaD}{RGB}{0,151,27}再替换掉\fill命令中的颜色名即可\begin{tikzpicture} %% 环的上半部分 \fill[areaA] (4, 0) -- (5, 0) arc (0:180:5) -- (-4, 0) -- (-4, 0) arc (180:0:4); %% 环的下半部分 \fill[areaA] (4, 0) -- (5, 0) arc (360:180:5) -- (-4, 0) -- (-4, 0) arc (180:360:4); %% 给区域B上色。 \fill[areaB] (0, 0) -- (30:8) arc (30:60:8) -- cycle; %% 给区域C上色。 \fill[areaC] (30:4) -- (30:5) arc (30:60:5) -- (60:4) -- (60:4) arc (60:30:4); %% 给区域D上色。 \fill[areaD] (240:6) -- (240:7) arc (240:330:7) -- (330:6) -- (330:6) arc (330:240:6); \draw (0, 0) circle (3); \draw (0, 0) circle (4); \draw (0, 0) circle (5); \draw (0, 0) circle (6); \draw (0, 0) circle (7); \draw (0, 0) circle (8); \draw (0:3) -- (0:8); \draw (30:3) -- (30:8); \draw (60:3) -- (60:8); \draw (90:3) -- (90:8); \draw (120:3) -- (120:8); \draw (150:3) -- (150:8); \draw (180:3) -- (180:8); \draw (210:3) -- (210:8); \draw (240:3) -- (240:8); \draw (270:3) -- (270:8); \draw (300:3) -- (300:8); \draw (330:3) -- (330:8);\end{tikzpicture}图文并茂剩下的需要复刻的东西就是原图中的文字以及标注用的线了。线很容易画只要规定了坐标后用\draw命令即可。比如说我可以把四条线定义如下其中的坐标和线段的长度纯粹是个人偏好\draw (75:4.5) -- (75:9);\draw (40:7.5) -- (40:9);\draw (50:4.5) -- (50:9);\draw (285:6.5) -- (285:9);线画完了再到每一根线的“终点”标上文字说明这需要用到 TikZ 的node功能。用法很简单就是在需要标注文字的坐标后紧跟着关键字node以及一段用花括号包裹的文本即可\documentclass{standalone}\usepackage{tikz}\usepackage{xeCJK}\setCJKmainfont{Songti TC}\usetikzlibrary{shapes.geometric, arrows}\definecolor{areaA}{RGB}{236,133,130}\definecolor{areaB}{RGB}{122,127,237}\definecolor{areaC}{RGB}{131,32,139}\definecolor{areaD}{RGB}{0,151,27}\begin{document}\begin{tikzpicture} %% 环的上半部分 \fill[areaA] (4, 0) -- (5, 0) arc (0:180:5) -- (-4, 0) -- (-4, 0) arc (180:0:4); %% 环的下半部分 \fill[areaA] (4, 0) -- (5, 0) arc (360:180:5) -- (-4, 0) -- (-4, 0) arc (180:360:4); %% 给区域B上色。 \fill[areaB] (0, 0) -- (30:8) arc (30:60:8) -- cycle; %% 给区域C上色。 \fill[areaC] (30:4) -- (30:5) arc (30:60:5) -- (60:4) -- (60:4) arc (60:30:4); %% 给区域D上色。 \fill[areaD] (240:6) -- (240:7) arc (240:330:7) -- (330:6) -- (330:6) arc (330:240:6); \draw (0, 0) circle (3); \draw (0, 0) circle (4); \draw (0, 0) circle (5); \draw (0, 0) circle (6); \draw (0, 0) circle (7); \draw (0, 0) circle (8); \draw (0:3) -- (0:8); \draw (30:3) -- (30:8); \draw (60:3) -- (60:8); \draw (90:3) -- (90:8); \draw (120:3) -- (120:8); \draw (150:3) -- (150:8); \draw (180:3) -- (180:8); \draw (210:3) -- (210:8); \draw (240:3) -- (240:8); \draw (270:3) -- (270:8); \draw (300:3) -- (300:8); \draw (330:3) -- (330:8); \draw (75:4.5) -- (75:9) node {磁道}; \draw (40:7.5) -- (40:9) node {扇面}; \draw (50:4.5) -- (50:9) node {扇区}; \draw (285:6.5) -- (285:9) node {簇};\end{tikzpicture}\end{document}需要留意的是我在源代码开头的位置引入了xeCJK宏包(\usepackage{xeCJK})并且指定了中文内容用的字体为宋体(\setCJKmainfont{Songti TC})这样才能成功编译。至此复刻算是完成了。后记本文只是管中窥豹TikZ 还可以画出其它更复杂更美轮美奂的图形有兴趣的读者可以移步这里[6]观赏。此外TikZ 也可以“编程”比如下面的两行代码便足矣画出上文中 12 行代码才完成的等分线\foreach \x in {0,30,60,90,120,150,180,210,240,270,300,330}\draw (\x:3) -- (\x:8);TikZ 的更多潜力和乐趣就由各位读者自己探索吧。如果你想要和我交流欢迎点击阅读原文到我的博客上发表评论。参考资料[1]硬盘: https://zh.wikipedia.org/wiki/%E7%A1%AC%E7%9B%98[2]《程序员特有的画图方式——语绘工具小入门》: https://liutos.github.io/2020/05/07/%E7%A8%8B%E5%BA%8F%E5%91%98%E7%89%B9%E6%9C%89%E7%9A%84%E7%94%BB%E5%9B%BE%E6%96%B9%E5%BC%8F%E2%80%94%E2%80%94%E8%AF%AD%E7%BB%98%E5%B7%A5%E5%85%B7%E5%B0%8F%E5%85%A5%E9%97%A8/[3]MetaPost: https://zh.wikipedia.org/wiki/MetaPost[4]TeX: https://zh.wikipedia.org/wiki/TeX[5]LaTeX: https://zh.wikipedia.org/wiki/LaTeX[6]这里: https://texample.net/tikz/examples/点击进入留言区
http://www.sadfv.cn/news/210664/

相关文章:

  • 如何做拼车网站app嘉兴网站建设企业网站制作
  • 流量网站怎么做的网站标题设计在线
  • 家装行业网站建设广西短视频运营是
  • 雪亮工程建设网站界面家装公司报价
  • 网站备案时间有效期桂阳县网站建设公司哪家好
  • php网站发送邮件青海企业网站建设
  • seo网站推广企业做的好看的旅游网站
  • 莱芜搜狗推广哪家好湖南seo
  • 模板下载网站什么好啥前端框架可以做网站首页
  • dz网站首页html代码在哪合肥网站建设哪里好
  • 石英石台面做网单有什么网站长沙网站推广公司
  • 商城网站技术方案展馆展示设计公司一般做什么设计
  • 哈尔滨seo网站排名网页模版之家
  • 深圳做营销网站制作好看网页设计
  • 网站 关键词库 怎么做有限公司英文
  • 2017网站风格以下哪个是专业的网页制作软件
  • 湖南做网站 磐石网络引领网站的二次开发是什么意思
  • 桂林建设网站公司网页传奇网址
  • 夸克作文网站贵州seo推广
  • 货代一般都去哪个网站找客户中小企业网站建设流程
  • 小说阅读网站开发如何建设网站和app
  • 广州做网站开发广州市律师网站建设怎么样
  • 南京哪些公司做网站wordpress 菜单 锚点
  • 为什么要进行网站建设商丘做网站用什么程序比较好
  • 软件开发项目管理制度百度seo权重
  • 互联网大赛建设网站策划书欢迎进入18入口1
  • 做教育网站成都建好的网站出租
  • 石家庄网站设计公司的别名是成都网站建设:
  • 培训网站建设课程网站的排版设计
  • 晒豆网站建设建设部网站如何下载文件