在微分几何中,曲率的倒数就是曲率半径,即R=1/K。平面曲线的曲率就是针对曲线上某个点的切线方向角对弧长的转动率,通过微分来定义,表明曲线偏离直线的程度。对于曲线,它等于最接近该点处曲线的圆弧的半径。 对于表面,曲率半径是最适合正常截面或其组合的圆的半径。

曲率半径主要是用来描述曲线上某处曲线弯曲变化的程度,特殊的如:圆上各个地方的弯曲程度都是一样的故曲率半径就是该圆的半径;直线不弯曲 ,和直线在该点相切的圆的半径可以任意大,所以曲率是0,故直线没有曲率半径。

圆形半径越大,弯曲程度就越小,也就越近似于一条直线。所以说,曲率半径越大曲率越小,反之亦然。

如果对于某条曲线上的某个点可以找到一个与其曲率相等的圆形,那么曲线上这个点的曲率半径就是该圆形的半径(注意,是这个点的曲率半径,其他点有其他的曲率半径)。也可以这样理解:就是把那一段曲线尽可能地微分,直到最后近似为一个圆弧,此圆弧所对应的半径即为曲线上该点的曲率半径。

曲率半zhidao径的公式为κ=lim|Δα/Δs|。

ρ=|[(1+y'^2)^(3/2)]/y"|

如果给定一段曲线上三个点的坐标,就可以计算出该点的曲率半径

代码

package com.example.maventest.scort.curvartureRadius;import javafx.geometry.Point2D;public class CurvartureRadius {public static void main(String[] args) {Point2D point2D1 = new Point2D(0, 1);Point2D point2D2 = new Point2D(1, 1);Point2D point2D3 = new Point2D(1, 2);double curvartureRadius = CurvartureRadius.getCurvartureRadius(point2D1, point2D2, point2D3);System.out.println(curvartureRadius);}/*** 曲率半径计算** @param p1 点1* @param p2 点2* @param p3 点3* @return*/public static double getCurvartureRadius(Point2D p1, Point2D p2, Point2D p3) {Point2D v12 = p2.subtract(p1);Point2D v23 = p2.subtract(p2);//three point on the same line,the curvature radius is infinite, return 99999.0if (v12.normalize().equals(v23.normalize())) {return 99999.0;}double x1, x2, x3, y1, y2, y3, x12, y12, x23, y23;double x0, y0;x1 = p1.getX();x2 = p2.getX();x3 = p3.getX();y1 = p1.getY();y2 = p2.getY();y3 = p3.getY();x12 = (x1 + x2) / 2;y12 = (y1 + y2) / 2;x23 = (x2 + x3) / 2;y23 = (y2 + y3) / 2;if (v12.getY() == 0) {x0 = x12;y0 = ((y3 + y2) - (Math.pow(x2 - x0, 2) - Math.pow(x3 - x0, 2)) / (y3 - y2)) / 2;} else if (v23.getY() == 0) {x0 = x23;y0 = ((y1 + y2) - (Math.pow(x2 - x0, 2) - Math.pow(x1 - x0, 2)) / (y1 - y2)) / 2;} else {double k12 = -v12.getX() / v12.getY();double k23 = -v23.getX() / v23.getY();x0 = (y23 - y12 - k23 * x23 + k12 * x12) / (k12 - k23);y0 = (x0 - x12) * k12 + y12;}double R = Math.sqrt(Math.pow((x1 - x0), 2) + Math.pow((y1 - y0), 2));return R;}
}

曲线上点的曲率半径计算相关推荐

  1. c++ 圆上任意点坐标计算_圆曲线上任意一点坐标计算

    偏距 (m) 偏角 (° ) N(X) E(Y) DK07+590.000 3378604.933 453651.957 98°56′56.31″ 5 90 3378609.872 453652.73 ...

  2. Matlab计算微分方程曲线求导及过曲线上点的切线方程

    Matlab计算微分方程曲线求导及过曲线上点的切线方程 求解f(x)=x^2一元二次方程上某点的切线方程并绘制出方程的切线图.点(4,f(4))是曲线方程f(x)上的一个点,求出该点的切线并绘制出来. ...

  3. 【数学与算法】曲线上各点的曲率kappa和倾角theta

    曲线上每个点的两个属性,倾角 θ\color{red}\thetaθ 和曲率kappa\color{red}kappakappa. 1.倾角: 曲线上有两点A.B\color{red}A.BA.B很近 ...

  4. 根据曲线上的采样点拟合直线

    //@Func lineFit //@para points:曲线上的所有采样点 //@para a,b,c: 直线ax+by+c=0的三个参数 void lineFit(vector<cv:: ...

  5. ITK:两条曲线上所有点之间的平均距离

    ITK:两条曲线上所有点之间的平均距离 内容提要 输出结果 C++实现代码 内容提要 计算两条曲线的所有点之间的平均距离. 输出结果 C++实现代码 #include "itkImage.h ...

  6. 塔菲尔曲线斜率的大小_如何从曲线上确定Tafel斜率?

    如何从曲线上确定Tafel斜率? 原谅我是逗比不是萌比i|用户:悬赏的问题 卖梦旅人|用户:肯定回答: 对于一个CV曲线,取电化学控制区的电流和电压,然后坐ln|i| aganist E的图,再去掉不 ...

  7. 高等数学学习笔记——第八十三讲——对弧长的曲线积分的概念与计算

    一.问题的引入--如何计算圆周和维维安尼曲线之间的柱面片的面积? 二.对弧长曲线积分的概念 1. 空间曲线型构件的质量(分割取近似.作和求极限) 2. 对弧长的曲线积分的定义(第一型曲线积分.被积函数 ...

  8. 德卡斯特里奥算法——找到Bezier曲线上的一个点

    http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/de-casteljau.html 随着Bezier曲线的构造,接下来最 ...

  9. 根据贝塞尔曲线上的点反算t值

    这是一个项目中遇到的实际需求.场景是一个智能仓库管理系统,场景里面有直线和曲线构成的环穿轨道.环穿轨道上面会有小车运动,后台推动小车的两个点位A和B,其中A和B都会在轨道上面,前端需要根据这两个推送点 ...

  10. R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值、plot.roc函数绘制ROC曲线、添加置信区间、为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来

    R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值.plot.roc函数绘制ROC曲线.添加置信区间.为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来 目录

最新文章

  1. QQ拼音在中文输入下默认英文标点
  2. type和object
  3. 【MySQL】在centos7 纯IPv6环境下,安装mysql5.7
  4. 昆明学院计算机二级报名时间,2017年3月昆明学院计算机等级考试报名时间(云南)...
  5. mysqldump备份原理6
  6. 在vs.net实现向导式窗口_萨满佳作赏析 | 精神世界,灵魂向导,力量动物(1)...
  7. 微服务架构的服务与发现-Spring Cloud
  8. xml、网络编程、 反射
  9. YOLOv2——中文版翻译
  10. java商城源码(servlet,springboot,html,vue,uniapp,小程序,android)一套任意组合
  11. 张小龙:微信背后的产品观
  12. 美容院店务管理系统哪家好?
  13. js字符串分割split()
  14. Redis入门学习笔记--附Redis工具类
  15. 绿联 蓝牙适配器 linux,绿联USB
  16. android 开发相机焦距解析之调节远近焦距
  17. 蓝牙音频芯片,在交通灯提示语音更换的应用解析,WT2605X
  18. 这5个优质动漫网站,能让你瞬间爆棚,都是满满的干货
  19. 2017 iOS最新面试题汇总(二)
  20. RabbitMQ高可用--Quorum Queue(仲裁队列)的用法

热门文章

  1. win2008服务器系统玩红警,Win10系统玩不了红警2怎么办?
  2. 父子组件传值——静态传值、动态传值
  3. 用户体验五要素--战略层、范围层、结构层、框架层、表现层
  4. 对信息断舍离进行时——一段自我反省
  5. SSH端口转发(port forwarding)基础知识
  6. 远程服务器连接计算机和用户名填写,windos系统服务器:添加远程连接用户名方法...
  7. 落花人独立 微雨燕双飞
  8. SpaceSyntax【空间句法】之DepthMapX学习:第一篇 数据的输入 与 能做哪些分析
  9. 游戏挂机运行脚本方法
  10. Linux(Ubuntu)系统查看显卡型号