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

创建一个网站的一般步骤要点做个公司网站多少钱

创建一个网站的一般步骤要点,做个公司网站多少钱,三星官网网站,动态图网站怎么做dw羊了一周,总算好了,一好起来立马开始码字!之前写了两款圣诞树得到了很多人的喜欢,就有很多人问有没有python版本的,毕竟这都快2023年了,大部分网上的python版圣诞树还是一些海龟绘图老古董, 于…

羊了一周,总算好了,一好起来立马开始码字!之前写了两款圣诞树得到了很多人的喜欢,就有很多人问有没有python版本的,毕竟这都快2023年了,大部分网上的python版圣诞树还是一些海龟绘图老古董,

于是用matplotlib整了个3D的,我是属实python用的不是很熟练(要是熟悉的话一开始写这个代码就不会选择matplotlib),matplotlib居然不能正常的表示3D图形的遮挡,于是进行了简单的运算尽量让被遮挡的部分设置为NaN,算是勉强能看,在绘图这一块matplotlib属实一言难尽。

此外scatter函数居然不像plot函数一样具有set_xdata等方法,对此不熟悉的我就采用了remove后再重新绘制的笨办法。。。

总之,撰写了远远长于MATLAB版本的一系列代码后(可能因为我python水平不过关),总算有了这个3D版圣诞树(光影函数也属实没找到,就没加):

完整代码

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.colors import LinearSegmentedColormap
# @author : slandarer# 生成半径数据
t=np.arange(start=0, stop=25.2, step=.2)
t[(t>0) & (t<=3)]=1.5
t[t>3]=8-(t[t>3]-3)*0.3636
# 生成锥形曲面
theta=np.linspace(0,2*np.pi,21)
X=np.cos(theta).reshape((1,21))
Y=np.sin(theta).reshape((1,21))
Z=np.linspace(0,1,126).reshape((126,1))
t=np.array(t).reshape((126,1))
X=X*t;Y=Y*t;Z=Z*np.ones_like(X)*25
# 随机移动树冠上点的位置
angle=np.arctan(Y[15:126,0:21]/X[15:126,0:21])
treeDiffusion=np.random.rand(111,21)-.5
X[15:126,0:21]=X[15:126,0:21]+np.cos(angle)*treeDiffusion
Y[15:126,0:21]=Y[15:126,0:21]+np.sin(angle)*treeDiffusion
Z[15:126,0:21]=Z[15:126,0:21]+(np.random.rand(111,21)-.5)*.5
X[:,-1]=X[:,0];Y[:,-1]=Y[:,0];Z[:,-1]=Z[:,0]# colormap自定义
r=np.arange(start=0.0430, stop=0.2492, step=0.2061/50)
g=np.arange(start=0.2969, stop=0.6982, step=0.4012/50)
b=np.arange(start=0.0625, stop=0.3322, step=0.2696/50)
rgb=np.append(r.reshape(51,1),g.reshape(51,1),axis=1)
rgb=np.append(rgb,b.reshape(51,1),axis=1)
rgb[0:6,0]=77/265;rgb[0:6,1]=63/265;rgb[0:6,2]=5/265
rgb=LinearSegmentedColormap.from_list('slandarer',rgb)# 创建figure窗口及axis坐标区域
fig, ax=plt.subplots(subplot_kw={"projection": "3d"})# 绘制圣诞树本体
ax.plot_surface(X, Y, Z, cmap=rgb)
# 绘制星星
ax.scatter(0, 0, 25.6, marker="*", c="#FFDF99", s=500)
ax.scatter(0, 0, 25, marker="o", c="#FFDF99", s=7000, alpha=.1)
# 绘制彩灯
def lightFuncX(h,r,a,z):return (h-z)/h*r*np.cos(a*z)
def lightFuncY(h,r,a,z):return (h-z)/h*r*np.sin(a*z)h=25;r=8;azim=0/180*np.pi
lightZ1=np.linspace(4,25-4,300);a1=0.3*np.pi
lightX1=lightFuncX(h,r*1.5,a1,lightZ1)
lightY1=lightFuncY(h,r*1.5,a1,lightZ1)
tlightX1=lightX1.copy()
tlightX1[lightX1*np.cos(azim)+lightY1*np.sin(azim)<-2.5]=float("nan")
lightHdl1=ax.scatter(tlightX1, lightY1, lightZ1+.1, marker=".", c="#FDF9DC", s=5, alpha=.8)lightZ2=np.linspace(4,25-4,45);a2=0.3*np.pi
lightX2=lightFuncX(h,r*1.5,a2,lightZ2)
lightY2=lightFuncY(h,r*1.5,a2,lightZ2)
tlightX2=lightX2.copy()
tlightX2[lightX2*np.cos(azim)+lightY2*np.sin(azim)<-2.5]=float("nan")
lightHdl2_1=ax.scatter(tlightX2, lightY2, lightZ2+.1, marker="o", c="#FDF9DC", s=60, alpha=.8, edgecolors='none')
lightHdl2_2=ax.scatter(tlightX2, lightY2, lightZ2+.1, marker="o", c="#FDF9DC", s=400, alpha=.05, edgecolors='none')lightZ3=np.linspace(4,25-6,200);a3=-0.35*np.pi
lightX3=lightFuncX(h,r*1.45,a3,lightZ3)
lightY3=lightFuncY(h,r*1.45,a3,lightZ3)
tlightX3=lightX3.copy()
tlightX3[lightX3*np.cos(azim)+lightY3*np.sin(azim)<-2.5]=float("nan")
lightHdl3=ax.scatter(tlightX3, lightY3, lightZ3+.1, marker=".", c="white", s=5, alpha=.8)lightZ4=np.linspace(4,25-6,17);a4=-0.35*np.pi
lightX4=lightFuncX(h,r*1.45,a4,lightZ4)
lightY4=lightFuncY(h,r*1.45,a4,lightZ4)
tlightX4=lightX4.copy()
tlightX4[lightX4*np.cos(azim)+lightY4*np.sin(azim)<-2.5]=float("nan")
lightHdl4_1=ax.scatter(tlightX4, lightY4, lightZ4+.1, marker="o", c="white", s=60, alpha=.8, edgecolors='none')
lightHdl4_2=ax.scatter(tlightX4, lightY4, lightZ4+.1, marker="o", c="white", s=400, alpha=.05, edgecolors='none')# 绘制礼物盒子
def drawPresent(dx,dy,dz,scalex,scaley,scalez):presentX=np.array([[0.5,0.5,0.5,0.5,0.5],[0,1,1,0,0],[0,1,1,0,0],[0,1,1,0,0],[0.5,0.5,0.5,0.5,0.5]])presentY=np.array([[0.5,0.5,0.5,0.5,0.5],[0,0,1,1,0],[0,0,1,1,0],[0,0,1,1,0],[0.5,0.5,0.5,0.5,0.5]])presentZ=np.array([[0,0,0,0,0],[0,0,0,0,0],[0.5,0.5,0.5,0.5,0.5],[1,1,1,1,1],[1,1,1,1,1]])ax.plot_surface((presentX*scalex+dx), (presentY*scaley+dy), (presentZ*scalez+dz))return 0
drawPresent(-4,4,0,2,3,1.5)
drawPresent(5,3,0,4,3,3)
drawPresent(-7,-5,0,5,3,1)
drawPresent(-9,-6,0,2,2,2)
drawPresent(0,7,0,4,3,3)# 绘制雪花
snowXYZ1=np.random.rand(40,3)
snowXYZ1[:,0]=snowXYZ1[:,0]*26-13
snowXYZ1[:,1]=snowXYZ1[:,1]*26-13
snowXYZ1[:,2]=snowXYZ1[:,2]*30
snowXYZ2=np.random.rand(20,3)
snowXYZ2[:,0]=snowXYZ2[:,0]*26-13
snowXYZ2[:,1]=snowXYZ2[:,1]*26-13
snowXYZ2[:,2]=snowXYZ2[:,2]*30
snowHdl1=ax.scatter(snowXYZ1[:,0], snowXYZ1[:,1], snowXYZ1[:,2], marker=".", c="white", s=20, alpha=.3, edgecolors='none')
snowHdl2=ax.scatter(snowXYZ2[:,0], snowXYZ2[:,1], snowXYZ2[:,2], marker="$*$", c="white", s=80, alpha=.9, edgecolors='none')# figure, axis基础修饰
plt.rcParams['font.sans-serif']=['Cambria']
plt.rcParams['axes.unicode_minus']=False
plt.rcParams['font.size']=20
plt.rcParams['text.color']='white'
ax.text(0,0,30,'Chirstmas Tree By slandarer', ha='center')
ax.set_box_aspect((1, 1, 1))
ax.set_position((-.15,-.2,1.3,1.3))
ax.set_xlim(-10,10)
ax.set_ylim(-10,10)
ax.set_zlim(0,30)
ax.set_facecolor("#162033")
ax.axis('off')
ax.view_init(elev=10,azim=0)# 绘图刷新
for i in range(100):snowXYZ1[:,2]=snowXYZ1[:,2]-.25snowXYZ2[:,2]=snowXYZ2[:,2]-.5snowXYZ1[snowXYZ1[:,2]<0,2]=30snowXYZ2[snowXYZ2[:,2]<0,2]=30snowHdl1.remove()snowHdl2.remove()snowHdl1=ax.scatter(snowXYZ1[:,0], snowXYZ1[:,1], snowXYZ1[:,2], marker=".", c="white", s=20, alpha=.3, edgecolors='none')snowHdl2=ax.scatter(snowXYZ2[:,0], snowXYZ2[:,1], snowXYZ2[:,2], marker="$*$", c="white", s=80, alpha=.9, edgecolors='none')azim=i/180*np.pitlightX1=lightX1.copy()tlightX1[lightX1*np.cos(azim)+lightY1*np.sin(azim)<-2.5]=float("nan")lightHdl1.remove()lightHdl1=ax.scatter(tlightX1, lightY1, lightZ1+.1, marker=".", c="#FDF9DC", s=5, alpha=.8)tlightX2=lightX2.copy()tlightX2[lightX2*np.cos(azim)+lightY2*np.sin(azim)<-2.5]=float("nan")lightHdl2_1.remove()lightHdl2_2.remove()lightHdl2_1=ax.scatter(tlightX2, lightY2, lightZ2+.1, marker="o", c="#FDF9DC", s=60, alpha=.8, edgecolors='none')lightHdl2_2=ax.scatter(tlightX2, lightY2, lightZ2+.1, marker="o", c="#FDF9DC", s=400, alpha=.05, edgecolors='none')tlightX3=lightX3.copy()tlightX3[lightX3*np.cos(azim)+lightY3*np.sin(azim)<-2.5]=float("nan")lightHdl3.remove()lightHdl3=ax.scatter(tlightX3, lightY3, lightZ3+.1, marker=".", c="white", s=5, alpha=.8)tlightX4=lightX4.copy()tlightX4[lightX4*np.cos(azim)+lightY4*np.sin(azim)<-2.5]=float("nan")lightHdl4_1.remove()lightHdl4_2.remove()lightHdl4_1=ax.scatter(tlightX4, lightY4, lightZ4+.1, marker="o", c="white", s=60, alpha=.8, edgecolors='none')lightHdl4_2=ax.scatter(tlightX4, lightY4, lightZ4+.1, marker="o", c="white", s=400, alpha=.05, edgecolors='none')ax.view_init(elev=10,azim=i)plt.draw()plt.pause(.1)

http://www.lbrq.cn/news/2467819.html

相关文章:

  • 汉字域名的网站培训seo去哪家机构最好
  • 江门网站建设推广平台it培训学校it培训机构
  • 网站怎么做图片放映效果打开一个网站
  • 定制级高端网站建设湖南seo优化推荐
  • 网站建设年度汇报文职培训机构前十名
  • 易名中国域名门户网站营销软文的范文
  • 沈阳做网站推广的公司网址搜索ip地址
  • 礼叮当 一家做创意礼品定制的网站禁止搜索引擎收录的方法
  • 图库抚顺seo
  • 2018年深圳建设网站公司免费网站生成器
  • 在线定制平台烟台seo关键词排名
  • 政府网站建设实施的可行性分析天津seo数据监控
  • 个人网站备案地址百度指数的主要功能有
  • 汉口网站建设公司游戏优化是什么意思
  • 做网站便宜还是app便宜优化网站内容的方法
  • 1+手机官网首页seo网站优化网站编辑招聘
  • 网站日期插件廊坊快速优化排名
  • 为什么我有的网站打不开惠州seo关键词排名
  • phpstudy配置网站发帖推广平台
  • 自己做盈利视频网站网站推广上首页
  • 寿县城乡建设局网站百度舆情监测平台
  • 校园网站制作模板企业网络推广软件
  • 做暧暧小视频网站微信朋友圈广告投放
  • 电子商务网站建设过程报告推广团队在哪里找
  • 媒体查询做响应式网站网站权重排名
  • 下了网站建设搜索引擎营销的步骤
  • 网站怎么推广引流上海十大公关公司排名
  • 网站域名管理在哪里韩国网站
  • 外贸网站怎么做优化百度浏览器下载安装2023版本
  • 用墨刀做视频网站长沙今日头条新闻
  • 图解网络-小林coding笔记(持续更新)
  • 【js】Proxy学习笔记
  • ESP32- 项目应用1 智能手表 之更新天气#4
  • C++高效实现轨迹规划、自动泊车、RTS游戏、战术迂回包抄、空中轨迹、手术机器人、KD树
  • LeetCode 2563.统计公平数对的数目
  • QML 模型