齿轮轮齿轮廓是一个渐开线方程,当一根绳子绕紧一个圆拉直了端部旋转,则绳子端部画出的曲线就是一个螺旋状的渐开线,方程如下,渐开线齿之间啮合传动能保持恒定传动比,传动平稳等特性。

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();
}

齿轮渐开线方程及绘制相关推荐

  1. cad渐开线齿轮轮廓绘制_CAD渐开线齿形怎么绘制

    使用CAD进行各种图形设计就是为了提高设计效率,在浩辰专业的软件中"渐开线齿形绘制"帮助工程设计人员快速完成渐开线齿轮齿形的图形预览.调整和绘制.本功能采用拟合线绘制齿廓,具有精度 ...

  2. cad渐开线齿轮轮廓绘制_如何在机械CAD软件中自动生成齿轮

    在机械CAD软件中绘制图纸时,齿轮设计是非常常见的,其主要由于齿轮轮廓通常采用渐开线在生产中便于精确加工.那么怎么才能自动生成齿轮,让设计师能够快速进行绘制齿轮呢?接下来给大家详细介绍一下吧! CAD ...

  3. #绘制圆心_AutoCAD绘制齿轮教程

    打开AutoCAD软件 1. 运用直线(line)命令,绘制两条相交直线 2. 以两条直线的交点为圆心,150为半径绘制一个圆 以上个圆的圆心为圆心,125为半径绘制一个圆 以上个圆的圆心为圆心,11 ...

  4. cad渐开线齿轮轮廓绘制_CAD画齿轮的方法

    标准直齿圆柱齿轮的绘制方法 一.标准直齿圆柱齿轮的计算公式 齿顶高ha               ha=m 齿根高hf               hf=1.25m 齿高h              ...

  5. Pro/E产品设计之绘制齿轮的步骤

    Pro/E产品设计之绘制齿轮的步骤 使用Pro/E可以进行齿轮的三维建模,下面介绍其具体步骤 1:打开Pro/E,新建一个零件,运用拉伸命令绘制如下图示图形. 2:绘制如下图示的两条曲线 3:一共需要 ...

  6. Solidworks绘制齿轮过程备注

    1.使用solidworks自带的toolbox绘制齿轮.如果toolbox打开失败,按照以下方法修复一下 https://blog.csdn.net/sinat_38295192/article/d ...

  7. 纯css绘制齿轮加载动画

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.效果图 二.步骤 1.html部分 2.css部分 前言 纯css绘制齿轮加载动画. 无需使用任何图片及素材. 提示: ...

  8. SolidWorks快速绘制齿轮模型

    前言:齿轮的建模计算相对比较复杂,利用工具绘制基本图形后再建模相对较快. 该方法是大学期间的一位高手传授给我的,工作后没有机会用一直放置,偶然间需要用想起来,记录一下,感谢我的朋友. 一.绘图工具 1 ...

  9. caxa齿轮零件图_利用CAXA在CATIA中绘制渐开线齿轮

    渐开线齿轮作为机械传动中的重要零部件,在机械结构中广泛应用,而渐开线齿轮的绘制却是机械制图中的难点.二维软件一般可以通过参数模块进行渐开线绘制,而目前的三维软件却很难进行渐开线的精确绘制.在不要求齿轮 ...

最新文章

  1. 深度学习:梯度下降算法改进
  2. Linux_系统时间管理
  3. 1.25 包(package)详解
  4. Python自动化办公之Excel对比工具
  5. 74cms 注入exp
  6. PHP 函数 - 返回值
  7. GridView去掉边框
  8. 深度学习【目标检测】
  9. Ansible 入门:安装 简例 playbook应用
  10. 内部类及静态内部类的实例化
  11. 转贴:从现在电力短缺看今后劳动力短缺和高校破产
  12. ubuntu之安装sublime text
  13. ________________定时器
  14. 基于51单片机控制步进电机正反转
  15. 【生活】周末一起看看阿里动物园
  16. 各种快捷键组合操作让Spotlight搜索变得无比强大
  17. 对象赋值-深拷贝-浅拷贝
  18. smart显示无服务器,RAKsmart美国服务器常见的问题和解决
  19. Python使用openpyxl模块小批量处理Excel文件
  20. 常见漏洞知识库(原理/场景/修复)

热门文章

  1. php phantomjs 安装_php使用phantomjs
  2. ios 安装 ssl-kill-switch2流程
  3. Mongodb数据库转换为表格文件的库
  4. 万豪国际亚太区15家酒店率先启动“益起旅行 ”体验项目
  5. UVM之sformat
  6. Salesforce Certified Community Cloud Consultant (SU20)社区云认证考试总结
  7. wait()函数的使用
  8. 华为 ACL访问控制列表 (高级ACL为例)
  9. CET-4 卷王不要命试炼 18 days
  10. Acwing算法基础课学习笔记(四)--数据结构之单链表双链表模拟栈模拟队列单调栈单调队列KMP