啥是佩奇我用Mathematica画给你看!

RunMews RunMews 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

火遍全网的《啥是佩奇》8分钟完整版「啥是佩奇?」「我用 Mathematica 画给你看!」最近被一部微电影《啥是佩奇》给刷屏了。如果有人问你,「啥是佩奇」,该怎么办呢?如果你会Mathematica就好办了——「我用 Mathematica 画给你看!」

啥是佩奇——结构分析

我们先来分析一下佩奇的脸部结构:

首先,我们把佩奇的脸拆分成简单的几何结构,然后再用参数方程来描述,最后就可以调用Mathematica中的ParametricPlot命令来绘图了。分析之后,可以发现佩奇的脸主要由圆形、椭圆、抛物线,以及少量不规则形态构成。上图之中,红色曲线表示圆形或椭圆形;蓝色曲线表示抛物线;而红色虚线表示由圆形变换所得的曲线;绿色曲线表示抛物线与圆组合而成的曲线。等等

啥是 Mathematica?

Mathematica 是备受科研人员喜爱的编程工具,它神通广大,详细了解请点下面的链接:

「简洁」又堪比「百科全书」的编程语言,了解一下?

一杯水为何存在:“涌现”与复杂性

用元胞自动机玩音乐?还这么好听!

如何用 Mathematica 窥探质数分布中隐藏的分形规律

数据处理,大物实验的[终极神器]

咳咳下面是代码教程——(视频教程在文末)

参数方程绘制

1.佩奇的脸:首先,我们来绘制整体的脸型,也就是曲线一。这种螺旋变大的曲线,可以当作是圆的一个变体,在不断顺时针旋转的过程中,半径也在不断增大,这样我们就有了第一个曲线(注意,在后面的文章中,变量t的取值范围都是0到1):(1 + t^10){1Cos[\[Pi]/6 - 2\[Pi] (1/16 + 15/16t)], Sin[\[Pi]/6 - 2 \[Pi](1/16 + 15/16t)]}

2.佩奇的下巴:然后,我们再画四号曲线,也就是下巴。这里为了简单,我们用抛物线来绘制。经过几次试错,我们得到了这个曲线:{t*4/5+ 1, 1/3t^2+ 1/7}

3.佩奇的鼻子:最后我们画上猪鼻子,这是一个椭圆加上两个小圆:{1/4 Cos[2 \[Pi] t] + 8/5, 1/3 Sin[2 \[Pi] t] + 7/10}, {1/16 Cos[2 \[Pi] t] + 8/5 - 1/8, 1/16 Sin[2 \[Pi] t] + 7/10}, {1/16 Cos[2 \[Pi] t] + 8/5 + 1/8, 1/16 Sin[2 \[Pi] t] + 7/10}

4.佩奇的眼睛:同样的道理,我们再绘制两个猪眼睛:

5.佩奇的嘴巴:然后我们来画嘴。为了简化,同样用抛物线来绘制佩奇的嘴巴:{t - 1/3, (t - 2/5)^2 - 1/2}

6.佩奇的耳朵:最后,我们来绘制佩奇的耳朵(突然发现佩奇的耳朵和一般的猪不一样啊……)。通过观察,我们可以发现,佩奇的耳朵可以看作是一个在极坐标系中的:

那么我们就可以将它转化到笛卡尔坐标系下,用参数方程来描述。这里再经过几次试错之后,就能得到耳朵的方程:{(3/2 - 2 (t - 1/2)^2) Cos[ t/3 + (2 \[Pi])/3], (3/2 - 2 (t - 1/2)^2) Sin[ t/3 + (2 \[Pi])/3]}, {(3/2 - 2 (t - 1/2)^2) Cos[ t/3 + \[Pi]/2], (3/2 - 2 (t - 1/2)^2) Sin[ t/3 + \[Pi]/2]}

至此,大功告成!

和原图相比,是不是很像呢?

和老爷爷做的佩奇相比,谁更像呢?

附录1:Mathematica源代码ParametricPlot[{(1 + t^10) {1 Cos[\[Pi]/6 - 2 \[Pi] (1/16 + 15/16 t)], Sin[\[Pi]/6 - 2 \[Pi] (1/16 + 15/16 t)]}, {t*4/5 + 1, 1/3 t^2 + 1/7}, {1/4 Cos[2 \[Pi] t] + 8/5, 1/3 Sin[2 \[Pi] t] + 7/10}, {1/16 Cos[2 \[Pi] t] + 8/5 - 1/8, 1/16 Sin[2 \[Pi] t] + 7/10}, {1/16 Cos[2 \[Pi] t] + 8/5 + 1/8, 1/16 Sin[2 \[Pi] t] + 7/10}, 0.15 {Cos[2 \[Pi] t], Sin[2 \[Pi] t] + 0.8/0.15}, 0.15 {Cos[2 \[Pi] t] + 0.6/0.15, Sin[2 \[Pi] t] + 0.9/0.15}, 0.05 {Cos[2 \[Pi] t], Sin[2 \[Pi] t] + 0.8/0.05}, 0.05 {Cos[2 \[Pi] t] + 0.6/0.05, Sin[2 \[Pi] t] + 0.9/0.05}, {t - 1/3, (t - 2/5)^2 - 1/2}, {(3/2 - 2 (t - 1/2)^2) Cos[ t/3 + (2 \[Pi])/3], (3/2 - 2 (t - 1/2)^2) Sin[ t/3 + (2 \[Pi])/3]}, {(3/2 - 2 (t - 1/2)^2) Cos[ t/3 + \[Pi]/2], (3/2 - 2 (t - 1/2)^2) Sin[ t/3 + \[Pi]/2]}}, {t, 0, 1}, PlotRange -> All]附录2:数学表达式轮廓:

鼻子:

眼睛:

嘴巴:

耳朵:

视频小教程:教你用 Mathematica 画小猪佩奇

让苹果砸得更猛烈些吧!


每一个HTML文档中,都有一个不可或缺的标签:<head>,在几乎所有的HTML文档里, 我们都可以看到类似下面这段代码:

html{color:#000;overflow-y:scroll;overflow:-moz-scrollbars}
body,button,input,select,textarea{font-size:12px;font-family:Arial,sans-serif}
h1,h2,h3,h4,h5,h6{font-size:100%}
em{font-style:normal}
small{font-size:12px}
ol,ul{list-style:none}
a{text-decoration:none}
a:hover{text-decoration:underline}
legend{color:#000}
fieldset,img{border:0}
button,input,select,textarea{font-size:100%}
table{border-collapse:collapse;border-spacing:0}
img{-ms-interpolation-mode:bicubic}
textarea{resize:vertical}
.left{float:left}
.right{float:right}
.overflow{overflow:hidden}
.hide{display:none}
.block{display:block}
.inline{display:inline}
.error{color:red;font-size:12px}
button,label{cursor:pointer}
.clearfix:after{content:'\20';display:block;height:0;clear:both}
.clearfix{zoom:1}
.clear{clear:both;height:0;line-height:0;font-size:0;visibility:hidden;overflow:hidden}
.wordwrap{word-break:break-all;word-wrap:break-word}
.s-yahei{font-family:arial,'Microsoft Yahei','微软雅黑'}
pre.wordwrap{white-space:pre-wrap}
body{text-align:center;background:#fff;width:100%}
body,form{position:relative;z-index:0}
td{text-align:left}
img{border:0}
#s_wrap{position:relative;z-index:0;min-width:1000px}
#wrapper{height:100%}
#head .s-ps-islite{_padding-bottom:370px}
#head_wrapper.s-ps-islite{padding-bottom:370px}#head_wrapper.s-ps-islite #s_lm_wrap{bottom:298px;background:0 0!important;filter:none!important}#head_wrapper.s-ps-islite .s_form{position:relative;z-index:1}#head_wrapper.s-ps-islite .fm{position:absolute;bottom:0}#head_wrapper.s-ps-islite .s-p-top{position:absolute;bottom:40px;width:100%;height:181px}#head_wrapper.s-ps-islite #s_lg_img,#head_wrapper.s-ps-islite#s_lg_img_aging,#head_wrapper.s-ps-islite #s_lg_img_new{position:static;margin:33px auto 0 auto}.s_lm_hide{display:none!important}#head_wrapper.s-down #s_lm_wrap{display:none}.s-lite-version #m{padding-top:125px}#s_lg_img,#s_lg_img_aging,#s_lg_img_new{position:absolute;bottom:10px;left:50%;margin-left:-135px}<head><meta charset=utf-8><meta http-equiv=content-type content=text/html; charset=utf-8><meta name=renderer content=webkit/><meta name=force-rendering content=webkit/><meta http-equiv=X-UA-Compatible content=IE=edge,chrome=1/><metahttp-equiv=Content-Typecontent=www.aimssg.cn;charset=gb2312><meta name=viewport content=width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no></head>.s-ps-sug table{width:100%;background:#fff;cursor:default}.s-ps-sug td{color:#000;font:14px arial;height:25px;line-height:25px;padding:0 8px}.s-ps-sug td b{color:#000}.s-ps-sug .mo{background:#ebebeb;cursor:pointer}.s-ps-sug .ml{background:#fff}.s-ps-sug td.sug_storage{color:#7a77c8}.s-ps-sug td.sug_storage b{color:#7a77c8}.s-ps-sug .sug_del{font-size:12px;color:#666;text-decoration:underline;float:right;cursor:pointer;display:none}.s-ps-sug .sug_del{font-size:12px;color:#666;text-decoration:underline;float:right;cursor:pointer;display:none}.s-ps-sug .mo .sug_del{display:block}
.s-ps-sug .sug_ala{border-bottom:1px solid #e6e6e6}

head标签作为一个容器,主要包含了用于描述 HTML 文档自身信息(元数据)的标签,这些标签一般不会在页面中被显示出来。

...全文

相关推荐

idea2025-free.zip

idea2025-free.zip

qq_45190508

机械三维3D设计图-高炉开铁口钻钎机构系统设计.zip

机械三维3D设计图-高炉开铁口钻钎机构系统设计.zip

ZL4120505

机械三维3D设计图-自动下落吹钉振动盘.zip

机械三维3D设计图-自动下落吹钉振动盘.zip

ZL4120505

基于一致性理论的三机并联独立微网二次控制模型研究(Simulink仿真实现)

内容概要:本文针对三机并联独立微网系统,研究了基于一致性理论的二次控制模型,旨在解决传统一次控制中存在的电压与频率偏差问题,实现微网中多个分布式电源间的协同自治运行。通过引入一致性算法,设计了分布式二次控制策略,能够在无需中央控制器的情况下,实现各分布式单元间的信息交互与状态同步,有效恢复系统电压和频率至额定值,提升微网孤岛运行模式下的电能质量和动态稳定性。研究基于Matlab/Simulink平台构建了完整的三机并联微网仿真模型,详细阐述了控制器架构设计、一致性协议构建及关键参数整定方法,并通过仿真实验验证了所提控制策略在负载突变、机组投切等工况下的有效性、鲁棒性与优越的动态响应性能。该成果为独立微网的分布式协同控制提供了切实可行的技术方案和理论依据。; 适合人群:具备电力系统、电气工程及其自动化、新能源科学与工程等相关专业背景的科研人员与工程技术人员,熟悉MATLAB/Simulink仿真工具,尤其适合从事微电网控制、分布式能源协调优化、智能电网等方向的研究学者与研究生。; 使用场景及目标:① 学习并掌握基于一致性理论的分布式协同控制原理及其在微网二次控制中的具体应用;② 深入理解多智能体系统在电力系统中的建模与仿真方法;③ 为独立微网、海岛微网、偏远地区供电系统等无主站场景下的稳定运行提供控制策略设计参考与仿真验证案例。; 阅读建议:建议读者结合微网基础知识与控制理论进行学习,重点关注一致性协议的数学建模与Simulink模块化实现过程,通过修改仿真参数、测试不同通信拓扑等方式深入理解控制效果的影响因素,并可进一步将该思想拓展至更复杂的多能微网系统研究中。

荔枝科研社

国央企创新负责人如何高效配置内部创新资源与外部转化平台?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN
评论
收藏 已收藏
分享
返回顶部
RunMews
大数据技术社区 24,678 成员 597 内容