昨天写了一篇subplot的练习放到微信公众账号中,想用一个莫比乌斯环的图片作为封面图片,就去维基百科上扒了一个。但是分辨率很低,就想自己绘出一个来。没想到越陷越深,就一起把3D绘图给学习了一遍。

(我昨天在CSDN发表了这篇文章,今天竟然找不到了!)

源代码:https://github.com/gt11799/mobiusband

有关莫比乌斯带,请戳维基百科http://zh.wikipedia.org/wiki/%E8%8E%AB%E6%AF%94%E4%B9%8C%E6%96%AF%E5%B8%A6

函数已经给出,剩下的就是取值,绘图。要绘3D图,X,Y,Z都得是矩阵。平常的做法就是遍历,给矩阵中的每一个元素赋值,如果取样点为100,那么计算X的赋值次数就是100*100,每次赋值还要计算两次cos()。

这就要请出今天的明星-numpy。

numpy是python中的高效数值运算模块。其中包含了各种数学运算,以及array数据类型,这些都是用C写的,如果只是进行少量数值的运算,numpy的性能是低于math的,但是大批量的数值运算,numpy的优势就体现出来了。

首先介绍的是array数据类型,很像list,但是可以不用迭代,直接运算。

>>> from numpy import *>>> a = array([1,2,3,4])>>> a * 3array([ 3,  6,  9, 12])

这样就可以直接把取样点直接投到函数中得到X的值。

取样也很方便,比如在这个例子中,我们可以这么取v和u:

用python绘出一个莫比乌斯环相关推荐

  1. python莫比乌斯_用python绘出一个莫比乌斯环

    昨天写了一篇subplot的练习放到微信公众账号中,想用一个莫比乌斯环的图片作为封面图片,就去维基百科上扒了一个.但是分辨率很低,就想自己绘出一个来.没想到越陷越深,就一起把3D绘图给学习了一遍. ( ...

  2. python莫比乌斯环_【干货】用python绘出神奇的莫比乌斯环~

    昨天写了一篇subplot的练习放到微信公众账号中,想用一个莫比乌斯环的图片作为封面图片,就去维基百科上扒了一个.但是分辨率很低,就想自己绘出一个来.没想到越陷越深,就一起把3D绘图给学习了一遍. 源 ...

  3. python中词云图怎样变成特殊图案_如何利用python画出一个多变的词云图?(1)...

    问题描述: 如何利用python画出一个多变的词云图? 解决方法:import numpy as np import matplotlib import matplotlib.pyplot as pl ...

  4. Python|画出一个300像素的十字架

    本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 前言 后台收到了一个粉丝的提问:如何画出一个像素为300的十字架. 问题描述 在python中如何画出 ...

  5. openCV: 利用python和cv2绘出一个笑脸

    import cv2 import numpy as np from matplotlib import pyplot as plt img = np.zeros((512,512,3),np.uin ...

  6. Python 找出一个整数数组中,第二大的数。

    问题的要求: 给你一个整形数组,找出这个数组中第二个大的数. 比如说:num_list = [98,12,45,1,2,32,90,45,23,121,11] 第二大的数是98 解决方法: 方法1: ...

  7. python画出一个梅花_如何用Python画一棵漂亮的树

    Tree 海龟绘图turtle 在1966年,Seymour Papert和Wally Feurzig发明了一种专门给儿童学习编程的语言--LOGO语言,它的特色就是通过编程指挥一个小海龟(turtl ...

  8. Python写出一个字节,一个YouTube,我用Python怎么了!

    Python 近两年一直霸占编程语言排行榜 TOP10,受欢迎程度有目共睹.其实在企业招聘层面也可以从侧面看出,大中小企业甚至国营企业已经陆续开始使用 Python 开发. 国内用 Python 最广 ...

  9. python 等值线图_如何用Python绘出三值等值线图?

    如果可以生成要绘制任意比例轮廓的数据,则有一种解决方法.在这种情况下,您可以在网格上生成(x,y)数据,将它们映射到重心坐标,并计算z值.然后您可以使用非三元图,如轮廓或曲面.在 下面是一个绘制Dir ...

最新文章

  1. 做 AI 大咖在顶级单位之间随兴漂移,好开心!
  2. JAVA-集合作业-已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。采用List集合和随机数...
  3. 命令获取计算机信息,教你怎么在windows上用命令查看系统信息
  4. Kubernetes二进制集群部署+Web管理界面+kubectl 命令管理+YAML文件详解(集合)
  5. mysql存储过程语法 if_mysql存储过程语法 if
  6. android将拍摄的图片存入sd卡中,Android将图片保存至SD卡上
  7. 用于用户C语言标识符,下列可用于C语言用户标识符的一组是( )
  8. 不用图片而用css3实现一些阴影特效
  9. utf—8在苹果手机上乱码_Xcode下的中文乱码问题
  10. 如何在Windows下搭建Android开发环境
  11. ip tcp udp mpeg4头结构的定义
  12. 模仿iframe框架,由分隔栏动态改变左右两侧div大小———基于jQuery
  13. 安卓手机上最好的3个mobi阅读器
  14. Windows系统安装Mysql前运行库依赖
  15. 更改putty默认配色方案
  16. 关于对-rw-r--r-- 的详细讲解
  17. 实战 SQL:实现百度、高德等地图中的地铁换乘线路查询
  18. 什么是GCC,ICC,IAR
  19. java中小写字母转化大写字母,大写字母转化小写字母
  20. Python:实现sha1算法(附完整源码)

热门文章

  1. jenkins汉化一部分问题(一半中文一半英文)解决
  2. 【论文阅读笔记|ACL2019】PLMEE:Exploring Pre-trained Language Models for Event Extraction and Generation
  3. 七年程序老鸟理解的互联网3.0时代
  4. 使用AudioTrack播放pcm流式音频
  5. 听说:用过这几个网站的程序员,早已领先身边人一大截!
  6. git的分支管理(详细版)
  7. 做幼儿教育培训类型的网站注意事项
  8. Java语言程序设计(一)
  9. 计算机视觉——实验四-全景图像拼接
  10. Xtrabackup在线搭建备库与并行复制延迟