我正在生成一些像这样的svg图像:
<svg version="1.1" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<style type="text/css">
text {
font-family: Helvetica;
font-size: 60px;
paint-order: stroke;
stroke: #000000;
stroke-width: 6px;
stroke-linecap: butt;
stroke-linejoin: miter;
font-weight: 800;
}
</style>
<g stroke="lightgray" stroke-dasharray="1,1" stroke-width="1" transform="scale(4, 4)">
<line x1="0" y1="0" x2="256" y2="256"/>
<line x1="256" y1="0" x2="0" y2="256"/>
<line x1="128" y1="0" x2="128" y2="256"/>
<line x1="0" y1="128" x2="256" y2="128"/>
</g>
<g transform="scale(1, -1) translate(0, -900)">
<path d="M 128 445 Q 222 525 301 653 Q 319 685 334 709 L 343 725 Q …Run Code Online (Sandbox Code Playgroud)javascript algorithm coordinates force-based-algorithm node.js
我想在开始实施之前检查一下我的理论.
常量:
m =顶点质量(全部相同 - 可能将其设置为节点半径)k =恒定边力.l ="能量最小状态"处的边缘长度.变量:
d =两个顶点之间的距离.cl =边缘的当前长度.理论:
每个顶点在每个其他顶点都有一个排斥力,即:m / (d^2).对于每个边缘,它表现出一个力,两个顶点将它们"拖动"在方向上以使边缘达到"能量最小状态"; 所以每个顶点:-k * ((l - cl) / 2).
伪代码:
until energy minimal state
for each vertex v1
for each vertex v2
if v1 != v2
v1.velocity += m / square_distance (v1, v2)
endif
end
end
for each edge e
e.v1.velocity += -k * (delta_min_energy_len (e) / 2)
e.v2.velocity += -k * (delta_min_energy_len (e) / 2)
end
for each …Run Code Online (Sandbox Code Playgroud) 您是否了解用于GUI的C++ 中强制定向布局的开源实现?优选BSD/MIT/Apache或其他(非GPL)许可.
有没有人知道任何Flash fla是哪里和免费的,做类似于http://audiomap.tuneglue.net/(你必须输入一个搜索词来看它在行动).
我所追求的是在中间创建节点的闪光,它扩展到儿童,然后每个儿童可以扩展到更多的孩子等,同时保持彼此的距离,以便不重叠.我喜欢它,所以如果你点击一个节点来扩展它,它会射到一个网站并获得一个xml feed,然后可以用它来创建孩子.
谢谢
algorithm ×2
c++ ×1
coordinates ×1
flash ×1
force-layout ×1
graph-theory ×1
javascript ×1
layout ×1
node.js ×1