计算 3 点 (x,y) 的曲率

2023-11-21

我有一个二维欧几里得空间。给出三点。

例如(p2是中间点):

Point2D p1 = new Point2D.Double(177, 289);
Point2D p2 = new Point2D.Double(178, 290);
Point2D p3 = new Point2D.Double(178, 291);

现在我想计算曲率为了这三点。

double curvature = calculateCurvature(p1, p2, p3);

这个怎么做? 是否有现有的方法(没有java外部库)?

  • 曲率:https://en.wikipedia.org/wiki/Curvature
  • 门格尔曲率:https://en.wikipedia.org/wiki/Menger_curvature

对于门格尔曲率,公式是正确的there在维基百科文章中:

curvature = 4*triangleArea/(sideLength1*sideLength2*sideLength3)

您具体尝试了哪个代码?

考虑到你的 3 分,计算这 4 个值应该不会太难。

Here有一些有用的方法:

/**
 * Returns twice the signed area of the triangle a-b-c.
 * @param a first point
 * @param b second point
 * @param c third point
 * @return twice the signed area of the triangle a-b-c
 */
public static double area2(Point2D a, Point2D b, Point2D c) {
    return (b.x-a.x)*(c.y-a.y) - (b.y-a.y)*(c.x-a.x);
}

/**
 * Returns the Euclidean distance between this point and that point.
 * @param that the other point
 * @return the Euclidean distance between this point and that point
 */
public double distanceTo(Point2D that) {
    double dx = this.x - that.x;
    double dy = this.y - that.y;
    return Math.sqrt(dx*dx + dy*dy);
}

没什么可做的了。警告 :area2返回一个带符号的双精度值,具体取决于点的方向(顺时针或逆时针)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算 3 点 (x,y) 的曲率 的相关文章

随机推荐

  • 如何在 Angular 5 的纯管道中使用 HTTP 调用

    我正在创建一个管道来将一种货币价值转换为另一种货币价值 我正在进行 HTTP 调用来转换值 Pipe name currencyConverter export class CurrencyConverterPipe implements
  • 测试场景和测试用例有什么区别?

    我对测试场景和测试用例有点困惑 它们之间有什么区别 假设我必须测试一盒火柴 我说的对吗 以下是测试场景的示例 盒子里能装 x 根火柴吗 假设盒子是关闭的 我用力摇晃它 火柴还在盒子里吗 您能给我测试场景和测试用例的示例吗 Example 您
  • MySQL的不同引号

    我对 MySQL 有点陌生 只是想知道它们之间有什么区别 当我在查询中使用它们时 用 你可以写 mysql 变量名 用 你写mysql变量值 例如 SELECT FROM test WHERE x 1
  • 如何使用 Inno Setup 安装 Windows 服务?

    我编写了一个批处理脚本 在使用 Inno Setup 进行安装后执行 问题是我有以下命令行用于创建服务 sc create MySQL start auto DisplayName MySQL binPath C MyApp MySQL 5
  • 检查 Cypress 中的单选按钮

    我对 Javascript 非常陌生 这是我使用 Cypress 的第二周 所以我需要帮助来单击单选按钮 我总是从赛普拉斯那里收到错误 我试图检查的元素如下所示
  • 错误代码:1406。列数据太长 - MySQL

    错误代码 1406 数据对于列来说太长 CREATE TABLE TEST idTEST INT NOT NULL TESTcol VARCHAR 45 NULL PRIMARY KEY idTEST Now Insert一些价值观 INS
  • 在 django 中格式化未修饰的电话号码?

    我有一个数据库 其中包含完整的电话号码作为字符串 它们的格式都类似于 1112223333 我想在我的 django 模板中将其显示为 111 222 3333 我知道我能做到 n contacts objects get name nam
  • 针对 Web 格式化 Python 代码

    直到最近 我使用如下内容将 Python 代码 空格很重要 发布到 blogspot com div table border 0 width 100 tbody tr td pre style font family monaco my
  • 如何将字符串数据发送到 UIButton 标签?

    有什么方法可以将字符串值发送到UIButton标签 我知道tag is Int输入但我需要发送string value let myButton UIButton let button UIButton button tag 123 ret
  • 当拥有身份列不是一个好主意时?

    在仅需要 1 列作为键以及该列中的值的表中can是整数 当你不应该使用标识字段时 相反 在同一个表和列中 您什么时候会手动生成其值并且不会为每个记录使用自动生成的值 我猜想当表中有大量插入和删除时就会出现这种情况 我对吗 还有哪些其他情况
  • 如何使用Python进行简单的http重定向?

    如何使用Python进行简单的http重定向 不使用元 UPDATE I am using Python 2 7 1 as a CGI from within the cgi bin directory of Apache 要使用当前设置
  • 将 php post 数据传递给 javascript 的方法

    所以我想知道 如果我有一个简单的 php 表单将信息发布到某个变量 我如何将该发布的变量传递给 javascript 并能够操作数据 我想出的唯一方法是使用内联javascript和php 但我觉得必须有一种更干净 更优雅的方法来做到这一点
  • 如何在 Android O 中动态更改通知声音

    最近我使用通知通道来支持android O 但问题是我无法动态更改声音 Uri 我们的应用程序有通知声音设置 用户可以根据需要更改应用程序通知声音 但如您所知 Android 现在不允许开发者在用户重新安装应用程序之前更新通知渠道 我在那里
  • JDBC:将日期值插入 MySQL

    我想知道如何使用 Java JDBC 将日期值设置到 MySQL 数据库 以下是我的代码 String lastCrawlDate 2014 01 28 PreparedStatement p con prepareStatement in
  • node.js 将变量暴露给模块?

    我读过很多关于如何在 Node js 中创建模块的文章 您可以使用 module exports 将模块内部公开到包含它的文件中 太棒了 反过来又是如何运作的呢 我将使用以下示例 USER JS function User this pro
  • 在 C# 中获取所有控制器和操作名称

    是否可以以编程方式列出所有控制器的名称及其操作 我想为每个控制器和操作实现数据库驱动的安全性 作为一名开发人员 我知道所有控制器和操作 并且可以将它们添加到数据库表中 但是有什么方法可以自动添加它们吗 下面将提取控制器 操作 属性和返回类型
  • 从字符串创建类的实例

    有没有一种方法可以根据我在运行时知道类的名称这一事实来创建类的实例 基本上我会将类的名称放在字符串中 看看激活器 CreateInstance method
  • 内容变化引起的过渡元素大小

    我有一个按钮 里面有一些文字 当您按下它时 文本会发生变化 这使得按钮的宽度发生变化 如果可以通过如下方式来转换元素宽度的变化 那就太好了 el transition width 150ms ease out 当然 只有当您明确更改widt
  • 记录我的网站上的超链接点击

    我有一个网站 允许其他开发人员在其中托管内容 我的目标是记录页面上存在的每个超链接 甚至是其他开发人员托管的内容 的点击次数 我最初的方法如下 a click function event do my logging return true
  • 计算 3 点 (x,y) 的曲率

    我有一个二维欧几里得空间 给出三点 例如 p2是中间点 Point2D p1 new Point2D Double 177 289 Point2D p2 new Point2D Double 178 290 Point2D p3 new P