algorithmic modeling for Rhino


lately I have been investigating on conjugate curve networks and I was surprised to find so little information on it in this forum. The little bit I found was regarding a comment by Daniel Hableton, hence this is mostly address to him. But I thought I might receive more that I bargained for by making it open, and others might also benefit. 

PQ meshes can be obtained easily (almost self arising) from conjugate curve networks, also called conjugate direction fields (CDF). This makes them critical to the design and more importantly to the control of PQ meshes, i.e. by controlling the layout of the CDF, the layout of the PQ mesh can be controlled. The principal directions of a surface make up a CDF, but since they are unique they offer no degree of freedom. Furthermore CDF are involve in the design of developable strips. 

I was interested in knowing how to obtain CDF other than those of the principal directions. These seem to have been obtained by Daniel with the SPM toolset. A reference paper or general approach to the matter would suffice. 

Thank you

Views: 2205

Replies to This Discussion

My post here is maybe relevant:

and particularly that second link to the presentation.

There are also a few nice new papers on quad meshing for this year's Siggraph

such as this one based on mixed-integer quadratic programming:

(but it doesn't look particularly simple to implement!)

I've also been experimenting a bit with smoothing 'cross-fields' in Kangaroo using the alignment forces, with some promising results... I'll post something soon.

Integrating these to get a clean quad grid is not trivial though. It is complicated by the fact that these are not simple vector fields that can be assigned consistent directions, but include 180 degree flips. Not sure if SPM can trace streamlines through these ? Even if it could, that still leaves a lot of challenges to turn such curves into a clean, well spaced grid, which is why I am a bit more drawn to the QuadCover approach, as this reduces the problem to contouring a scalar field (albeit on a branched covering of the surface).

Here's an example of some of the cross-field smoothing using alignment forces in Kangaroo, starting from random initial directions. Guide vectors or singularities can also be given as inputs.

The same thing works on a surface, by constraining the frame directions to also remain perpendicular to surface normals.

Guide vectors or singularities can also be given as inputs.

Wow, so a cross field could be obtain by specifying "strokes" defining desired directions of the field? That's basically what they do here

Aren't singularities supposed to be unknown at first?

I still do not know if cross-fields and CDFs are the same. 


I sometimes get mixed up with the terminology too, but I believe CDFs are cross-fields (without any requirement that the 2 directions be orthogonal), though not all cross-fields are CDFs.

This paper has some mention of this near the start.

Yes, one can set desired directions, and singularities too, though if not specified they will emerge spontaneously.

Hello Daniel,

thank you for your quick response. I have only browsed the topic of "cross-fields" since (I think) they are not CDFs. I should have stated that my primary interest was in the extraction of CDFs (other than the principal) for the purpose of laying out triangles to obtain a P-Hex mesh by tangent plane intersection. Consequently the interest in PQ meshes was only tangential. 

I had guessed that once you have a CDF you can obtain the intersections between these and optimize for planarity to get a PQ mesh. 






  • Add Photos
  • View All

© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service