volmesh_reciprocate

compas_3gs.algorithms.volmesh_reciprocate(volmesh, formdiagram, kmax=100, weight=1.0, fix_vkeys=[], edge_min=0.1, edge_max=10000, tolerance=1.0, tolerance_boundary=1.0, callback=None, callback_args=None, print_result_info=False)[source]

Perpendicularizes the faces of the polyhedral force diagram to the corresponding dual edges in the polyhedral form diagram.

Parameters
  • volmesh (VolMesh) – A volmesh object representing a polyhedral force diagram.

  • formdiagram (VolMesh or Network) – A network object representing a polyhedral form diagram.

  • kmax (int, optional [100]) – Maximum number of iterations.

  • weight (float, optional [1.0]) – A float, between 0 and 1, which determines how much each diagram changes. 1 changes the form diagram only, while 0 changes the force diagram only. Default is 1.0.

  • fix_vkeys (list, optional []) – List of vkeys to fix.

  • edge_min (float, optional [None]) – Value for minimum edge length to be imposed.

  • edge_max (float, optional [None]) – Value for maximum edge length allowed.

  • tolerance (float, optional [0.001]) – Value for convergence tolerance. Deviation is measured by the the dot product of the input and target vectors.

  • callback (callable, optional [None]) – A user-defined callback function to be executed after every iteration.

  • callback_args (tuple, optional [None]) – Additional parameters to be passed to the callback.

  • print_result_info (bool, optional) – If True, print the result of the algorithm.

Raises

Exception – If a callback is provided, but it is not callable.

Notes

The orientations of the boundary faces of the polyhedral force diagram are always fixed by default.

See also

compas.geometry.network_parallelise_edges