本文整理汇总了C++中ModelPtr::GenerateRandomNumbers方法的典型用法代码示例。如果您正苦于以下问题:C++ ModelPtr::GenerateRandomNumbers方法的具体用法?C++ ModelPtr::GenerateRandomNumbers怎么用?C++ ModelPtr::GenerateRandomNumbers使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ModelPtr
的用法示例。
在下文中一共展示了ModelPtr::GenerateRandomNumbers方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GenerateRandomPoints
void Optimizer::GenerateRandomPoints(ModelPtr model, int num)
{
model->GenerateRandomNumbers(num,random_points_);
//ofstream random;
// random.open("random_points", ios::app);
//for (auto e:random_points_)
//{
// //cout << e << endl;
// random << e << "\n";
//}
//random.close();
}
示例2: ComputeCost
double Optimizer::ComputeCost(InputPtr input_image, ModelPtr model, Alpha& alpha) const
{
double function_value = 0;
int random_num = 1000;
vector<int> triangle_ids;
model->GenerateRandomNumbers(random_num, triangle_ids);
//int random_num = random_points_.size();
for (int i = 0; i < random_num; ++i)
{
int id = triangle_ids[i];
//int id = random_points_[i];
ivec2 pos = alpha.ComputePosition(id);
vec3 model_color = alpha.ComputeColor(id); // in RGB order
vec3 input_color = input_image->GetColor(Point(pos[0], pos[1])); // in RGB order
vec3 diff = (model_color - input_color);
function_value += dot(diff, diff);
}
return 40.0/1000*function_value;
}