精华内容
下载资源
问答
  • python绘制简单图形-python绘制数学图形(堪比matlab)
    2020-11-01 12:42:30

    在开始之前,我要对latex做一点补充。

    上一篇文章中提到了latex绘制流程图,文中给出了一个实例,在具体的应用上也很简单。下面两个网页可能会比较有用,特别是在流程图的绘制上(各类shapes汇总):

    流程图判断——菱形,其变扁的方法:

    下面开始今天要说到的主题。matlab固然很牛叉,但是在理解和实现上还是相对复杂的,python利用现有的库,基本可以实现matlab所有的功能,甚至超越之。与前面的文章相对应,python绘图应该主要着眼的是一些比较严谨的数学公式的绘制问题,相对于latex,其图形更加有数学之美。

    今天晚上,我又整了一下python的绘图,感觉还是比较方便的,50行不到的代码即可实现比较完美的图形,特别推荐。下面对应的依次是图形和代码:

    rcc.jpg

    对应的代码很简单:

    #!/usr/bin/python

    #coding = utf8

    import sys

    import string

    import numpy as np

    import matplotlib.pyplot as plt

    def f_fun(d, k, i):

    a = (2.0*d)/((2.0*k-i-1.0)*i+2.0*k*(d-k+1.0))

    return a

    def g_fun(d, k, i):

    a = (2.0*d-2.0*k+i+1.0)*i*1.0/(2.0*d)

    return a

    def main():

    form = ['ro-', 'b--<', 'g-*', 'y--s', 'c->']

    k = 5

    d = [9, 8, 7, 6, 5]

    x = y = [1.0/k]

    for t in range(5):

    r = [f_fun(d[t], k, i) for i in range(k-1, -1, -1)]

    a = [((1.0-g_fun(d[t], k, i)*r[k-i-1])*1.0/(k-i)) for i in range(k-1, 0, -1)]

    a.append(1.0/k)

    x.append(r[0])

    y.append(a[0])

    plt.plot(r, a, form[t], linewidth = 2.0, label = "$d="+str(d[t])+",n=10,k=5$")

    plt.plot(x, y, linewidth = 1.2, color = 'black')

    plt.plot([1.0], [1.0/k], 'rs')

    plt.annotate("MDS point", xy=(1.0, 1.0/k), xycoords = 'data', xytext=(0.8, 0.25), arrowprops=dict(arrowstyle="->", linewidth = 1.2))

    #plt.plot([1.0], [1.0/k], 'rs')

    plt.legend(loc='upper right')

    plt.title("Storage-Communication tradeoff n=10,k=5,d=5~9,B=1MB")

    plt.ylabel("Storage per node $\alpha$")

    plt.xlabel("Bandwidth to repair one node $\gamma$")

    plt.grid(True)

    plt.show()

    if __name__ == '__main__':

    main()

    更多相关内容
  • 易语言绘制数学图形

    2020-07-17 09:39:13
    易语言绘制数学图形源码,绘制数学图形,draw_Coordinates,update,calcPoint,run_animation,draw_arc_single,draw_arc,draw_line
  • 易语言源码易语言绘制数学图形源码.rar 易语言源码易语言绘制数学图形源码.rar 易语言源码易语言绘制数学图形源码.rar 易语言源码易语言绘制数学图形源码.rar 易语言源码易语言绘制数学图形源码.rar 易语言源码...
  • 易语言绘制数学图形源码
  • 易语言绘制数学图形源码例程程序应用傅立叶变换绘制数学图形。 点评:易语言绘制数学图形源码是易语言数学应用例程。
  • 纯JS 绘制数学函数

    2021-01-21 13:12:37
    绘图对象Plot,包含了JS画点,JS画线,JS画正弦sin,JS画余弦cos,tan,圆,多边形。...JS绘制数学函数图 body{ margin: 0px; padding: 0px; } [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
  • 主要介绍了Python3使用Matplotlib 绘制精美的数学函数图形,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 在PowerPoint2021中制作数学图形立体矩形的简单方法.docx
  • 本程序支持用户输入一般表达式,然后输出其对应的函数图形,例如:一次(二次……)函数,三角函数,双曲余弦,...另外,还支持一些供选择的数学图形,例如:圆,椭圆,三叶玫瑰线,四叶玫瑰线,阿基米德螺线,心形线。
  • 今天小编就为大家分享一篇使用Matplotlib 绘制精美的数学图形例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • ZHFigureDrawingLayer一款白板绘制工具,支持涂鸦、单箭头、直线、虚线、双箭头直线、双杠直线、椭圆、圆形、矩形、三角形、圆弧、正余弦、梯形、菱形、五边形、六边形、坐标系、直角坐标系、三维坐标系、球体、三菱...
  • Python:绘制数学图形

    2019-10-05 22:59:24
    2019年上半年学校举办数学图新设计大赛,交上来的作品有一部分是从网络上下载下来的图片,而并非自己设计。其实不必从网上下载,十几行代码就可以生成和网络上风格相同的图形。 程序很简单,就是下面这样的: ...

    2019年上半年学校举办数学图新设计大赛,交上来的作品有一部分是从网络上下载下来的图片,而并非自己设计。其实不必从网上下载,十几行代码就可以生成和网络上风格相同的图形。

    程序很简单,就是下面这样的:

    import turtle
    t = turtle.Pen()
    t.speed(0)
    turtle.bgcolor('black')
    sides = 2
    colors = ['red', 'yellow', 'blue', 'orange', 'green', 'purple']
    for x in range(360):
        t.pencolor(colors[(x % sides)])
        t.forward(((x * 3) / sides + x))
        t.left((360 / sides + 1))
        t.pensize(((x * sides) / 200))
        t.left(90)
    

    #程序中使用了Python的turtle库。

    运行后便绘制出了如下图片(sides=2):
    在这里插入图片描述
    #sides的值可以改变为1-6这六个数,绘制出的效果不同。

    展开全文
  • 这是一个简单的 GUI 程序,可以根据数学方程式绘制出漂亮的图形
  • 插件使用—更复杂的图形绘制 学完上面一些基础绘图之后,常见图形都可以绘制出来。而对于一些复杂的图形来说,使用插件可以提升效率。 下面以这个幻方的制作为例,来展示如何综合使用各个插件的特性。 制作步骤: 1...

    前言

    这个专栏本不计划继续更新,掌握零基础必看之数学建模索引中的所有内容,美赛M奖应该唾手可得。但是,再往上,进阶到<1%的F奖和O奖,除了模型与运气,更大程度上依赖于插图的美观程度。有人戏称,美赛是作图大赛。确有其道理,精致、良好的图像不仅能够更清晰准确地表达思想,而且能极大提高审阅人的印象分。
    因此,我开设此专栏的番外篇,主要针对论文的画图问题,记录分享相关的经验、技巧,后期会挑一些优秀论文的部分图片来进行复现。

    本篇主要讲解如何使用PPT绘制精美的3D图形,所用到的PPT版本为2019专业增强版。
    文中提到的部分插件可以在我的交流群 710413249 中进行下载。

    为什么选择PPT?

    也许在很多人的印象中,PPT就是一个演讲工具,套套各类模板而已。在学习PPT制图前,我也有此类想法。其实,PPT可以看作一个阉割版AI+阉割版PS+阉割版3Dmax/C4D的缝合怪,它最大的好处是方便快捷。在各类插件的加持下,PPT无法做到专业美工的精细,但足够能应对大多数场景。

    下面就开始学习PPT的3D绘图。

    深度—2D通往3D之路

    平面2D图形,只有x,y两个维度,要进化成3D图形,就需要新增一个z维度,而这个维度就是深度

    创建一个矩形,设置深度大小。
    在这里插入图片描述
    由于深度设置完之后,方向垂直于屏幕,因此看不到效果。旋转一下角度就可以得到一个立方体:
    在这里插入图片描述

    布尔运算—PPT的精髓

    经过上面的操作,可以发现,所有的3D图形都可以通过2D图形+深度进行生成。所以要获得合适的3D图形,首先要控制好2D图形的形状。而PPT特别的布尔运算,可以让我们快速获得各类形状。

    布尔运算主要包括五种:拆分、剪除、结合、相交、组合
    下面将逐一演示其效果。
    在这里插入图片描述
    布尔运算和选择的前后顺序有关,本演示均先以蓝色圆圈作为主对象。

    拆分:
    在这里插入图片描述
    可以发现,拆分是将两圆相交的部分沿轮廓拆解出来。

    剪除:
    在这里插入图片描述
    剪除是将主对象未相交的部分提取出来。

    结合:
    在这里插入图片描述
    结合即逻辑合取。

    相交:
    在这里插入图片描述
    相交即逻辑析取。

    组合:

    在这里插入图片描述
    组合保留两者相交的补集。

    绘制一个太极图

    理解布尔运算的功能后,就能利用其功能绘制一个更复杂点的太极图了。
    在这里插入图片描述
    绘制步骤如下:
    1、按Alt+F9呼出参考线
    2、创建一个10x10的正圆在中心
    3、使用一矩形覆盖半圆,使用合并形状->拆分,将大圆拆分成两个半圆。
    4、创建两个5x5的小圆,移到大圆上下两部分中心。
    5、Ctrl+D复制一层幻灯片。
    6、在原幻灯片上选择左半部分和上圆,使用合并形状->结合,得到上蝌蚪形;在新幻灯片使用类似操作,得到下蝌蚪形。
    7、拼合两个蝌蚪,添加中心小圆,调色即可。

    材料与光源—美化的核心

    下面再回到3D图的美化,主要来看看两个核心属性-材料与光源。

    首先来建立一个球体:
    建立一个正圆形,设置顶部棱台和底部棱台宽/高为圆形半径的一半。
    在这里插入图片描述
    得到球体:
    在这里插入图片描述
    材料与光源都有多种选择:
    在这里插入图片描述
    下面是一些常用组合,适用于不同的场景:
    在这里插入图片描述

    纹理与渐变—美观立竿见影

    在图片或形状的填充方式中,可以选择渐变填充和纹理填充。

    纹理填充

    在这里插入图片描述
    先看看纹理填充,PPT自带了很多中纹理可供选择,比如这个长方体,选择木质纹理填充后,变成了一块逼真的木板:
    在这里插入图片描述
    此外,纹理填充有个剪切板的按键,网上可以随便搜索一个纹理,复制,再点击剪切板,即可直接将纹理填充上去。
    例如:复制金质素材后,木板就可以变成金板。
    在这里插入图片描述
    不过纹理填充有个缺陷:正面填充正常,侧面填充会被拉伸。

    渐变填充

    使用渐变填充,可以制作一块彩虹板:
    在这里插入图片描述
    渐变光圈可以任意添加,按钮左侧是增加一个光圈,后侧是减少一个光圈。

    通过渐变填充,可以增强材质的质感,例如使用灰色和银色交替的线性渐变,可以实现铝合金的材质效果。
    在这里插入图片描述

    渐变锐化—复刻一个宝可梦精灵球

    在渐变填充中,可以发现两个光圈颜色不一致时,中间区域呈现过渡状态。当两个光圈接近或重合时,过渡带消失,这就是渐变锐化

    下面就用球体和渐变锐化,来制作一个宝可梦精灵球。

    在这里插入图片描述
    左图为网上下载的照片,右图为复刻样品,不是一模一样也是非常惊艳了。

    下面就将球进行拆解,看看如何制作:
    在这里插入图片描述
    整个部分主要由四个零件组成:
    主球体采用渐变锐化:参数设置如图所示:
    在这里插入图片描述
    红色光圈设置为47%,黑色光圈设置为48%和52%,白色光圈设置为53%,采用线性(从上到下)渐变即可。

    剩下三个部件即普通的正圆,其中,为了突显按钮的效果,为最内层的圆添加一层外阴影,立体的效果就出来了。

    编辑结点—更自由的转换

    对于不规则的形状,可以采用编辑结点来实现。例如,实现一个弯曲的箭头效果:
    在这里插入图片描述
    首先绘制一个普通箭头,右键->编辑顶点,删除左下方结点,调节其他结点的控制手柄,实现效果。

    棱台—快速变得高大上

    在上面建立球体,已经使用过圆棱台。
    这里再次将棱台的作用开发一下,可以用圆棱台来快速提升图形的立体感。
    以长方体为例,左侧为修改之前,右侧为修改之后。
    在这里插入图片描述
    可以发现,添加圆棱台之后,图形的高级感立刻出来了。
    对于长方体来说,直接使用圆棱台会让边角过渡不太自然,因此可以使用圆角矩形。

    此外,还有其它棱台种类,可试不同情况来使用:
    在这里插入图片描述
    注:该图源自《PPT3D科研绘图》(https://study.163.com/course/courseMain.htm?courseId=1209399865)

    曲面图—勾勒立体图轮廓

    在形状菜单中,还有个属性比较重要——曲面图。
    在这里插入图片描述
    简单来说,对于立体图形,不能直接使用轮廓线勾勒轮廓,而用曲面图可以达成这一目的。当图形颜色和背景颜色接近时,使用曲面图可以增强图形的立体效果。

    曲线图和轮廓线的对比如图所示:
    在这里插入图片描述

    剖面制作—考验你的空间想象力

    PPT无法模拟出一个球被截去一面的效果,因此要制作剖面的制作本质上是图形的遮挡。
    例如:制作下面这个球体顶部截取一段的剖面。

    在这里插入图片描述
    这里使用了一个球体再用渐变的椭圆覆盖,再调节光照角度。
    整体效果还不是很完美,剖面绘制非常考验美术功底。

    插件使用—更复杂的图形绘制

    学完上面一些基础绘图之后,常见图形都可以绘制出来。而对于一些复杂的图形来说,使用插件可以提升效率。

    下面以这个幻方的制作为例,来展示如何综合使用各个插件的特性。
    在这里插入图片描述
    制作步骤:
    1、使用曲线工具,勾勒出一个不规则形状。
    在这里插入图片描述
    2、使用islide插件的->设计排版->矩阵布局,绘制出5x5的图形矩阵,并调节间距。
    在这里插入图片描述
    3、全选,使用OneKey插件的旋转递进->随机旋转,使所有不规则图形有不同的角度。
    在这里插入图片描述

    4、使用英豪插件的位置分布->噪波工具,进一步让图形具备随机性。

    在这里插入图片描述

    5、使用一个矩形覆盖住图形的大半部分,复制一份,第一份使用相交,第二份使用剪除,得到两个互补的矩形。
    在这里插入图片描述
    6、修改左图的颜色,并为其增加一个顶部的角度棱台,为右图增加一个顶部的圆棱台,增加其立体效果。
    在这里插入图片描述
    7、选中两者,使用垂直居中、水平居中,右键->组合。
    在这里插入图片描述
    8、复制该图形五次,形成立方体的六个面,全部选中,使用OneKey的三维工具->沙漪立方拼,调节旋转角度。
    (注:此步计算量大,会较为卡顿)
    在这里插入图片描述
    9、打开图层窗格,选择所有黑色部分,调节距底边高度,使内嵌部分突出来与空隙契合,得到最终成品。
    在这里插入图片描述
    在这里插入图片描述
    上面的制作过程体现了各插件的综合使用,更多常用插件效果可参考下图:
    在这里插入图片描述
    在这里插入图片描述
    注:该图源自《PPT3D科研绘图》(https://study.163.com/course/courseMain.htm?courseId=1209399865)

    导出图片

    为了在论文中使用精致地图片,图片的高清非常必要。之间截图往往会导致图片分辨率低,影响美观。
    OneKey插件的OK拼图可以方便地导出高清图片,设置如下:
    在这里插入图片描述

    PPT快捷键整理

    下面整理了一些PPT常用的快捷键,用以提升作图效率。

    场景快捷键作用
    插入形状shift插入形状纵横比为1:1
    ctrl插入形状的中心为起点
    shift+ctrl插入形状纵横比为1:1,形状的中心为起点
    缩放shift等比例缩放
    ctrl缩放时中心位置不变
    shift+ctrl从中心等比例缩放
    复制粘贴ctrl+c复制
    ctrl+v粘贴
    ctrl+x剪切
    ctrl+d快速复制
    ctrl+shift复制到水平/垂直位置
    移动与旋转ctrl+上下左右微移
    shift水平/垂直移动
    Alt+左右15°旋转
    组合ctrl+G组合
    ctrl+shift+G解除组合
    格式设置ctrl+shift+c格式复制
    ctrl+shift+v格式粘贴
    上下角标ctrl+"+="将所选文字设置为下标
    ctrl+shift+"+="将所选文字设置为上标
    展开全文
  • C# 递归绘制数学图形

    2010-04-26 18:55:56
    使用递归的方法绘制圆,构成一些比较好看的图形,是一个视频教程上的例子。绘图参数可选,如颜色,递归深度等。
  • 好吧,我承认turtle库令我爱不释手,这几天又画了一个数学图形,来分享一下。 import turtle ninja = turtle.Pen() ninja.hideturtle() ninja.pencolor("#3333ff") ninja.speed(10) for i in range(180): ninja....

    好吧,我承认turtle库令我爱不释手,这几天又画了一个数学图形,来分享一下。

    import turtle
    ninja = turtle.Pen()
    ninja.hideturtle()
    ninja.pencolor("#3333ff")
    ninja.speed(10)
    for i in range(180):
        ninja.forward(100)
        ninja.right(30)
        ninja.forward(20)
        ninja.left(60)    
        ninja.forward(50)    
        ninja.right(30)    
        ninja.penup()    
        ninja.goto(0, 0)    
        ninja.pendown()   
        ninja.right(2)
    turtle.done()
    

    运行结果:
    在这里插入图片描述

    展开全文
  • ##java基础–用Java语言生成图形 //使用"psvm"+enter键 可快速创建main方法 //使用"sout"+enter键 可快速生成输出语句,自己可尝试一下 ## 1.生成矩形 public static void main(String[] args) { //生成一个10行...
  • 结果发现,完全用不着明白什么是编程,就可以使用它完成很多数学函数图的绘制。通过以下两个步骤,就可以进行数学函数的绘制了。两个步骤(1)安装 AnacondaAnaconda 包含了 Python 的运行环境、诸多科学计算库以及...
  • 用C++实现数学函数图形绘制.doc
  • mfc绘制数学函数图像

    2020-07-18 22:52:49
    基于MFC编写一个单文档程序,在客户区用图形来展现各种数学函数曲线。 具体要求: 1)可绘制常见的数学函数曲线,如三角函数、指数函数、幂函数等。 2)通过菜单选择不同的函数曲线类型,可以通过对话框指定该函数的...
  • 基于MATLAB的数学图形制作.pdf
  • 作为数学老师,你是不是整天都在为准确备课笔记而发愁,一想到有很多几何图就觉得头疼,不知不觉中就得了备课恐惧症。不用怕!用几何画板来帮助你画几何图,绝对会让你的备课恐惧症瞬间消失! 几何画板免费获取...
  • 一、二维曲线及二维图形 1-plot(x,y)函数的基本用法 plot(x,y)函数的基本用法:其中分别用于存储x坐标和y的坐标。 我们看一下例子1,用plot函数绘制一条折线。代码如下: x = [2.5, 3.5, 4, 5] ; y = [1.5,...
  • VB绘制函数图形

    2021-05-01 04:44:43
    VB6.0绘制标准三行代码实现在Picture1中绘制黑色的水平坐标轴和垂直坐标轴,绘制白色函数图形,有规律可循的曲线图形,有Vb6的直接编译就行了,源代码免费开源。 运行环境:Windows/VB6
  • Graph是一款开源软件,用来在坐标系统绘制数学图形,即函数图形。任何想要绘制函数图形的人都会发现这个软件非常有用。并且该程序绘制的图形可以很容易地粘贴到其它应用程序。它也具备一些数学运算的功能。 在菜单栏...
  • Plotter是一个现代的,全平台的图形计算系统,它基于游戏引擎和数学计算库 绘图仪Android应用程序的下载链接 :link: : : 让我们从Plotter是什么开始:轻巧,跨平台,独立于网络的便携式科学计算软件。 实际上,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,017
精华内容 20,406
关键字:

如何绘制数学图形