我有一个二维欧几里德空间。给出了三点。
例如(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外部库)?
对于Menger
Curvature,该公式就在Wikipedia文章中:
curvature = 4*triangleArea/(sideLength1*sideLength2*sideLength3)
您到底尝试了哪个代码?
给定3分,计算这4个值应该并不难。
以下是一些有用的方法:
/**
* 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
根据点的方向(顺时针或逆时针)返回带符号的双精度型。
如何评估像3/2%2这样的东西? 在解决以下问题时卡住了: 我的工作: 第一次执行 int k=12/2,k=6 6%2返回0,所以6%2!=0的计算结果为false,n=0 第二次执行 k=6/2,k=3 3%2返回1,因此3%2!=0的计算结果为真,n=1 第三次执行 k=3/2,k=1.5 1.5%2。。。不确定如何评估并继续? 谢谢
问题内容: 使用math.pow或**运算符哪个更有效?我什么时候应该使用另一个? 到目前为止,我知道可以返回一个或一个,如果您使用小数,该函数将返回一个浮点数 问题答案: 使用Power运算符将更快,因为它不会产生函数调用的开销。如果您反汇编Python代码,则可以看到以下内容: 请注意,我在这里使用变量作为指数,因为类似常数的表达式实际上是在编译时求值的。 现在,实际上,这种差异并不重要,正如
描述 (Description) 逻辑运算符[X|Y]匹配X或Y. 例子 (Example) 以下示例显示了逻辑运算符的用法。 package com.wenjiangs; import java.util.regex.Matcher; import java.util.regex.Pattern; public class LogicalOperatorDemo { private sta
我有以下例外: WebDriverException:不能在点(1057.38330078125,673.13330078125)点击元素。其他元素将收到单击: 按钮id=“id4b6a687af6934e35b6f355f6305dc481”data-layout=“hbox”class=“hux-ui-button”type=“button”role=“button”> 硒=2.49。
问题内容: 考虑以下示例: 我不确定Java语言规范中是否有一项规定要加载变量的先前值以便与右侧()进行比较,该变量应按照方括号内的顺序进行计算。 为什么第一个表达式求值,而第二个表达式求值?我本来希望先被评估,然后再与自身()比较并返回。 这个问题与Java表达式中子表达式的求值顺序不同,因为这里绝对不是“子表达式”。需要 加载 它以进行比较,而不是对其进行“评估”。这个问题是特定于Java的,
实际上,我试图增加PDPage对象的cropbox。好吧,没有挑战。但页面内容仍保留在CropBox的左下角。我要它集中在新的cropbox空间。 我知道所有的内容是绝对定位在PDF。所以我的问题是:有没有一种方法使用PDFBox来翻译我的PDPage的原点(x,y)或者内容元素? 问候 汉斯