最近在做电力方面的东西,需要对架空线进行三维建模。经过前端时间的搜索与实践,最终实现了AE下悬链线的模拟。首先说明几个问题:

(1)实地架设杆塔时,两个相邻杆塔的高程一般是不相同的,这就需要用到不等高悬点架空线的悬链线方程,在线路三维建模时要进行点位的判断

(2)在计算悬链线高度时要进行三维空间XYZ到二维空间ZU的转换,这里的u坐标轴是杆塔连线在XY平面的投影,zu所在三维空间Z=低悬点的高程值。

(3)采样精度设置为1。采样完成后将二维点再转换成三维点即可。

这里用AE写了一个类,用于悬链线的生成,公式主要参考《架空输电线路设计- 孟遂民》这本书,没有考虑复杂的温度、风力、覆冰等条件。代码如下:

/// <summary>/// 根据起点和终点生成悬链线/// 不等高悬点架空线方程/// 悬链线长度方程/// </summary>class PowerLineCreator{public IPoint FromPoint //起点{ get; set;}public IPoint ToPoint   //终点{ get; set; }public double HorizontalStress  //弧垂最低点应力 (已知条件、水平应力)  σ0{get;set;}public int SampleAccuracy   //插值精度{get;set;}public double r    //比载:单位长度架空线上所受的荷载折算到单位载面积上的数值{get;set;}public double PlaneLength//悬链线档距{get{double planelength_ = Math.Sqrt(Math.Pow(FromPoint.X - ToPoint.X,2) + Math.Pow(FromPoint.Y - ToPoint.Y,2));return planelength_;}}public double L  //不等高悬点架空线长度{get{return Math.Sqrt(Math.Pow(L_h0,2) + Math.Pow(H,2));}}public double H //   悬点高程差{get {return Math.Abs(FromPoint.Z - ToPoint.Z);    }      }public double L_h0  //等高悬点架空线的档内悬链线长度{get{double L = 2 * HorizontalStress / r * Math.Sinh(r * PlaneLength / (2 * HorizontalStress));return L;}}public double a   //低悬点至弧垂最低点的水平距离 {get{return PlaneLength / 2 - HorizontalStress / r * SpecialFunction.asinh(H / L_h0);}}public double b  //弧垂最低点至高悬点的水平距离{get{return L_h0 - a;}}public PowerLineCreator (){}/// <summary>/// 悬链线方程/// </summary>/// <param name="u">二维空间下u坐标</param>/// <returns>悬链线高度</returns>public double Get_Z (double u) {double Z = H / L_h0 * (2 * HorizontalStress / r * Math.Sinh(r * u / 2 / HorizontalStress) * Math.Cosh(r * (L_h0 - u) / 2 / HorizontalStress)) -Math.Sqrt(1 + Math.Pow(H / L_h0,2)) * 2 * HorizontalStress / r * Math.Sinh(r * u / 2 / HorizontalStress) * Math.Sinh(r * (L_h0 - u) / 2 / HorizontalStress);return Z;}/// <summary>/// 根据起始点生成悬链线插值点/// </summary>/// <returns></returns>public IPointCollection CreateLinePoints (){IPointCollection ptCollection = new PolylineClass();ILine line_ = new LineClass();line_.PutCoords(FromPoint,ToPoint);double pAngle = line_.Angle;//采样悬链线点for(int i = 0;i < PlaneLength-1;i+=SampleAccuracy){//二、三维空间坐标的转换IPoint point_ = new PointClass();(point_ as IZAware).ZAware = true;point_.X = FromPoint.X + i * Math.Cos(pAngle);point_.Y = FromPoint.Y + i * Math.Sin(pAngle);point_.Z = FromPoint.Z + Get_Z(i);ptCollection.AddPoint(point_);}ptCollection.AddPoint(ToPoint);return ptCollection;}}

最终实现效果图:

转载请注明出处:http://blog.csdn.net/liushuo_whu/article/details/21323807谢谢!

ArcEngine下架空线之悬链线的模拟相关推荐

  1. 在ArcEngine下实现图层属性过滤的两种方法

    转自chanyinhelv原文 在ArcEngine下实现图层属性过滤的两种方法 有时候,我们要对图层上的地物进行有选择性的显示,以此来满足实际的功能要求. 按下面介绍的方法可轻松实现图层属性过滤显示 ...

  2. UA MATH575B 数值分析下 统计物理的随机模拟方法5

    UA MATH575B 数值分析下 统计物理的随机模拟方法5 Ising Model Gibbs Sampling Glauber Dynamics 这一讲介绍Ising Model,它是MCMC与G ...

  3. UA MATH575B 数值分析下 统计物理的随机模拟方法4

    UA MATH575B 数值分析下 统计物理的随机模拟方法4 这一讲介绍MCMC方法,这个方法最早出现在Metropolis在1953年发在J Chem Phys上的Equation of state ...

  4. 基于AcrGIS平台实现三维场景下的积水效果动态模拟

    文章目录 1.前言 2.环境准备 3.开发过程 3.1 软件安装 3.2 共享(发布)场景服务 3.3 积水区三维可视化 3.4 动态模拟 4. 完整代码 5. 效果图 6. 在线演示 1.前言 现有 ...

  5. 交互系统的构建之(二)Linux下鼠标和键盘的模拟控制

    交互系统的构建之(二)Linux下鼠标和键盘的模拟控制 zouxy09@qq.com http://blog.csdn.net/zouxy09 交互系统的构建之(一)http://blog.csdn. ...

  6. 计算机图形学流体仿真mac网格,正交网格下不可压缩流体的图形学模拟

    摘要: 本文主要讨论了正交网格下不可压缩流体的图形学模拟.基于物理的动画模拟出像水,烟和火这样的流体现象在视觉效果上越来越重要,而且在实时游戏中也开始产生影响. 本研究主要内容包括:第一章阐述了用于描 ...

  7. 说说android下TV版本UC浏览器模拟鼠标的实现

    说说android下TV版本UC浏览器模拟鼠标的实现      无意中下载了一个TV版本的UC浏览器安装到机顶盒上,顺便体验了一把.感觉吗还行,原先以为UC浏览器会针对Android下TV的遥控器操作 ...

  8. 地理模块化施工的优点_河南省郑州市2018届高三下学期第三次模拟考试文综地理试题...

    河南省郑州市2018届高三下学期第三次模拟考试 文综地理试题 风滚草是植物中的"流浪汉",当干旱来临时,其根部从土层中收起,植株形成团状,随风滚动(图1).在风滚草找到合适环境后, ...

  9. Linux 网络tc,linux下使用tc和netem模拟复杂网络环境

    netem(Network Emulator)可以用来对网卡发出的数据包进行增加延迟.丢包.重复.乱序等处理,来模拟复杂网络环境.netem的设置依赖tc命令,tc是Linux内核提供的流量控制工具. ...

最新文章

  1. PHP环境配置文件php.ini详解注释 --转贴
  2. 【视频】vue组件的全局注册
  3. filter过滤器实现验证跳转_返回验证结果
  4. c语言solaris中图形库,成功弄出simics下的CDE登录界面,与大家分享
  5. 我们为什么需要 SpringBoot?
  6. fullcalendar小结
  7. 计算机网络第五次笔记
  8. PHP curl请求https
  9. 1、使用Keras构建图像分类器
  10. 容器技术Docker K8s 27 容器服务ACK基础与进阶-监控管理
  11. 2019 计蒜之道 初赛 第三场 - 淘宝商品价格大PK
  12. ECSHOP整合第三方登录,QQ登录、新浪微博登录、支付宝登
  13. MPSK 通信系统的 Monte Carlo 仿真
  14. SIM7600CE-CNSE 4G模块 树莓派/Windows连网指南
  15. 在ue4的CBL中查询(函数、变量)的几点提示
  16. LevalSet水平集分割算法 matlab程序源码
  17. Oracle - 【连接1】广义笛卡儿积+一般连接+自连接
  18. 【数据库】MySQL的sql语句详解
  19. android百度语音导航开放
  20. halcon算子——highpass_image--从图像中提取高频分量((过滤--图像边缘处理))

热门文章

  1. 【OWA】02加入域控:将owa服务器加入域控(把计算机加入到域中)
  2. HijackThis日志细解--清净网络(复杂详尽)
  3. JFinal入门教程
  4. 微信小程序 | 小程序系统API调用
  5. 【小月电子】安路国产FPGA开发板系统学习教程-LESSON7串口通信
  6. Java高尔夫_java基础视频教程 高尔夫球基础视频教程
  7. PHP图片转base64
  8. java读取绝对路径文件_Java 程序中使用相对和绝对路径读取文件
  9. android console app,iConsole+ app
  10. 彼得·蒂尔:别浪费你的无知,去做那些没人做过的事