• 大小: 195KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: C/C++
  • 标签:

资源简介

蓝噪声采样代码,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个文件信息

评论

共有 条评论

相关资源