在CATIA中实现道路缓和曲线的方法

 

  1. 1.      缓和曲线的概念

缓和曲线是道路平面线形要素之一,它是设置在直线和圆曲线之间或半径相差较大的两个转向相同的圆曲线之间的一种曲率连续变化的曲线。相关规范规定,缓和曲线采用回旋线,其基本公式为:

式中:

——回旋线上某点的曲率半径(m);

——回旋线上某点到原点的曲线长(m);

——回旋线参数。

在缓和曲线的终点处, , ,则上式可写作:

则参数

其中:

——回旋线所连接的圆曲线半径(m);

——回旋线型的缓和曲线长度(m);

以ZH点为坐标原点,直线方向为坐标x轴,圆心所在方向为Y轴,建立如下图所示坐标系:

缓和曲线示意

则缓和曲线的参数方程可表达为:

其中 表示缓和曲线上相应点对应的曲线长度。

  1. 2.      已知ZH点的缓和曲线的实现

由缓和曲线的参数方程可知,在XOY平面内,缓和曲线上某点的X、Y坐标,均是其长度参数 的函数,因此可通过混合曲线的方式实现缓和曲线。流程如下:

1) 定义参数 和 ,分别表示缓和曲线长度和圆曲线半径值;

2) 以原点为第一点,Z轴正向做长度为的 直线;

3) 定义  法则和  法则;

4) 在ZOX平面内,利用法则1生成平行曲线 ;

5) 在YOZ平面内,利用法则2生成平行曲线 ;

6) 通过两个平行曲线生成混合曲线 ;

7) 将混合曲线向XOY平面内投影,投影曲线即为所求缓和曲线。

缓和曲线的CATIA实现

上述为已知HZ点、缓和曲线长度和圆曲线半径,建立缓和曲线的过程。由于缓和曲线的参数方程仅取展开级数公式的前两项,因此所得到的曲线与理论曲线存在一定的误差。以曲线长度为例,误差统计如下:

 
缓和曲线长度(m)


20


25


35


45


50


70


曲线半径
  (m)


60


0.3


0.8


4.5


15.9


27.0


143.8


80


0.1


0.3


1.4


5.1


8.6


46.1


100


0.0


0.1


0.6


2.1


3.5


19.0


150


0.0


0.0


0.1


0.4


0.7


3.8


200

   
0.0


0.1


0.2


1.2


300

       
0.0


0.2


500

       
0.0


0.0

缓和曲线长度与理论值偏差(mm)

  1. 3.      Z两条直线间的缓和曲线实现

在道路的平曲线设计时,往往仅知直线和转点,此时需根据圆曲线半径和缓和曲线长度求ZH点位置。首先应求得ZH点的位置,如下图所示:

平曲线要素示意

其中曲线的内移距p 和切线增长q如下式:

由上式则可计算缓和曲线段的切线长度。在CATIA软件中,可直接对相交直线倒圆弧,因此只需要计算切线增长q即可。

在平曲线上利用两根直线实现缓和曲线和圆曲线的过程如下:

1)       根据曲线要素计算HZ点;

2)       建立局部坐标系:HZ点为原点,直线1为X轴,两根直线的交点为X轴正向;水平面为Z轴,正向根据Y轴确定;Y轴正向位于直线2方向。

3)       根据曲线要素定义缓和曲线1,标注HY点;

4)       按照上述构成定义缓和曲线2;标注YH点;

5)       过HY点、YH点及圆曲线半径值做圆曲线;

实现的曲线

原文地址:https://www.cnblogs.com/DSBIMbyLincoln/p/10527461.html

时间: 2024-10-14 10:26:50

在CATIA中实现道路缓和曲线的方法的相关文章

qt qml中PropertyAnimation的几种使用方法

qml文章 qt qml中PropertyAnimation的几种使用方法 动画应用场景有以下几种: 首先如果一个Rectangle.动画是要改变它的x和y值 1,Rectangle一旦被创建,就要移动到一个特定的位置 2,动画仅仅有在某一个特定的外部行为触发时候才会被触发,比如,鼠标单击某一个控件时候,产生动画.使目标移动到指定的位置 3,仅仅有在某一个特定的信号后才触发 4,做为一个独立的动画,尽管没有绑定rectangle的运动,可是能够在脚本中载入,開始和停止 5.仅仅有在状态改变时候才

缓和曲线10麦克康奈尔

第1章 缓和曲线之麦克康奈尔曲线

缓和曲线09正弦一波型

第1章 缓和曲线之正弦一波型

ZOJ 1406 POJ 1251 Jungle Roads 丛林中的道路,最小生成树,Kruskal算法

题目链接:ZOJ 1406 POJ 1251 Jungle Roads 丛林中的道路 Jungle Roads Time Limit: 2 Seconds      Memory Limit: 65536 KB The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid money was spent on extra roads between villages some ye

Winform中设置ZedGraph的曲线为折线、点折线、散点图

场景 Winform中设置ZedGraph的曲线为散点图: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102465399 在上面设置单条曲线为散点图后的思路,继续扩展设置曲线为折线.点折图.散点图. 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 读取配置文件内容获取设置的曲线样式后 Lin

HTML5中canvas的save和restore方法

canvas的save和restore方法: save() 方法把当前绘画状态的一份拷贝压入到一个保存图像状态的栈中.这里的绘画状态指坐标原点.变形时的变化矩阵(该矩阵是调用 rotate().scale() 和 translate() 的结果).以及图形上下文对象的当前属性值等内容. 1.图像上下文CanvasRenderingContext2D的属性和方法: 属性                              描述canvas                          取

柯南君:看“项目管理中的成本估算及估算方法 ”

   柯南君最近手头遇到点工作,集团官网需要改版,那么改版必然会考虑成本,何况这次是包给外包公司全权处理,那么在成本估算上,必然会煞费苦心.不由的,想想如何去估算,才能更加准确,那么在这里,柯南君和大家一起分享一下 目前都在如何去估算?估算都有哪些方法论,当然,选择哪种方法论,要看你公司的实际情况了啊! 一.什么是软件开发成本估算? 软件开发成本估算主要指软件开发过程中所花费的工作量及相应的代价. 不同于传统的工业产品,软件的成本不包括原材料和能源的消耗,主要是人的劳动的消耗.另外,软件也没有一

Eclipse ADT中的logcat不显示解决方法

Eclipse ADT中的logcat不显示解决方法: 1.在Eclipse界面中找到DDMS,然后找到device选项卡,在这个选项卡中选择reset adb,如果不行尝试方法2: 2.不用关闭eclipse和模拟器,在Android SDK的tools目录下有个 ddms.bat 批处理文件,运行这个文件可以启动DDMS,同时这里面有logcat,可以显示信息: 3.以上方法都不行,最终杀手锏就是重启eclipse,重启模拟器,记得在任务管理器中关闭adb.exe,这时应该就可以了. 4.用

android开发中监听器的三种实现方法(OnClickListener)

Android开发中监听器的实现有三种方法,对于初学者来说,能够很好地理解这三种方法,将能更好地增进自己对android中监听器的理解. 一.什么是监听器. 监听器是一个存在于View类下的接口,一般以On******Llistener命名,实现该接口需要复写相应的on****(View v)方法(如onClick(View v)). 二.监听器的三种实现方法 (以OnClickListener为例) 方法一:在Activity中定义一个内部类继承监听器接口(这里是OnClickListener