本文整理汇总了C++中Simplex::pushPoint方法的典型用法代码示例。如果您正苦于以下问题:C++ Simplex::pushPoint方法的具体用法?C++ Simplex::pushPoint怎么用?C++ Simplex::pushPoint使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Simplex
的用法示例。
在下文中一共展示了Simplex::pushPoint方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: interpolateValue
//! Retourne la valeur interpolée d'un point dans le pavage
float interpolateValue(const Point<N> &Q) {
bool found = false;
float value = 0;
float rapport = 0;
size_t iSimplex;
for (iSimplex = 0; iSimplex < multiplex.size(); iSimplex++) {
if (isInside(Q, multiplex[iSimplex])) {
found = true;
break;
}
}
if (!found) {
cout << "Le point n'est dans aucun simplex" << endl;
return 0;
}
// le rapport entre le volume du N-simplexe {Q,Fbj} et le volume du
// N-simplexe D={Pbj,Fbj}.
for (int i = 0; i < multiplex[iSimplex].getSize(); i++) {
Simplex<N> temp;
temp.pushPoint(Q);
for (int j = 0; j < multiplex[iSimplex].getSize(); j++) {
if (i != j)
temp.pushPoint((multiplex[iSimplex])[j]);
}
// temp le simplex {Q,Fbj}
// <multiplex[iSimplex] le simplex {Pbj,Fbj}
rapport = temp.calculateVol() / multiplex[iSimplex].calculateVol();
value += rapport * (multiplex[iSimplex][i]).getValeur();
}
return value;
}
示例2: init
//! Initialize the Paving with all points and multiplex
void init() {
generate_point();
Simplex<N> container;
for (size_t i = 0; i < N + 1; i++) {
container.pushPoint(multiPoints[i]);
}
multiplex.push_back(container);
for (size_t i = N + 1; i < multiPoints.size(); i++) {
for (size_t j = 0; j < multiplex.size(); j++) {
if (isInside(multiPoints[i], multiplex[j])) {
replaceSimplex(multiPoints[i], multiplex[j]);
break;
}
}
}
}