资源简介
蓝噪声采样代码,C++可以运行,vs2010即可打开运行。
代码片段和文件信息
#include “scene.h“
#include “timer.h“
FT Scene::compute_weight_threshold(FT epsilon) const
{
// reference: 0.3e-5 for 1000 sites
FT A = compute_total_area(); // A = 1
unsigned N = count_visible_sites();
return (0.03*epsilon) * (A) / FT(N);
}
FT Scene::compute_position_threshold(FT epsilon) const
{
// reference: 3e-5 for 1000 sites
FT A = compute_total_area(); // A = 1
unsigned N = count_visible_sites();
return (0.03*epsilon) * std::sqrt(A*A*A) / FT(N);
}
FT Scene::compute_total_area() const
{
return m_rt.compute_area();
}
FT Scene::compute_wcvt_energy()
{
if (m_timer_on)
Timer::start_timer(m_timer COLOR_BLUE “Energy“);
FT cvt = 0.0;
FT w_dot_V = 0.0;
for (unsigned i = 0; i < m_vertices.size(); ++i)
{
Vertex_handle vi = m_vertices[i];
if (vi->is_hidden()) continue;
FT Vi = m_rt.compute_area(vi);
FT wi = vi->get_weight();
FT Ci = m_capacities[i];
w_dot_V += wi * (Vi - Ci);
cvt += m_rt.compute_variance(vi);
}
if (m_timer_on)
Timer::stop_timer(m_timer COLOR_BLUE);
return (w_dot_V - cvt);
}
void Scene::compute_position_gradient(std::vector& gradient FT coef)
{
if (m_timer_on)
Timer::start_timer(m_timer COLOR_BLUE “XGrad“);
gradient.clear();
for (unsigned i = 0; i < m_vertices.size(); ++i)
{
Vertex_handle vi = m_vertices[i];
if (vi->is_hidden()) continue;
FT Vi = m_rt.compute_area(vi);
Point xi = vi->get_position();
Point ci = m_rt.compute_centroid(vi);
Vector gi = -2.0*Vi*(xi - ci);
gradient.push_back(coef * gi);
}
if (m_timer_on)
Timer::stop_timer(m_timer COLOR_BLUE);
}
void Scene::compute_weight_gradient(std::vector& gradient FT coef)
{
if (m_timer_on)
Timer::start_timer(m_timer COLOR_BLUE “WGrad“);
gradient.clear();
for (unsigned i = 0; i < m_vertices.size(); ++i)
{
Vertex_handle vi = m_vertices[i];
if (vi->is_hidden()) continue;
FT Ci = m_capacities[i];
FT Vi = m_rt.compute_area(vi);
FT Gi = Vi - Ci;
gradient.push_back(coef * Gi);
}
if (m_timer_on)
Timer::stop_timer(m_timer COLOR_BLUE);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-05-08 16:29 bnot-src\
文件 6148 2013-04-14 14:58 bnot-src\.DS_Store
目录 0 2013-05-08 16:33 __MACOSX\
目录 0 2013-05-08 16:33 __MACOSX\bnot-src\
文件 244 2013-04-14 14:58 __MACOSX\bnot-src\._.DS_Store
目录 0 2013-05-08 16:32 bnot-src\bbnot\
文件 6148 2013-05-08 16:32 bnot-src\bbnot\.DS_Store
目录 0 2013-05-08 16:33 __MACOSX\bnot-src\bbnot\
文件 244 2013-05-08 16:32 __MACOSX\bnot-src\bbnot\._.DS_Store
文件 12655 2012-08-27 09:23 bnot-src\bbnot\bbnot.ui
文件 244 2012-08-27 09:23 __MACOSX\bnot-src\bbnot\._bbnot.ui
文件 2712 2012-08-27 09:11 bnot-src\bbnot\CMakeLists.txt
文件 244 2012-08-27 09:11 __MACOSX\bnot-src\bbnot\._CMakeLists.txt
文件 1586 2012-02-09 20:38 bnot-src\bbnot\console_color.h
文件 244 2012-02-09 20:38 __MACOSX\bnot-src\bbnot\._console_color.h
文件 11223 2012-02-09 20:38 bnot-src\bbnot\convex_polygon.h
文件 244 2012-02-09 20:38 __MACOSX\bnot-src\bbnot\._convex_polygon.h
文件 2512 2012-08-25 21:44 bnot-src\bbnot\dialog.h
文件 244 2012-08-25 21:44 __MACOSX\bnot-src\bbnot\._dialog.h
文件 8512 2012-08-25 21:44 bnot-src\bbnot\dialog.ui
文件 244 2012-08-25 21:44 __MACOSX\bnot-src\bbnot\._dialog.ui
文件 7780 2012-08-25 18:39 bnot-src\bbnot\domain.h
文件 244 2012-08-25 18:39 __MACOSX\bnot-src\bbnot\._domain.h
文件 2346 2012-08-26 13:41 bnot-src\bbnot\energy.cpp
文件 244 2012-08-26 13:41 __MACOSX\bnot-src\bbnot\._energy.cpp
文件 4269 2012-08-26 13:37 bnot-src\bbnot\glviewer.cpp
文件 244 2012-08-26 13:37 __MACOSX\bnot-src\bbnot\._glviewer.cpp
文件 3476 2012-08-25 21:47 bnot-src\bbnot\glviewer.h
文件 244 2012-08-25 21:47 __MACOSX\bnot-src\bbnot\._glviewer.h
文件 1769 2012-08-25 18:28 bnot-src\bbnot\histogram.cpp
文件 244 2012-08-25 18:28 __MACOSX\bnot-src\bbnot\._histogram.cpp
............此处省略223个文件信息
评论
共有 条评论