Am 19.04.21 um 21:42 schrieb messias.phys...@gmail.com:
I have the same question as Davide Cittaro.

I'm trying to create the same plot got from  minimize_nested_blockmodel_dl and 
draw_hyerarch, but using the threejs
(https://threejs.org/docs/?q=curve#api/in/extras/curves/Quadratic Bezier Curve)

I'm using this code to extract the control points

```
state = gt.inference.minimize.minimize_nested_blockmodel_dl(g)
....
pos, t, tpos = state.draw(**options)
cts = gt.draw.get_hierarchy_control_points(g, t, tpos)
```
However I couldn't get how the control points are enconded in the cts ds.

For example, a  sinlge instance of cts object I have this

print(list(cts)[100] )
[0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.03 0.09
  0.05 0.18 0.11 0.36 0.17 0.48 0.23 0.61 0.3  0.69 0.36 0.84 0.42 0.99
  0.46 1.21 0.5  1.23 0.55 1.25 0.6  1.06 0.65 0.87 0.7  0.69 0.75 0.5
  0.81 0.35 0.87 0.21 0.93 0.1  0.97 0.05 1.   0.   1.   0.   1.   0.
  1.   0.   1.   0.   1.   0.  ]

What's the meaning of the first 12 elements?  How (x,y) for control points are 
encoded?

From the documentation of graph_draw():

   control_points:  Control points of a Bézier spline used to draw the
   edge. Each spline segment requires 6 values corresponding to the
   (x,y) coordinates of the two intermediary control points and the
   final point.

In the coordinate system, (0,0) is the start of the edge, and (1, 0) is the end of the edge. The last point at (1,0) is always assumed, even if not given.

(Note that the get_hierarchy_control_points() is wasteful, since it includes duplicated points in the beginning and end. This is an outcome of the translation between B-splines, used internally, and the Bezier splines that are used for drawing. This is something I intended to fix, but it seems I forgot.)

Best,
Tiago

--
Tiago de Paula Peixoto <ti...@skewed.de>
_______________________________________________
graph-tool mailing list -- graph-tool@skewed.de
To unsubscribe send an email to graph-tool-le...@skewed.de

Reply via email to