- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想计算 (2D) 凹多边形的惯性矩。我在网上找到了这个。但是我不太确定如何解释公式...
Formula http://img101.imageshack.us/img101/8141/92175941c14cadeeb956d8f.gif
1)这个公式对吗?
2) 如果是这样,我对 C++ 的转换是否正确?
float sum (0);
for (int i = 0; i < N; i++) // N = number of vertices
{
int j = (i + 1) % N;
sum += (p[j].y - p[i].y) * (p[j].x + p[i].x) * (pow(p[j].x, 2) + pow(p[i].x, 2)) - (p[j].x - p[i].x) * (p[j].y + p[i].y) * (pow(p[j].y, 2) + pow(p[i].y, 2));
}
float inertia = (1.f / 12.f * sum) * density;
马丁
最佳答案
#include <math.h> //for abs
float dot (vec a, vec b) {
return (a.x*b.x + a.y*b.y);
}
float lengthcross (vec a, vec b) {
return (abs(a.x*b.y - a.y*b.x));
}
...
do stuff
...
float sum1=0;
float sum2=0;
for (int n=0;n<N;++n) { //equivalent of the Σ
sum1 += lengthcross(P[n+1],P[n])*
(dot(P[n+1],P[n+1]) + dot(P[n+1],P[n]) + dot(P[n],P[n]));
sum2 += lengthcross(P[n+1],P[n]);
}
return (m/6*sum1/sum2);
编辑:很多小的数学变化
关于java - 计算凹二维多边形相对于其原点的惯性矩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3329383/
我有以下绘图代码: [[NSColor redColor] set]; NSRect fillRect = NSMakeRect(bounds.size.width - 20.0f, 0.0f, 20
给定一组相交的矩形,是否有标准算法来找到它们的边界多边形? (多边形的边界与矩形的并集完全相同。)可以假设所有矩形都以相同的方式定向,边沿两个正交轴。 在搜索中,我找到了凸边界多边形的算法,但在这里我
我想绘制非网格 3D 数据 (x, y, z) 的 matplotlib contour 或 contourf 图,该图在 x 中呈 C 形和 y(见草图)——因此数据周围的部分封闭外壳在 x 和 y
我需要绘制带有一些顶点的缩进(凹)实心多边形。我用 void HelloWorld::draw(void) { CCPoint vertices[5] = {ccp(200, 200), cc
这个有点难解释。我有一个整数列表。因此,例如,[1, 2, 4, 5, 8, 7, 6, 4, 1] - 当根据元素编号绘制时,它类似于凸图。我如何以某种方式从列表中提取此“形状”特征?它不必特别准确
我是一名优秀的程序员,十分优秀!