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

石家庄的网站建设公司免费自建app

石家庄的网站建设公司,免费自建app,大庆做流产油城女子网站,怎样做网站 网页文章目录画个球让球转起来画个球 不管篮球和不和鸡联系起来,都首先得有个球,或者说要有一个球面,用参数方程可以表示为 xrcos⁡ϕcos⁡θyrcos⁡ϕsin⁡θzrsin⁡ϕ\begin{aligned} x & r\cos\phi\cos\theta\\ y & r\cos\phi\sin\th…

文章目录

    • 画个球
    • 让球转起来

画个球

不管篮球和不和鸡联系起来,都首先得有个球,或者说要有一个球面,用参数方程可以表示为

x=rcos⁡ϕcos⁡θy=rcos⁡ϕsin⁡θz=rsin⁡ϕ\begin{aligned} x &= r\cos\phi\cos\theta\\ y &= r\cos\phi\sin\theta\\ z &= r\sin\phi \end{aligned} xyz=rcosϕcosθ=rcosϕsinθ=rsinϕ

当然,有球还不行,还得有篮球。篮球其实很好画,只要在球上加两个背带就可以了,这一点可以用Python来实现,但考虑到方便,还是用PS直接P了一下,希望最后画出来不是太离谱。

那么现在球有了,还必须得有鸡,所以在百度上找一只。然后把这只鸡映射到球面上。

在这里插入图片描述

接下来就是关键步骤,如何将这个平面卷成一个球?方法也很简单,只需进行颜色映射就行了。

import numpy as np
import matplotlib.pyplot as plt
path = "bracken1.jpg"
img = plt.imread(path)
#img = img[::5, ::5, :]
h, w, c = img.shape
ys, xs = np.indices([h, w])
th = xs/w*np.pi*2
phi = np.pi/2 - ys/h*np.pix = np.cos(phi)*np.cos(th)
y = np.cos(phi)*np.sin(th)
z = np.sin(phi)cs = [tuple(c/255) for c in img.reshape(-1,3)]
ax = plt.subplot(projection='3d')
ax.scatter(x, y, z, marker='.', c=cs)
plt.axis('off')
plt.show()

效果为

在这里插入图片描述

让球转起来

当然需要注意的一个是,这是个球,而不是一个圆,所以下面让这个球转一下。想要让球转动,那就得有一个旋转矩阵,三个方向的旋转矩阵如下表

Rx(θ)R_x(\theta)Rx(θ)Rx(θ)R_x(\theta)Rx(θ)Rx(θ)R_x(\theta)Rx(θ)
[1000Cθ−Sθ0SθCθ]\begin{bmatrix}1&0&0\\0&C_\theta&-S_\theta\\0&S_\theta&C_\theta\\\end{bmatrix}1000CθSθ0SθCθ[Cθ0Sθ010−Sθ0Cθ]\begin{bmatrix}C_\theta&0 &S_\theta\\0&1&0\\-S_\theta&0&C_\theta\\\end{bmatrix}Cθ0Sθ010Sθ0Cθ[CθSθ0−SθCθ0001]\begin{bmatrix}C_\theta &S_\theta&0\\-S_\theta&C_\theta&0\\0&0&1\end{bmatrix}CθSθ0SθCθ0001

由于只需绕Z轴转动,所以代码如下

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import animationcos = lambda th : np.cos(np.deg2rad(th))
sin = lambda th : np.sin(np.deg2rad(th))Rz = lambda th : np.array([[cos(th) , -sin(th), 0],[sin(th), cos(th), 0],[0       , 0,       1]])xyz = np.array([x,y,z]).reshape(3,-1)fig = plt.figure(figsize=(5,5))
ax = fig.add_subplot(projection='3d')
ax.grid()lines = ax.scatter(x, y, z, marker='.', c=cs)def animate(n):# 按照xyz顺序旋转axis = [2,1,0]shape = xyz.shapelines._offsets3d = Rz(n)@xyzreturn lines,ani = animation.FuncAnimation(fig, animate, range(0, 360, 2), interval=25, blit=True)#plt.show()
ani.save("zyx.gif")

效果如下,还挺有喜感的。

在这里插入图片描述

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

相关文章:

  • 韶关市建设工程造价网站服装店网站模板
  • 公司网站制作教程国内wordpress插件
  • 会计证初级报考时间2023年报名搜索引擎优化的简称
  • 花店电子商务网站建设课题设计wordpress数字分页
  • 厦门官方网站建设网页游戏折扣充值平台
  • 襄汾网站建设深圳地铁优化
  • 一个工厂做网站有用吗国外设计文章的网站
  • 用wordpress 帮客户建站网站做全好吗
  • 公司设计网站有哪些百度地图导航2021最新版
  • 做网站用哪种编程语言网站建设策划 流程图
  • 广东网站建设方便现货交易平台排名
  • 做视频搬运哪个网站最赚钱做擦边球的网站
  • asp网站 打开软件下载网站排行
  • 天律网站建设之梦一个系统做多个网站
  • 建设银行网站账号怎么注销自学广告设计该怎么入手
  • 保洁产品网站建设价格公司网站建设的需求
  • pc端手机网站 viewport 自适应怎样做微课网站
  • 荣成城市规划建设局网站网站初期做几个比较好
  • 留言网站建设成都网站建设团队
  • 微信外链网站qq浏览器小程序入口
  • 交换链接营销的典型案例漳州优化网站建设
  • 培训销售网站建设重庆网站建设维护
  • 手机网站怎么做才适合优化户外做旅游网站
  • 工程建设云网站韩城市网站建设局电话
  • 佛山网站建设找哪家软件app开发制作
  • 绍兴做网站比较专业的公司柳州网站推广
  • 网站怎么做文件上传网页设计代码模板代码
  • 现在的网站推广是怎么做的店铺装修
  • 触屏版网站制作做网站练手
  • 网站设计公司销售渠道建设wordpress微信电子书插件