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

做网站模板和服务器是一样的吗网站设计公司请示

做网站模板和服务器是一样的吗,网站设计公司请示,网站建设与开发英文文献,什么是网络营销组合策略学习了一段时间的画图,已经掌握了一些3D图的画法,部分链接如下: python画图|极坐标下的3D surface-CSDN博客 python画图|3D参数化图形输出-CSDN博客 我们今天尝试一下月亮的画法。 【1】官网教程 首先还是到达官网教程学习: …

学习了一段时间的画图,已经掌握了一些3D图的画法,部分链接如下:

python画图|极坐标下的3D surface-CSDN博客

python画图|3D参数化图形输出-CSDN博客

我们今天尝试一下月亮的画法。

【1】官网教程

首先还是到达官网教程学习:

3D surface (solid color) — Matplotlib 3.9.2 documentation

这里只给出了球体的画法,因此我们要自己探索。

探索之前先对官网代码进行解读。

【2】代码解读

首先依然是matpl和numpy的引入:

import matplotlib.pyplot as plt  #引入matplotlib模块画图
import numpy as np #引入numpy模块做数学计算

然后定义了要画图:

fig = plt.figure() #定义要画图
ax = fig.add_subplot(projection='3d') #定义要画3d图

之后定义了变量:

# Make data
u = np.linspace(0, 2 * np.pi, 100) #定义自变量
v = np.linspace(0, np.pi, 100) #定义自变量
x = 10 * np.outer(np.cos(u), np.sin(v)) #定义因变量
y = 10 * np.outer(np.sin(u), np.sin(v)) #定义因变量
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v)) #定义因变量

最后定义了图形类型并要求输出图形:

# Plot the surface
ax.plot_surface(x, y, z) #定义图形类型为surface# Set an equal aspect ratio
ax.set_aspect('equal') #设置坐标比例plt.show() #输出图形

至此完整的代码注释为:

import matplotlib.pyplot as plt  #引入matplotlib模块画图
import numpy as np #引入numpy模块做数学计算fig = plt.figure() #定义要画图
ax = fig.add_subplot(projection='3d') #定义要画3d图# Make data
u = np.linspace(0, 2 * np.pi, 100) #定义自变量
v = np.linspace(0, np.pi, 100) #定义自变量
x = 10 * np.outer(np.cos(u), np.sin(v)) #定义因变量
y = 10 * np.outer(np.sin(u), np.sin(v)) #定义因变量
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v)) #定义因变量# Plot the surface
ax.plot_surface(x, y, z) #定义图形类型为surface# Set an equal aspect ratio
ax.set_aspect('equal') #设置坐标比例plt.show() #输出图形

输出图形为:

图1

在代码中,np.ones()d的功能是输出全是1的矩阵,用下述代码进行测试:

import matplotlib.pyplot as plt  #引入matplotlib模块画图
import numpy as np #引入numpy模块做数学计算fig = plt.figure() #定义要画图
ax = fig.add_subplot(projection='3d') #定义要画3d图# Make data
u = np.linspace(0, 2 * np.pi, 100) #定义自变量
v = np.linspace(0, np.pi, 100) #定义自变量
x = 10 * np.outer(np.cos(u), np.sin(v)) #定义因变量
y = 10 * np.outer(np.sin(u), np.sin(v)) #定义因变量
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v)) #定义因变量print('np.size(u)=',np.size(u)) #输出np.size(u)的结果,也就是输出u的维度
print('np.ones(np.size(u))=\n',np.ones(np.size(u))) #按照u的维度输出全是1的一阶矩阵

此时的输出结果为:

np.size(u)= 100
np.ones(np.size(u))=
 [1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
 1. 1. 1. 1.]

【3】代码修改

月亮的颜色一般是渐变的,因此要设置颜色,首先尝试纯色设置,改变图形输出代码为:

# Plot the surface
ax.plot_surface(x, y, z,color='y') #定义图形类型为surface

输出结果为:

图2

可见这只是将球体变成黄色,没有渐变效果。

下一步尝试使用cmap来说设置颜色,之后有很好的实践效果,参考下述链接:

python画图|极坐标下的3D surface-CSDN博客

更具体的,追溯到官网链接:

https://matplotlib.org/stable/users/explain/colors/colormaps.html

为此改变图形输出代码为:

# Plot the surface
ax.plot_surface(x, y, z,cmap='binary') #定义图形类型为surface

此时的输出结果为:

图3

由图3可见,球体的颜色变成黑白渐变。

至此的完整代码为:

import matplotlib.pyplot as plt  #引入matplotlib模块画图
import numpy as np #引入numpy模块做数学计算fig = plt.figure() #定义要画图
ax = fig.add_subplot(projection='3d') #定义要画3d图# Make data
u = np.linspace(0, 2 * np.pi, 100) #定义自变量
v = np.linspace(0, np.pi, 100) #定义自变量
x = 10 * np.outer(np.cos(u), np.sin(v)) #定义因变量
y = 10 * np.outer(np.sin(u), np.sin(v)) #定义因变量
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v)) #定义因变量# Plot the surface
ax.plot_surface(x, y, z,cmap='binary') #定义图形类型为surface# Set an equal aspect ratio
ax.set_aspect('equal') #设置坐标比例plt.show() #输出图形

【4】代码改写

首先将ax.set_aspect('equal')改为注释,或者直接将其删除,输出结果为:‘

图4

可见球体略变,变成椭球体。 ax.set_aspect('equal')具有让各坐标轴按照相等的宽高比变化。

ax.set_aspect('equal')

恢复ax.set_aspect('equal'),修改Z的定义为:使其变量数增大一倍

z = 10 * np.outer(2*np.ones(np.size(u)), np.cos(v)) #定义因变量

同时把颜色改为纯色:

# Plot the surface
ax.plot_surface(x, y, z,color='w') #定义图形类型为surface

此时的输出结果为:

图5

由图5可见,变量个数对图形结果影响很大。这个椭球体已经不太像常规见到的月亮。

然后我们把自变量的个数改为1000,让图形细化,改后的变量定义为:

# Make data
u = np.linspace(0, 2 * np.pi, 1000) #定义自变量
v = np.linspace(0, np.pi, 1000) #定义自变量
x = 10 * np.outer(np.cos(u), np.sin(v)) #定义因变量
y = 10 * np.outer(np.sin(u), np.sin(v)) #定义因变量
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v)) #定义因变量

颜色设置也稍微修改一下:

# Plot the surface
ax.plot_surface(x, y, z,cmap='Wistia') #定义图形类型为surface

此时的输出结果为:

图6

图6好像是一个熟透的月饼做的月亮。

至此的完整代码为:

import matplotlib.pyplot as plt  #引入matplotlib模块画图
import numpy as np #引入numpy模块做数学计算fig = plt.figure() #定义要画图
ax = fig.add_subplot(projection='3d') #定义要画3d图# Make data
u = np.linspace(0, 2 * np.pi, 1000) #定义自变量
v = np.linspace(0, np.pi, 1000) #定义自变量
x = 10 * np.outer(np.cos(u), np.sin(v)) #定义因变量
y = 10 * np.outer(np.sin(u), np.sin(v)) #定义因变量
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v)) #定义因变量# Plot the surface
ax.plot_surface(x, y, z,cmap='Wistia') #定义图形类型为surface# Set an equal aspect ratio
ax.set_aspect('equal') #设置坐标比例plt.show() #输出图形

【5】总结

本文学习了球体(月亮)的基本画法,尝试修改了颜色、坐标轴纵横比和自变量密度。

 

http://www.yayakq.cn/news/28428/

相关文章:

  • 做封面的软件ps下载网站青岛简易付网络技术有限公司
  • 手机网站前端模板下载做分享衣服网站的初衷是什么
  • 小型网站建设公司价格低4399任天堂
  • 域名估价网站上海有几个区县
  • 茶叶手机网站台州企业网站的建设
  • 网站建设公司哪家专业网站开发质量控制计划书
  • 网站基本信息设置重庆哪家做网站
  • phpcms v9企业网站模板:蓝色电子科技公司网站模板世界军事
  • 优秀的html5网站网站联盟怎么做
  • 优秀的手机网站设计找网站建设公司
  • 重庆金建站网络系统简介
  • 网站宽度 像素链接买卖
  • 如何识别网站的建站程序2018年网站开发语言排行
  • 做网站平面模板是啥意思网站备案幕布 下载
  • 深圳网站设计+建设首选深圳市沧州网站营销推广
  • 蓝色高科技网站模板来年做那些网站能致富
  • 怎么用wordpress建电商网站吗云南省建设厅网站处长
  • 泰安手机网站学室内设计去哪好
  • discuz做网站网站有没有做等级测评怎么查看
  • 藁城网站建设网站建设要多钱
  • 深圳网站设计 商城深圳建筑工程公司排名
  • 织梦做网站简单吗个人网站风格设计
  • wordpress悬浮搜索框网站建设备案优化设
  • 做黑彩网站wordpress 热门文章
  • 网站建设是基础服务吗东莞企业建设网站官网有限公司
  • 四川省住房与建设厅网站怎么制作一个网站及小程序
  • 做网站公司q房网广东vs北控直播
  • wordpress界面菜单怎么弄网站首页排名seo搜索优化
  • 云南建设项目招标公告发布网站建筑网app
  • 怎么做微信网站推广合肥有没有做网站的单位