齿轮渐开线方程及绘制
齿轮轮齿轮廓是一个渐开线方程,当一根绳子绕紧一个圆拉直了端部旋转,则绳子端部画出的曲线就是一个螺旋状的渐开线,方程如下,渐开线齿之间啮合传动能保持恒定传动比,传动平稳等特性。
QPointF involute(float r, float s)
{float x=r*cos(s) + r*s*sin(s);float y=r*sin(s) - r*s*cos(s);return QPointF(x,y);
}
下面还是用QPainter将曲线离散为多段线进行可视化。demo是用c4droid编译的apk放到蓝奏上面
我用蓝奏浏览器分享了[curvetest01], 下载链接:https://wwp.lanzoup.com/iTE2A12mp58j 提取码 : 8mok, 你可以不限速下载哦
#include <QApplication>
#include <QLabel>
#include <QWidget>
#include <QPainter>
#include <QTimer>
#include <QMouseEvent>#include<vector>#define _USE_MATH_DEFINES
#include <math.h>float deg2rad(float si)
{return (si*M_PI)/180.0;
}QPointF involute(float r, float s)
{float x=r*cos(s) + r*s*sin(s);float y=r*sin(s) - r*s*cos(s);return QPointF(x,y);
}void createInvoNodes(float cx,float cy,float r, int n, float ds, std::vector<QPointF>& polyline)
{for(int i=0;i<n;i++){float s=float(i)*ds;QPointF v=involute(r,s);QPointF revv=QPointF(cx+v.x(),cy-v.y());polyline.push_back(revv);}
}class GrphWidget : public QWidget
{//Q_OBJECTpublic:std::vector<QPointF> _invoNodes;GrphWidget(QWidget *parent = 0):QWidget(parent){}~GrphWidget(){}void mousePressEvent(QMouseEvent *event)
{}void paintEvent(QPaintEvent* event){int w =this->width();int h = this->height();float cx=w*0.5;float cy=h*0.5;float r=200.0;if (_invoNodes.empty()){createInvoNodes(cx, cy,r,100,deg2rad(2.0), _invoNodes);}QPainter p(this);p.setRenderHint(QPainter::Antialiasing);// draw axisp.setPen(QPen(Qt::black, 2));p.drawLine( 0,h/2,w, h/2 );p.drawLine( w/2,0,w/2, h );// draw circlep.setPen(QPen(Qt::red, 4));p.drawEllipse(cx-r,cy-r,2*r,2*r);// draw involute p.setPen(QPen(Qt::blue, 4));p.drawPolyline(_invoNodes.data(), _invoNodes.size());//p.drawText(30,50,std::to_string(_invoNodes.size()).data());p.end();}};int main(int argc, char* argv[]){QApplication app(argc, argv); GrphWidget* wgt=new GrphWidget;wgt->show();return app.exec();
}
齿轮渐开线方程及绘制相关推荐
- cad渐开线齿轮轮廓绘制_CAD渐开线齿形怎么绘制
使用CAD进行各种图形设计就是为了提高设计效率,在浩辰专业的软件中"渐开线齿形绘制"帮助工程设计人员快速完成渐开线齿轮齿形的图形预览.调整和绘制.本功能采用拟合线绘制齿廓,具有精度 ...
- cad渐开线齿轮轮廓绘制_如何在机械CAD软件中自动生成齿轮
在机械CAD软件中绘制图纸时,齿轮设计是非常常见的,其主要由于齿轮轮廓通常采用渐开线在生产中便于精确加工.那么怎么才能自动生成齿轮,让设计师能够快速进行绘制齿轮呢?接下来给大家详细介绍一下吧! CAD ...
- #绘制圆心_AutoCAD绘制齿轮教程
打开AutoCAD软件 1. 运用直线(line)命令,绘制两条相交直线 2. 以两条直线的交点为圆心,150为半径绘制一个圆 以上个圆的圆心为圆心,125为半径绘制一个圆 以上个圆的圆心为圆心,11 ...
- cad渐开线齿轮轮廓绘制_CAD画齿轮的方法
标准直齿圆柱齿轮的绘制方法 一.标准直齿圆柱齿轮的计算公式 齿顶高ha ha=m 齿根高hf hf=1.25m 齿高h ...
- Pro/E产品设计之绘制齿轮的步骤
Pro/E产品设计之绘制齿轮的步骤 使用Pro/E可以进行齿轮的三维建模,下面介绍其具体步骤 1:打开Pro/E,新建一个零件,运用拉伸命令绘制如下图示图形. 2:绘制如下图示的两条曲线 3:一共需要 ...
- Solidworks绘制齿轮过程备注
1.使用solidworks自带的toolbox绘制齿轮.如果toolbox打开失败,按照以下方法修复一下 https://blog.csdn.net/sinat_38295192/article/d ...
- 纯css绘制齿轮加载动画
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.效果图 二.步骤 1.html部分 2.css部分 前言 纯css绘制齿轮加载动画. 无需使用任何图片及素材. 提示: ...
- SolidWorks快速绘制齿轮模型
前言:齿轮的建模计算相对比较复杂,利用工具绘制基本图形后再建模相对较快. 该方法是大学期间的一位高手传授给我的,工作后没有机会用一直放置,偶然间需要用想起来,记录一下,感谢我的朋友. 一.绘图工具 1 ...
- caxa齿轮零件图_利用CAXA在CATIA中绘制渐开线齿轮
渐开线齿轮作为机械传动中的重要零部件,在机械结构中广泛应用,而渐开线齿轮的绘制却是机械制图中的难点.二维软件一般可以通过参数模块进行渐开线绘制,而目前的三维软件却很难进行渐开线的精确绘制.在不要求齿轮 ...
最新文章
- 深度学习:梯度下降算法改进
- Linux_系统时间管理
- 1.25 包(package)详解
- Python自动化办公之Excel对比工具
- 74cms 注入exp
- PHP 函数 - 返回值
- GridView去掉边框
- 深度学习【目标检测】
- Ansible 入门:安装 简例 playbook应用
- 内部类及静态内部类的实例化
- 转贴:从现在电力短缺看今后劳动力短缺和高校破产
- ubuntu之安装sublime text
- ________________定时器
- 基于51单片机控制步进电机正反转
- 【生活】周末一起看看阿里动物园
- 各种快捷键组合操作让Spotlight搜索变得无比强大
- 对象赋值-深拷贝-浅拷贝
- smart显示无服务器,RAKsmart美国服务器常见的问题和解决
- Python使用openpyxl模块小批量处理Excel文件
- 常见漏洞知识库(原理/场景/修复)
热门文章
- php phantomjs 安装_php使用phantomjs
- ios 安装 ssl-kill-switch2流程
- Mongodb数据库转换为表格文件的库
- 万豪国际亚太区15家酒店率先启动“益起旅行 ”体验项目
- UVM之sformat
- Salesforce Certified Community Cloud Consultant (SU20)社区云认证考试总结
- wait()函数的使用
- 华为 ACL访问控制列表 (高级ACL为例)
- CET-4 卷王不要命试炼 18 days
- Acwing算法基础课学习笔记(四)--数据结构之单链表双链表模拟栈模拟队列单调栈单调队列KMP