跳至主要内容

利用Rhino+GH+AI的数据可视化表现

原文来自韩世麟博客,表示感谢,感谢作者可可

使用软件:Rhinoceros, Grasshopper, Illustrator
编者按:可可这次又带来神级教程,可以说完美的解决了一大类图解的绘制思路问题。我经常被问到类似文中的数据可视化图解“是怎么画的”这类问题,无奈对于数据处理方面,我知之甚少。相信今天的这一篇文章能够为大家解惑。
作者简介

张可天
张可天是2015年毕业于天津大学的建筑学硕士。目前就职于天津市设计院。他专长建筑方案设计及表现,基本功扎实,而且他也一直乐于分享他总结到的技巧,曾经在人人网上接连发表过多篇图文教程:《可可这样画》系列。同时他也是专筑网《SketchUp极速出图八讲》的主讲人。

这是一篇我在知乎的回答(点击这里查看张可天的知乎答案),题主提出的参考原图如下,希望能够得知这张图的画法。
我尝试用Rhino+Grasshopper画图并导入AI修饰,步骤如下:
1.取得数据
样例中的图应该是有数据来源的,可能是作者调研或文献摘录的。我并没有这些数据,所以我把原图中的数据大概加估计地逆向回来。数据的存在形式有很多种,我使用了比较常见的一种,将数据放在一张EXCEL表格的两个SHEET中,如下图。

Sheet1是一张映射关系图,是样例图中从右上方到左下方的那些个映射曲线数据。excel中,横轴是“人口分布(Population Distribution)”中的各类人,纵轴是“元素时间表(Element Timeline)”中的那些“元素(Element)”,“0”代表着没有映射关系,“1”代表著有映射关系。

Sheet2是一张时间数据图,是样例图中右下的那张大表格的数据。excel中,横轴是样例图的“时间点”,纵轴是“元素(Element)”,其中的数据根据原图中的意思,应该是某个“元素(Element)”在“工作日/休息日(Workday/Weekend)”时,特定的“时间点”上所接待或容纳的人数。我并没有看出来样例图中该数据的单位,所以我臆测了一下。我以垂直方向一格代表“10人”为单位,读取了这些数据,得到上表。
2.导入Rhino
我使用Grasshopper中的Bumble Bee将Excel数据导进来,这个插件是我能够找到的导入Excel表格效率最高的一个插件了,并且好处是他可以导入一个文件中的不同的SHEET,非常方便。下图中的Panel中,你可以看到,Excel数据被完整的导入进来了~
3.建立第一部分——映射曲线
先不要急着建立曲线,我们需要先知道这些曲线画在哪里。我先在Rhino的顶视图(Top View)中,模拟样例图中的位置,建立了各个曲线的起点和终点位置,并将它们拾取到GH中。务必注意拾取的顺序,防止出错。如下图:
之后我用了一些数据变换来让映射数据转换为点和点的对应数据,并把它们用Besier Span运算器连接起来。特别需要注意的是,使用大小相同的X向量作为Besier Span运算器中各映射点间的连接线的切向向量容易造成曲线区分度太低,所以使用了下图中橘色虚线部分的做法,按照连接线两侧映射点的高低位置不同,赋予不同的X向量大小,增加了曲线的区分度。(我发现原图应该是手动绘制的,即使按照我这样区分依然很难辨识曲线关系。。。水平有限请谅解)
结果是这样的:(-_-!!!)
4.建立第二部分——时间表
下面我处理了时间表数据,我首先将下图中橘色虚线框中的点沿X轴复制,得到了每行24个用于对应时间数据的点。然后我把Excel导入的数据做了一系列的数据变换先将数据分好组,然后将他们的值依次赋给上述相应位置上的点的Y坐标值,这些点就有高低变化了。需要特别注意的,我反复观察了样例图,发现原图为了让时间表中的曲线看起来不会太细,时间表数据中没有“0”这么小的数据(防止时间表中的线过细),因此我将最小的数据控制在0.5。这些点的结果如下图:
接下来我把他们连了起来,我尝试了几种连接方法,最后选择Blend Curve运算器,这样绘出的曲线,数据比较准确,图形连接也比较平滑。如下图:
5.建立第三部分——元素工作日/休息日图例
这一部分相对容易了,点的位置我已经画好了,只需要用合适的运算器将他们分好组连接起来就可以了~~
6.烘焙曲线并导出到AI中
把曲线分好组烘焙出来,我还顺手画上了时间表的网格,省着到AI里画了~
我是在rhino里分别导出成ai文件,然后到ai里粘贴到一个文件的~~就酱~
然后先把时间表的网格改一改
我先把周围这些零碎东西画上了,一个是可以把构图确定下来,二一个可以把画好的图例元素当做图形样式直接应用到其他曲线上,提高效率。如下图:
剩下的就是慢慢画,调整线型、填充、透明度等等步骤了。良好的图层、组、图形样式、色板的设置会帮你提高不少绘图效率的~最后,我调整了一下构图以及左下部分曲线的构型,让他们不会过粗或者过细。
人物图标懒得搞了,最终效果就酱:

跟原图比还是有很多不足的,需要慢慢调整修正~~希望能帮到大家。
源文件贴上来,点击这里下载 密码:vsts
张可天
2015.12.08

Popular posts from 产品随想的博客

巴菲特致股东信-1980年

 笔记: 会计中对于下属股权公司的记账方式有3种: 持股50%以上,全部并入 持续20%--50%,则按持股比例并入 持股20%以下,则以实际收到的利润返还,计入报表 这种会计方式,会导致伯克希尔旗下,不少的企业,未能暴露实际的收益情况 对伯克希尔而言,对盈余的认定并非取决于持股比例是100%,50%,20%,5%或是1%,盈余的真正价值在于其将来再投资所能产生的效益 我们宁愿将所赚的盈余继续交由不受我们控制的人好好发挥,也不希望转由我们自己来浪费 高通货膨胀等于是对投入的资本额外课了一次税 翻译: https://xueqiu.com/6217262310/131837878 https://archive.ph/XMX5n  原文: Buffett’s Letters To Berkshire Shareholders 1980 巴菲特致股东的信 1980 年 Operating earnings improved to $41.9 million in 1980 from $36.0 million in 1979, but return on beginning equity capital (with securities valued at cost) fell to 17.8% from 18.6%. We believe the latter yardstick to be the most appropriate measure of single-year managerial economic performance. Informed use of that yardstick, however, requires an understanding of many factors, including accounting policies, historical ca...

SS机场常用服务器线路微普及

原文link:https://www.duyaoss.com/archives/57/   为何写这么个帖子? 更新时间:2019-11-29 由于机场用户增多,很多新用户压根不懂节点上面的名字代表什么,也不知道什么服务器比较适合自己,不懂什么是原生,等等。 所以开一个小帖,稍微介绍一下比较常见的服务器, 专业知识有限,所以只是给小白们介绍一下,其实我也很白,各位大佬见笑了。 在这里尤其感谢 Sukka 苏卡卡大佬和喵酱指导,以及 Nexitally 佩奇提供的资料介绍,否则我真不知道从哪儿开始动笔。后面地区内容都是佩奇帮忙码出来的。时间有限,慢慢再继续填充和修整 本文仅仅是抛砖引玉写一些机场主们告知我的 ISP、IDC 的体验,仅供参考。网络环境每天都在变化,今天飞快的服务器明天有可能龟速,有写的不对或者过时的地方还望大家指正。所以本文也算是一些机场主们把曾经踩过的坑分享给大家吧。(本来是想给小白写服务器介绍的,佩奇大佬写着写着就专业惯性的转到了商家哈哈哈,这是一个悲伤的故事) 测速图 Telegram 频道: https://t.me/DuyaoSS 主用链接: DuyaoSS - 毒药机场简介博客 常见名词: IPLC: "International Private Leased Circuit"的缩写,即“国际专线”。不过大部分机场通常看到的iplc,都只是阿里的经典网络,跨数据中心内网互通,阿里内网,并不是严格意义的iplc专线;当然也有其他渠道的,或真iplc,不过比较少。阿里云的内网互通底层原理是通过采购多个点对点的iplc专线,来连接各个数据中心,从而把各个数据中心纳入到自己的一套内网里面来。这样做有两个好处,其一是iplc链路上的带宽独享,完全不受公网波动影响,其二是过境的时候不需要经过GFW,确保了数据安全且不受外界各种因素干扰。但是需要注意一下阿里云的iplc也是有带宽上限的,如果过多的人同时挤到同一条专线上,峰值带宽超过专线的上限的话也同样会造成网络不稳定。其他渠道购买到的iplc价格很高,阿里云内网这种性价比超高这种好东西且用且珍惜。 IEPL国际以太网专线(International Ethernet Private Line,简称IEPL),构建于MSTP设备平台上...

黑客讲述渗透Hacking Team全过程

原文地址在 Freebuf ,后来已经被删除 Wayback Machine 备份 近期,黑客 Phineas Fisher在pastebin.com上讲述了入侵Hacking Team的过程,以下为其讲述的原文情况,文中附带有相关文档、工具及网站的链接,请在安全环境下进行打开,并合理合法使用。作者部分思想较为激进,也请以辩证的观点看待之。 1、序言 在这里,可能你会注意到相比于前面的一个版本,这个版本的内容及语言有了一些变化,因为这将是最后一个版本了 [1] 。对于黑客技术,英语世界中已经有了许多书籍,讲座,指南以及关于黑客攻击的知识。在那个世界,有许多黑客比我优秀,但他们埋没了他们的天赋,而为所谓的“防护”服务商(如Hacking Team之流的),情报机构服务工作。黑客文化作为一项非主流文化诞生于美国,但它现在只保留了它本质的魅力,其他均被同化了。从黑客的本质出发,至少他们可以穿着一件T恤,把头发染成蓝色,用自己的黑客的名字,随意 洒脱 地做着自己喜欢的事件,而当他们为别人(前文所指的 Hacking Team及情报机构 )工作的时候,会感觉自己像个反抗者。 如果按照传统的方式,你不得不潜入办公室偷偷拿到文件[2],或者你不得不持枪抢劫银行。但现在你仅仅需要一台笔记本,躺在床上动动手指便可做得这一切[3][4]。像CNT在入侵伽玛集团(Gamma Group)之后说的,“让我们以一种新的斗争方式向前迈进吧”[5]。 [ 1 ] http: / /pastebin.com/raw .php?i=cRYvK4jb [ 2 ] https: / /en.wikipedia.org/wiki /Citizens%27_Commission_to_Investigate_the_FBI [3] http:/ /www.aljazeera.com/news /2015/ 09/algerian-hacker-hero-hoodlum- 15092108 3914167 .html [ 4 ] https: / /securelist.com/files /2015/ 02 /Carbanak_APT_eng.pdf  [ 5 ] http: / /madrid.cnt.es/noticia /consideraci...

360T7 刷机步骤及固件

https://cmi.hanwckf.top/p/360t7-firmware/   360T7的固件支持由immortalwrt-mt798x项目提供支持,请参考: https://cmi.hanwckf.top/p/immortalwrt-mt798x https://github.com/hanwckf/immortalwrt-mt798x 刷机步骤 参考 此处 的办法开启原厂固件的UART和telnet功能 在以下链接下载360T7测试固件(纯净版,无任何插件) https://wwd.lanzout.com/b0bt9idwd 密码:ezex (此固件已过时,请选择其它更新的固件) 接下来将刷入修改版uboot。修改版uboot的优点有: 固件分区可达108MB,原厂uboot只能使用36M 自带一个简单的webui恢复页面 到以下仓库的Release页面下载uboot,目前暂时仅支持360T7,后续将支持更多mt798x路由器。 推荐使用 mt7981_360t7-fip-fixed-parts.bin , fixed-parts 代表uboot分区表在编译期间固定,不会随着uboot环境变量变化。 https://github.com/hanwckf/bl-mt798x/releases/latest 将 mt7981_360t7-fip-fixed-parts.bin 通过HFS等方式上传到路由器,使用以下命令刷入uboot mtd write mt7981_360t7-fip-fixed-parts.bin fip 确认刷入完毕后,拔掉路由器电源。然后将电脑的IP地址设置为固定的 192.168.1.2 ,接着按住路由器的RESET按钮后通电开机,等待8s后用浏览器进入 192.168.1.1 在uboot恢复页面选择要刷入的固件。immortalwrt-mt798x目前编译两个版本的360T7固件。 建议修改版uboot直接使用 immortalwrt-mediatek-mt7981-mt7981-360-t7-108M-squashfs-factory.bin ,两种固件区别如下: mt7981-360-t7-108M 为108M固件分区,原厂uboot不可启动,需要修改版u...

产品随想 | 周刊 第85期:e-Residency与数字游民

  David Shambaugh   https://www.google.com/search?q=David+Shambaugh 中国问题研究专家,著作极多 郭玉闪   https://zh.wikipedia.org/wiki/郭玉闪?useskin=vector 中国公共知识分子 我只想好好观影   github.com/BetterWorld-Liuser/autoMovies 刘煜辉:中国资本市场灵魂出窍 最有活力的公司几乎不在A股   https://finance.sina.com.cn/stock/marketresearch/2017-06-23/doc-ifyhmtek7705574.shtml 回看17年的专家讲话,还是挺有水平的,挺多都认可 纽约文化沙龙   https://www.youtube.com/@user-cu2hl5tf6y/videos 视频质量出奇的高,推荐 透视中国政治by吴国光、程晓农 备忘下,貌似评价挺好的一本书 CAPI China Chair Wu Guoguang (吴国光 / 吳國光)   https://www.youtube.com/playlist?list=PLIt1szHhnm_Hso3jGUbfGpnEAbsPOuEVV 因为热爱中国,我们越要看懂中国 AI Canon   https://a16z.com/2023/05/25/ai-canon/ in this post, we’re sharing a curated list of resources we’ve relied on to get smarter about modern AI. We call it the “AI Canon” because these papers, blog posts, courses, and guides have had an outsized impact on the field over the past several years. 希望中国的投資機構,也能有更多的分享與輸出,提升整個社會的認知 Cantonese Font 粵語字體   https://visual-fonts.com/zh/...

Albert Einstein Said Death Is Not An End Can Prompt You To Find The Meaning and Purpose Of Your Life

原文Link: https://quotationize.com/albert-einstein-said-death-not-end/ 产品随想注: 爱因斯坦对于死亡的观点,深深影响了乔布斯  ---------------- Albert Einstein said death is not an end if we can live on in our children and the younger generation is a line taken from the letter which he wrote to the widow of physicist Heike Kamerlingh Onnes in 1926. Besides death, he also talked about afterlife, immortality and soul. If you have read through my authentic collection of Albert Einstein thoughts on God and religion , you would know that he rejected the formal, dogmatic religion. Einstein did not believe in immortality of the individual. According to him, there is no such thing as, punishment for misdeeds or rewards for good behavior in any afterlife. For him, the so-called Theosophy and Spiritualism, was no more than a symptom of weakness and confusion. As Einstein explained that since our inner experiences consist of reproductions, and combinations of sensory impressions, the concept of a soul with...

Interview at the All Things Digital D5 Conference, Steve and Bill Gates spoke with journalists Kara Swisher and Walt Mossberg onstage in May 2007.

Kara Swisher: The first question I was interested in asking is what you think each has contributed to the computer and technology industry— starting with you, Steve, for Bill, and vice versa. Steve Jobs: Well, Bill built the first software company in the industry. And I think he built the first software company before anybody really in our industry knew what a software company was, except for these guys. And that was huge. That was really huge. And the business model that they ended up pursuing turned out to be the one that worked really well for the industry. I think the biggest thing was, Bill was really focused on software before almost anybody else had a clue that it was really the software that— KS: Was important? SJ: That’s what I see. I mean, a lot of other things you could say, but that’s the high-order bit. And I think building a company’s really hard, and it requires your greatest persuasive abilities to hire the best ...

产品爱好者周刊 第26期:PRISM, XKeyscore, Trust No One

  Products Gitea - Git with a cup of tea   https://gitea.io/en-us/ A painless self-hosted Git service. 自建Git服务,避免GitHub隐私侵犯 https://github.com/objective-see/LuLu LuLu is the free macOS firewall 监视Mac的出站流量,且阻断 OverSight   https://github.com/objective-see/OverSight OverSight monitors a mac's mic and webcam, alerting the user when the internal mic is activated, or whenever a process accesses the webcam. 监视是否有应用调用Mac的麦克风、摄像头 Mozilla Hubs   https://github.com/mozilla/hubs The client-side code for Mozilla Hubs, an online 3D collaboration platform that works for desktop, mobile, and VR platforms. 开源的多人虚拟空间,Mozilla打造,企业级VR诉求 数字移民   https://shuziyimin.org 关于内容源、工具的推荐,适合刚接入国际的新人 SimpleLogin   https://simplelogin.io/ 匿名邮箱工具,转发用,Michael Bazzell推荐 Telegram 群组、频道、机器人 - 汇总分享   https://congcong0806.github.io/2018/04/24/Telegram/#机器人-bot https://archive.ph/iJMBj 献给那些将来到Telegram的朋友 Design Patrick Wardle   https://www.instagram.com/patrickwardle/?hl=en 他的IG,摄影也精彩,审美...

NeteaseCloudMusicFlac

原项目地址 https://github.com/YongHaoWu/NeteaseCloudMusicFlac 感谢 为 NeteaseCloudMusicFlac 的开发付出过努力以及提出建议的每一个人! 根据网易云音乐歌单, 下载对应无损FLAC歌曲到本地. BackGround 现在无损资源基本都是专辑, 很难找到单曲来下载. 而且下载需要每个专辑搜索一遍, 需要用云盘复制粘贴密码再下载. 这对于听Hi-Fi的人们来说是非常不便利的事情, 找歌曲可以找一整天. 而现在网易云音乐是绝大多数人听在线歌曲的平台, 歌单众多. 于是我想做如此一个项目, 根据网易云音乐上面的歌单, 自动下载FLAC无损音乐到本地. 注意 海外由于版权问题无法下载歌曲, 所以会导致此 issue , 无法正常使用, 需要修改DNS配置, 里面有解决方法. 安装 安装Python 根据此网站教程安装Python 下载main.py或者python3_main.py python2下载使用此网站上的main.py python3下载使用此网站上的python3_main.py 获取歌单 到 网易云音乐网页版 找出想要下载无损的歌单, 如下图 后进入歌单, 地址栏地址便是歌单地址. 使用 $ python main.py 歌单地址(如上图便是: http://music.163.com/#/playlist?id=145258012) python2示例命令 $ python main.py 'http://music.163.com/#/playlist?id=145258012' python3示例命令 $ python3 python3_main.py 'http://music.163.com/#/playlist?id=145258012' 如果告知缺乏module 下载对应的模块(module), 网上搜索如何安装python模块. python2 pip install requests python3 pip3 install requests TODO list 目前只是匹配歌曲名字, 最好加上匹配歌手名 歌曲匹配率不高, 可以考...

Interview with Steve Jobs, WGBH, 1990

Interviewer: what is it about this machine? Why is this machine so interesting? Why has it been so influential? Jobs: Ah ahm, I'll give you my point of view on it. I remember reading a magazine article a long time ago ah when I was ah twelve years ago maybe, in I think it was Scientific American . I'm not sure. And the article ahm proposed to measure the efficiency of locomotion for ah lots of species on planet earth to see which species was the most efficient at getting from point A to point B. Ah and they measured the kilocalories that each one expended. So ah they ranked them all and I remember that ahm...ah the Condor, Condor was the most efficient at [CLEARS THROAT] getting from point A to point B. And humankind, the crown of creation came in with a rather unimpressive showing about a third of the way down...