揉面四杆搅拌机构

这篇具有很好参考价值的文章主要介绍了揉面四杆搅拌机构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

揉面四杆搅拌机构,python,numpy,matplotlib

import sympy as sy
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
a,b1,b2,b3,b4,theta,c,d,alpha,delta,fi=sy.symbols("a,b1,b2,b3,b4,theta,c,d,alpha,delta,fi")

ka=-2*c*(d*sy.sin(alpha)+a*sy.sin(fi))
kb=2*c*(d*sy.cos(alpha)-a*sy.cos(fi))
kc=a**2-b1**2+c**2+d**2-2*a*d*sy.cos(alpha+fi)
pu=2*sy.atan((ka+sy.sqrt(ka**2+kb**2-kc**2))/(kb-kc))
lamda=sy.atan(2*(-d*sy.sin(alpha)+c*sy.sin(pu)-a*sy.sin(fi))/(d*sy.cos(alpha)+c*sy.cos(pu)-a*sy.cos(fi)))
Ex=c*sy.cos(pu)+b2*sy.cos(lamda)
Ey=c*sy.sin(pu)+b2*sy.sin(lamda)

k1=-(1+sy.tan(delta)*sy.tan(lamda))/(sy.tan(lamda)-sy.tan(delta))
k2=((1+sy.tan(delta)*sy.tan(lamda))*Ex+(sy.tan(lamda)-sy.tan(delta))*Ey)/(sy.tan(lamda)-sy.tan(delta))
Hx=(Ex+(Ey-k2)*k1+sy.sqrt((Ex+(Ey-k2)*k1)**2-(1+k1**2)*(Ex**2+(Ey-k2)**2-b3**2)))/(1+k1**2)
Hy=k1*Hx+k2
Fx=(Ex-Hx)*sy.cos(-theta)-(Ey-Hy)*sy.sin(-theta)+Hx
Fy=(Ex-Hx)*sy.sin(-theta)+(Ey-Hy)*sy.cos(-theta)+Hy
gama=sy.atan(-(Fx-Hx)/(Fy-Hy))
Gx=sy.Piecewise((Fx-b4*sy.cos(gama), (0< gama) & (gama < sy.pi/2)),(Fx-b4*sy.cos(gama+sy.pi), (-sy.pi/2< gama) & (gama < 0)))
Gy=sy.Piecewise((Fy-b4*sy.sin(gama), (0< gama) & (gama < sy.pi/2)),(Fy-b4*sy.sin(gama+sy.pi), (-sy.pi/2< gama) & (gama < 0)))
# Gx=Fx-b4*sy.cos(gama)
# Gy=Fy-b4*sy.sin(gama)
Ax=-d*sy.cos(alpha)
Ay=d*sy.sin(alpha)
Bx=Ax+a*sy.cos(fi)
By=Ay+a*sy.sin(fi)
Cx=c*sy.cos(pu)
Cy=c*sy.sin(pu)

bL=sy.atan((Ey-Hy)/(Ex-Hx))+sy.pi
bR=sy.atan((Fy-Hy)/(Fx-Hx))
bl=sy.lambdify(fi,bL.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')
br=sy.lambdify(fi,bR.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')


a1x=sy.lambdify(fi,Ax.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')
a1y=sy.lambdify(fi,Ay.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')
bx=sy.lambdify(fi,Bx.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')
by=sy.lambdify(fi,By.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')
cx=sy.lambdify(fi,Cx.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')
cy=sy.lambdify(fi,Cy.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')
ex=sy.lambdify(fi,Ex.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')
ey=sy.lambdify(fi,Ey.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')
hx=sy.lambdify(fi,Hx.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')
hy=sy.lambdify(fi,Hy.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')
fx=sy.lambdify(fi,Fx.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')
fy=sy.lambdify(fi,Fy.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')
gx=sy.lambdify(fi,Gx.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')
gy=sy.lambdify(fi,Gy.subs({a:100.233,b1:278.577,b2:57.352,b3:231.824,b4:165.944,theta:147.866*sy.pi/180,c:189.602,d:330,
                           alpha:46.385*sy.pi/180,delta:103.038*sy.pi/180}),modules='numpy')


fig,ax = plt.subplots()
plt.rcParams['xtick.direction'] = 'in'  # 将x周的刻度线方向设置向内
plt.rcParams['ytick.direction'] = 'in'  # 将y轴的刻度方向设置向内
plt.rcParams['axes.unicode_minus']=False
# plt.rcParams['font.family'] = ["Times New Roman"]  # 字体设置为Times NewRoman
plt.rcParams['font.sans-serif'] = ['SimHei']
clist = ['blue', 'red', 'green', 'black', 'darkgreen', 'lime', 'gold', 'purple', 'green', 'cyan', 'salmon', 'grey',
         'mediumvioletred', 'darkkhaki', 'gray', 'darkcyan', 'violet', 'powderblue']
markerlst = ['o', '*', 'x', '>', '<', '^', 'D', 'd', '1', '2', '3', '4', 'o', '*', 'x', '>', '<', '^', 'D', 'd',
             '1', '2', '3', '4', 'o', '*', 'x', '>', '<', '^', 'D', 'd', '1', '2', '3', '4']
linestylelst = ['-', '--', '-.', ':', '-', '--', '-.', ':', '-', '--', '-.', ':', '-', '--', '-.', ':', '-', '--',
                '-.', ':', '-', '--', '-.', ':']
def draw_frame(i):
    xd=0
    yd=0
    xa1=a1x(i)
    ya1=a1y(i)
    xb=bx(i)
    yb=by(i)
    xc=cx(i)
    yc=cy(i)
    xe=ex(i)
    ye=ey(i)
    xh=hx(i)
    yh=hy(i)
    xf=fx(i)
    yf=fy(i)
    xg=gx(i)
    yg=gy(i)
    lr=bl(i)
    rr=br(i)
    ax.clear()
    ax.plot([xd, xa1], [yd, ya1], c=clist[0])
    ax.plot([xa1,xb],[ya1,yb],c=clist[1])
    ax.plot([xc, xb], [yc, yb], c=clist[2])
    ax.plot([xc, xd], [yc, yd], c=clist[3])
    ax.plot([xc, xe], [yc, ye], c=clist[4])
    th = np.linspace(rr, lr, num=100)
    x = xh + 231.824 * np.cos(th)
    y = yh + 231.824 * np.sin(th)
    plt.plot(x, y, c=clist[5])
    ax.plot([xf, xg], [yf, yg], c=clist[6])
    ax.axis('equal')
    ax.set_xlim(xmin=-500,xmax=800)
    ax.set_ylim(ymin=-500, ymax=500)
    plt.tight_layout()


anim=FuncAnimation(fig,draw_frame,frames=360,interval=100)
anim.save("d4.gif",writer='pillow')

揉面四杆搅拌机构,python,numpy,matplotlib文章来源地址https://www.toymoban.com/news/detail-701453.html

到了这里,关于揉面四杆搅拌机构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python和numpy matplotlib版本匹配,以及安装指定版本库

    Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. 已知的兼容版本:     python3.6;     numpy1.16.3或者1.18.2;     pandas0.24.2;     matplotlib3.0.3     scipy 1.3.1     scikit-learn==0.22.1 其他库类似 安装指定版本的库 或 亲测pi

    2024年02月11日
    浏览(38)
  • python 安装、配置、使用 xlrd模块、numpy模块、matplotlib、opencv模块

    目录  一、xlrd模块 (一)安装xlrd模块 (二) pycharm 配置xlrd (三) 读取xls格式 (四)xlrd读取时间日期时,会是float类型,需要转换。 二、numpy模块  (一)numpy模块安装---使用清华大学镜像进行安装即可 (二)pycharm配置时,numpy安装失败,且代码中出现 No module named \\\'numpy\\\' (1)

    2024年02月09日
    浏览(36)
  • Python数据分析:NumPy、Pandas和Matplotlib的使用和实践

    在现代数据分析领域中,Python已成为最受欢迎的编程语言之一。Python通过庞大的社区和出色的库支持,成为了数据科学家和分析师的首选语言。在Python的库中,NumPy、Pandas和Matplotlib是三个最为重要的库,它们分别用于处理数值数组、数据处理和可视化。本文将介绍这三个库的

    2024年02月04日
    浏览(37)
  • python库,科学计算与数据可视化基础,知识笔记(numpy+matplotlib)

    这篇主要讲一下数据处理中科学计算部分的知识。 之前有一篇pandas处理数据的。 讲一下这几个库的区别。 Pandas主要用来处理类表格数据(excel,csv),提供了计算接口,可用Numpy或其它方式进行计算。 NumPy 主要用来处理数值数据(尤其是矩阵,向量为核心的),本质上是纯

    2024年02月02日
    浏览(35)
  • 基于python的matplotlib、numpy库实现的图形绘制(数据可视化)

    1.题目要求 编写程序,绘制正弦曲线和余弦曲线。 提示:利用numpy的linspace()、sin()或cos()函数生成样本数据、正弦或余弦值。 2.函数讲解及代码  3.运行图样 4.扩展 1.题目要求 已知实验中学举行了高二期中模拟考试,考试后分别计算了全体男生、女生各科的平均成绩,统计结

    2024年02月08日
    浏览(35)
  • 掌握Python的X篇_33_MATLAB的替代组合NumPy+SciPy+Matplotlib

    numPy 通常与 SciPy( Scientific Python ) 和 Matplotlib (绘图库) 一起使用,这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。 numpy /nampai/ 数值计算库,简单而言,可以被当做向量,线性代数计算。 官方推荐导入方式: 以 n

    2024年02月13日
    浏览(33)
  • Python 数据分析入门教程:Numpy、Pandas、Matplotlib和Scikit-Learn详解

    NumPy是一个Python的科学计算基础模块,提供了多维数组和矩阵操作功能。 NumPy中的数组比Python自带的列表更适合进行数值计算和数据分析。 Pandas建立在NumPy之上,提供了更高级的数据分析功能。 Pandas中的DataFrame可以看成是一个二维表格,便于加载和分析数据。 Matplotlib可以用来绘

    2024年02月07日
    浏览(37)
  • 【深度学习】 Python 和 NumPy 系列教程(十五):Matplotlib详解:2、3d绘图类型(1):线框图(Wireframe Plot)

    目录  一、前言 二、实验环境 三、Matplotlib详解  1、2d绘图类型 2、3d绘图类型 0. 设置中文字体 1. 线框图(Wireframe Plot)         Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。Python具有丰富

    2024年02月08日
    浏览(36)
  • 【深度学习】 Python 和 NumPy 系列教程(廿四):Matplotlib详解:2、3d绘图类型(10)3D箱线图(3D Box Plot)

    目录 一、前言 二、实验环境 三、Matplotlib详解 1、2d绘图类型 2、3d绘图类型 0. 设置中文字体 1. 3D线框图(3D Line Plot) 2. 3D散点图(3D Scatter Plot) 3. 3D条形图(3D Bar Plot) 4. 3D曲面图(3D Surface Plot) 5. 3D等高线图(3D Contour Plot) 6. 3D向量场图(3D Vector Field Plot) 7. 3D表面投影图

    2024年02月03日
    浏览(37)
  • 【深度学习】 Python 和 NumPy 系列教程(廿七):Matplotlib详解:3、多子图和布局:散点矩阵图(Scatter Matrix Plot)

    目录 一、前言 二、实验环境 三、Matplotlib详解 1、2d绘图类型 2、3d绘图类型 3、多子图和布局 1. subplot()函数 2. subplots()函数 3. 散点矩阵图(Scatter Matrix Plot)         Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功

    2024年02月06日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包