91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-06-19
  • 語(yǔ)言: C/C++
  • 標(biāo)簽:

資源簡(jiǎn)介

C++代碼,用最小二乘法擬合圓、擬合球面方程。之前在網(wǎng)上找擬合球面的代碼,沒找到C++代碼,就自己寫了個(gè)擬合球面的

資源截圖

代碼片段和文件信息

#include
#include
using?namespace?std;

struct?Point3f
{
double?x;
double?y;
double?z;
};

struct?Point2f
{
double?x;
double?y;
};

bool?ballFit(const?vector?&points?double?¢er_x?double?¢er_y?double?¢er_z?double?&radius)
{
center_x?=?0.0f;
center_y?=?0.0f;
center_z?=?0.0f;
radius?=?0.0f;
if?(points.size()? {
return?false;
}

double?sum_x?=?0.0f?sum_y?=?0.0f?sum_z?=?0.0f;
double?sum_x2?=?0.0f?sum_y2?=?0.0f?sum_z2?=?0.0f;
double?sum_x3?=?0.0f?sum_y3?=?0.0f?sum_z3?=?0.0f;
double?sum_xy?=?0.0f?sum_x1y2?=?0.0f?sum_x2y1?=?0.0f;
double?sum_xz?=?0.0f?sum_x1z2?=?0.0f?sum_x2z1?=?0.0f;
double?sum_yz?=?0.0f?sum_y1z2?=?0.0f?sum_y2z1?=?0.0f;

int?N?=?points.size();
for?(int?i?=?0;?i? {
double?x?=?points[i].x;
double?y?=?points[i].y;
double?z?=?points[i].z;
double?x2?=?x?*?x;
double?y2?=?y?*?y;
double?z2?=?z?*?z;
sum_x?+=?x;
sum_y?+=?y;
sum_z?+=?z;

sum_x2?+=?x2;
sum_y2?+=?y2;
sum_z2?+=?z2;

sum_x3?+=?x2?*?x;
sum_y3?+=?y2?*?y;
sum_z3?+=?z2?*?z;

sum_xy?+=?x?*?y;
sum_x1y2?+=?x?*?y2;
sum_x2y1?+=?x2?*?y;

sum_xz?+=?x?*?z;
sum_x1z2?+=?x?*?z2;
sum_x2z1?+=?x2?*?z;

sum_yz?+=?y?*?z;
sum_y1z2?+=?y?*?z2;
sum_y2z1?+=?y2?*?z;

}

double?C?D?E?P?G?F?H?J?K;
double?a?b?c?d;

C?=?N?*?sum_x2?-?sum_x?*?sum_x;
D?=?N?*?sum_xy?-?sum_x?*?sum_y;
P?=?N?*?sum_xz?-?sum_x?*?sum_z;
E?=?N?*?sum_x3?+?N?*?sum_x1y2?+?N?*?sum_x1z2?-?(sum_x2?+?sum_y2?+?sum_z2)?*?sum_x;

G?=?N?*?sum_y2?-?sum_y?*?sum_y;
F?=?N?*?sum_yz?-?sum_y?*?sum_z;
H?=?N?*?sum_x2y1?+?N?*?sum_y3?+?N?*?sum_y1z2?-?(sum_x2?+?sum_y2?+?sum_z2)?*?sum_y;

J?=?N?*?sum_z2?-?sum_z?*?sum_z;
K?=?N?*?sum_x2z1?+?N?*?sum_y2z1?+?N?*?sum_z3?-?(sum_x2?+?sum_y2?+?sum_z2)?*?sum_z;

double?CC?DD?EE?GG?HH;
CC?=?C*J?-?P*P;
DD?=?D*J?-?F*P;
EE?=?E*J?-?P*K;
GG?=?G*J?-?F*F;
HH?=?H*J?-?F*K;

a?=?(HH?*?DD?-?EE?*?GG)?/?(CC?*?GG?-?DD?*?DD);
b?=?(HH?*?CC?-?EE?*?DD)?/?(DD?*?DD?-?GG?*?CC);
c?=?0.0f;
if?(P?!=?0)
{
c?=?(-C*a?-?D*b?-?E)?/?P;
}
else?if?(F?!=?0)
{
c?=?(-D*a?-?G*b?-?H)?/?F;
}
else?if?(J?!=?0)
{
c?=?(-P*a?-?F*b?-?K)?/?J;
}
d?=?-(a?*?sum_x?+?b?*?sum_y?+?c?*?sum_z?+?sum_x2?+?sum_y2?+?sum_z2)?/?N;

center_x?=?a?/?(-2);
center_y?=?b?/?(-2);
center_z?=?c?/?(-2);

radius?=?sqrt(a?*?a?+?b?*?b?+?c?*?c?-?4?*?d)?/?2;
return?true;
}

int?main()
{
vector?point_3d;
Point3f?xyz;

for?(float?i?=?0.5;i? {
float?j_nub?=?sqrt(25?-?(i?-?0.5)*(i?-?0.5));
for?(float?j?=?1.5;j? {
xyz.x?=?i;
xyz.y?=?j;
float?z?=?sqrt(25?-?(i?-?0.5)*(i?-?0.5)?-?(j?-?1.5)*(j?-?1.5))?+?2;
xyz.z?=?z;
point_3d.push_back(xyz);
}
}

double?x_3d?y_3d?z_3d?r_3d;
ballFit(point_3d?x_3d?y_3d?z_3d?r_3d);
cout?< system(“p

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????3022??2017-12-21?11:31??test.cpp

-----------?---------??----------?-----??----

?????????????????3022????????????????????1


評(píng)論

共有 條評(píng)論

相關(guān)資源