head 1.1; branch 1.1.1; access; symbols pkgsrc-2026Q2:1.1.1.1.0.188 pkgsrc-2026Q2-base:1.1.1.1 pkgsrc-2026Q1:1.1.1.1.0.186 pkgsrc-2026Q1-base:1.1.1.1 pkgsrc-2025Q4:1.1.1.1.0.184 pkgsrc-2025Q4-base:1.1.1.1 pkgsrc-2025Q3:1.1.1.1.0.182 pkgsrc-2025Q3-base:1.1.1.1 pkgsrc-2025Q2:1.1.1.1.0.180 pkgsrc-2025Q2-base:1.1.1.1 pkgsrc-2025Q1:1.1.1.1.0.178 pkgsrc-2025Q1-base:1.1.1.1 pkgsrc-2024Q4:1.1.1.1.0.176 pkgsrc-2024Q4-base:1.1.1.1 pkgsrc-2024Q3:1.1.1.1.0.174 pkgsrc-2024Q3-base:1.1.1.1 pkgsrc-2024Q2:1.1.1.1.0.172 pkgsrc-2024Q2-base:1.1.1.1 pkgsrc-2024Q1:1.1.1.1.0.170 pkgsrc-2024Q1-base:1.1.1.1 pkgsrc-2023Q4:1.1.1.1.0.168 pkgsrc-2023Q4-base:1.1.1.1 pkgsrc-2023Q3:1.1.1.1.0.166 pkgsrc-2023Q3-base:1.1.1.1 pkgsrc-2023Q2:1.1.1.1.0.164 pkgsrc-2023Q2-base:1.1.1.1 pkgsrc-2023Q1:1.1.1.1.0.162 pkgsrc-2023Q1-base:1.1.1.1 pkgsrc-2022Q4:1.1.1.1.0.160 pkgsrc-2022Q4-base:1.1.1.1 pkgsrc-2022Q3:1.1.1.1.0.158 pkgsrc-2022Q3-base:1.1.1.1 pkgsrc-2022Q2:1.1.1.1.0.156 pkgsrc-2022Q2-base:1.1.1.1 pkgsrc-2022Q1:1.1.1.1.0.154 pkgsrc-2022Q1-base:1.1.1.1 pkgsrc-2021Q4:1.1.1.1.0.152 pkgsrc-2021Q4-base:1.1.1.1 pkgsrc-2021Q3:1.1.1.1.0.150 pkgsrc-2021Q3-base:1.1.1.1 pkgsrc-2021Q2:1.1.1.1.0.148 pkgsrc-2021Q2-base:1.1.1.1 pkgsrc-2021Q1:1.1.1.1.0.146 pkgsrc-2021Q1-base:1.1.1.1 pkgsrc-2020Q4:1.1.1.1.0.144 pkgsrc-2020Q4-base:1.1.1.1 pkgsrc-2020Q3:1.1.1.1.0.142 pkgsrc-2020Q3-base:1.1.1.1 pkgsrc-2020Q2:1.1.1.1.0.138 pkgsrc-2020Q2-base:1.1.1.1 pkgsrc-2020Q1:1.1.1.1.0.118 pkgsrc-2020Q1-base:1.1.1.1 pkgsrc-2019Q4:1.1.1.1.0.140 pkgsrc-2019Q4-base:1.1.1.1 pkgsrc-2019Q3:1.1.1.1.0.136 pkgsrc-2019Q3-base:1.1.1.1 pkgsrc-2019Q2:1.1.1.1.0.134 pkgsrc-2019Q2-base:1.1.1.1 pkgsrc-2019Q1:1.1.1.1.0.132 pkgsrc-2019Q1-base:1.1.1.1 pkgsrc-2018Q4:1.1.1.1.0.130 pkgsrc-2018Q4-base:1.1.1.1 pkgsrc-2018Q3:1.1.1.1.0.128 pkgsrc-2018Q3-base:1.1.1.1 pkgsrc-2018Q2:1.1.1.1.0.126 pkgsrc-2018Q2-base:1.1.1.1 pkgsrc-2018Q1:1.1.1.1.0.124 pkgsrc-2018Q1-base:1.1.1.1 pkgsrc-2017Q4:1.1.1.1.0.122 pkgsrc-2017Q4-base:1.1.1.1 pkgsrc-2017Q3:1.1.1.1.0.120 pkgsrc-2017Q3-base:1.1.1.1 pkgsrc-2017Q2:1.1.1.1.0.116 pkgsrc-2017Q2-base:1.1.1.1 pkgsrc-2017Q1:1.1.1.1.0.114 pkgsrc-2017Q1-base:1.1.1.1 pkgsrc-2016Q4:1.1.1.1.0.112 pkgsrc-2016Q4-base:1.1.1.1 pkgsrc-2016Q3:1.1.1.1.0.110 pkgsrc-2016Q3-base:1.1.1.1 pkgsrc-2016Q2:1.1.1.1.0.108 pkgsrc-2016Q2-base:1.1.1.1 pkgsrc-2016Q1:1.1.1.1.0.106 pkgsrc-2016Q1-base:1.1.1.1 pkgsrc-2015Q4:1.1.1.1.0.104 pkgsrc-2015Q4-base:1.1.1.1 pkgsrc-2015Q3:1.1.1.1.0.102 pkgsrc-2015Q3-base:1.1.1.1 pkgsrc-2015Q2:1.1.1.1.0.100 pkgsrc-2015Q2-base:1.1.1.1 pkgsrc-2015Q1:1.1.1.1.0.98 pkgsrc-2015Q1-base:1.1.1.1 pkgsrc-2014Q4:1.1.1.1.0.96 pkgsrc-2014Q4-base:1.1.1.1 pkgsrc-2014Q3:1.1.1.1.0.94 pkgsrc-2014Q3-base:1.1.1.1 pkgsrc-2014Q2:1.1.1.1.0.92 pkgsrc-2014Q2-base:1.1.1.1 pkgsrc-2014Q1:1.1.1.1.0.90 pkgsrc-2014Q1-base:1.1.1.1 pkgsrc-2013Q4:1.1.1.1.0.88 pkgsrc-2013Q4-base:1.1.1.1 pkgsrc-2013Q3:1.1.1.1.0.86 pkgsrc-2013Q3-base:1.1.1.1 pkgsrc-2013Q2:1.1.1.1.0.84 pkgsrc-2013Q2-base:1.1.1.1 pkgsrc-2013Q1:1.1.1.1.0.82 pkgsrc-2013Q1-base:1.1.1.1 pkgsrc-2012Q4:1.1.1.1.0.80 pkgsrc-2012Q4-base:1.1.1.1 pkgsrc-2012Q3:1.1.1.1.0.78 pkgsrc-2012Q3-base:1.1.1.1 pkgsrc-2012Q2:1.1.1.1.0.76 pkgsrc-2012Q2-base:1.1.1.1 pkgsrc-2012Q1:1.1.1.1.0.74 pkgsrc-2012Q1-base:1.1.1.1 pkgsrc-2011Q4:1.1.1.1.0.72 pkgsrc-2011Q4-base:1.1.1.1 pkgsrc-2011Q3:1.1.1.1.0.70 pkgsrc-2011Q3-base:1.1.1.1 pkgsrc-2011Q2:1.1.1.1.0.68 pkgsrc-2011Q2-base:1.1.1.1 pkgsrc-2011Q1:1.1.1.1.0.66 pkgsrc-2011Q1-base:1.1.1.1 pkgsrc-2010Q4:1.1.1.1.0.64 pkgsrc-2010Q4-base:1.1.1.1 pkgsrc-2010Q3:1.1.1.1.0.62 pkgsrc-2010Q3-base:1.1.1.1 pkgsrc-2010Q2:1.1.1.1.0.60 pkgsrc-2010Q2-base:1.1.1.1 pkgsrc-2010Q1:1.1.1.1.0.58 pkgsrc-2010Q1-base:1.1.1.1 pkgsrc-2009Q4:1.1.1.1.0.56 pkgsrc-2009Q4-base:1.1.1.1 pkgsrc-2009Q3:1.1.1.1.0.54 pkgsrc-2009Q3-base:1.1.1.1 pkgsrc-2009Q2:1.1.1.1.0.52 pkgsrc-2009Q2-base:1.1.1.1 pkgsrc-2009Q1:1.1.1.1.0.50 pkgsrc-2009Q1-base:1.1.1.1 pkgsrc-2008Q4:1.1.1.1.0.48 pkgsrc-2008Q4-base:1.1.1.1 pkgsrc-2008Q3:1.1.1.1.0.46 pkgsrc-2008Q3-base:1.1.1.1 cube-native-xorg:1.1.1.1.0.44 cube-native-xorg-base:1.1.1.1 pkgsrc-2008Q2:1.1.1.1.0.42 pkgsrc-2008Q2-base:1.1.1.1 cwrapper:1.1.1.1.0.40 pkgsrc-2008Q1:1.1.1.1.0.38 pkgsrc-2008Q1-base:1.1.1.1 pkgsrc-2007Q4:1.1.1.1.0.36 pkgsrc-2007Q4-base:1.1.1.1 pkgsrc-2007Q3:1.1.1.1.0.34 pkgsrc-2007Q3-base:1.1.1.1 pkgsrc-2007Q2:1.1.1.1.0.32 pkgsrc-2007Q2-base:1.1.1.1 pkgsrc-2007Q1:1.1.1.1.0.30 pkgsrc-2007Q1-base:1.1.1.1 pkgsrc-2006Q4:1.1.1.1.0.28 pkgsrc-2006Q4-base:1.1.1.1 pkgsrc-2006Q3:1.1.1.1.0.26 pkgsrc-2006Q3-base:1.1.1.1 pkgsrc-2006Q2:1.1.1.1.0.24 pkgsrc-2006Q2-base:1.1.1.1 pkgsrc-2006Q1:1.1.1.1.0.22 pkgsrc-2006Q1-base:1.1.1.1 pkgsrc-2005Q4:1.1.1.1.0.20 pkgsrc-2005Q4-base:1.1.1.1 pkgsrc-2005Q3:1.1.1.1.0.18 pkgsrc-2005Q3-base:1.1.1.1 pkgsrc-2005Q2:1.1.1.1.0.16 pkgsrc-2005Q2-base:1.1.1.1 pkgsrc-2005Q1:1.1.1.1.0.14 pkgsrc-2005Q1-base:1.1.1.1 pkgsrc-2004Q4:1.1.1.1.0.12 pkgsrc-2004Q4-base:1.1.1.1 pkgsrc-2004Q3:1.1.1.1.0.10 pkgsrc-2004Q3-base:1.1.1.1 pkgsrc-2004Q2:1.1.1.1.0.8 pkgsrc-2004Q2-base:1.1.1.1 pkgsrc-2004Q1:1.1.1.1.0.6 pkgsrc-2004Q1-base:1.1.1.1 pkgsrc-2003Q4:1.1.1.1.0.4 pkgsrc-2003Q4-base:1.1.1.1 netbsd-1-6-1:1.1.1.1.0.2 netbsd-1-6-1-base:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.1 date 2003.01.23.19.27.12; author wiz; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2003.01.23.19.27.12; author wiz; state Exp; branches; next ; desc @@ 1.1 log @Initial revision @ text @In contrast to Graphviz and other graph optimizers, graphopt does not use a heuristic approach to layout optimization. Instead, it uses basic principles of physics to iteratively determine optimal layout. Each node is given mass and an electric charge, and each edge is represented as a spring. Node mass, electric charge, optimal spring length, and the spring constant are tweakable in the gui in realtime. For most graphs, this is all that is needed - hit 'go' and the graph organizes itself much as the analagous real-life system would if constrained to two dimensions. For more complex graphs, some fiddling with the physical parameters at different stages of optimization usually does the trick. To accomodate very large graphs, an additional mechanism called layering was added. When a graph is loaded, nodes are assigned to layers based on their relative positions. During optimization, you can choose to hide any number of layers. Any nodes assigned to a layer lower than the selected layer are not only hidden, but neither their electric charges nor the forces of the springs attached to them are figured into the forces acting on the visible nodes. In effect, those nodes cease to exist, and a smaller graph is allowed to lay itself out without being constrained by an excessive number of nodes. @ 1.1.1.1 log @Initial import of graphopt-0.1, a graph layout optimizer: In contrast to Graphviz and other graph optimizers, graphopt does not use a heuristic approach to layout optimization. Instead, it uses basic principles of physics to iteratively determine optimal layout. Each node is given mass and an electric charge, and each edge is represented as a spring. Node mass, electric charge, optimal spring length, and the spring constant are tweakable in the gui in realtime. For most graphs, this is all that is needed - hit 'go' and the graph organizes itself much as the analagous real-life system would if constrained to two dimensions. For more complex graphs, some fiddling with the physical parameters at different stages of optimization usually does the trick. To accomodate very large graphs, an additional mechanism called layering was added. When a graph is loaded, nodes are assigned to layers based on their relative positions. During optimization, you can choose to hide any number of layers. Any nodes assigned to a layer lower than the selected layer are not only hidden, but neither their electric charges nor the forces of the springs attached to them are figured into the forces acting on the visible nodes. In effect, those nodes cease to exist, and a smaller graph is allowed to lay itself out without being constrained by an excessive number of nodes. @ text @@