Grouping of geometries

From apm
Revision as of 08:02, 11 October 2023 by Apm (Talk | contribs) (Massive improvements on intro and section == Heavily restricted functions ==)

Jump to: navigation, search
This article is a stub. It needs to be expanded.

Up: Software trouble pages

The grouping functionality for geometries like it is found in
many rastergraphic, vectorgraphic and 3D-modelling programs which have
a graphical user interface and mouse interaction is supposed to make the grouped things reusable. (well and to holding things together such that they can be drag and dropped moved as a whole)

While this approach works for "simple" cases the approach fails for anything beyond that.

The problems are that:

  • Groupings are basically just heavily restricted functions.
  • When duplicated groupings are often irreversibly detached from the original.
  • Groupings have usually no or awfully implemented inheritance.

Heavily restricted functions

Groupings have a fixed set of parameters that all are implicitly hidden in most cases.
The implicit parameters are usually only linear transformations applied to the whole grouping:
That is: translation (insertion point), scaling, rotation, sometimes shearing.
Other transformations are usually not possible.
Other transformations does not just meas simple weird (and rarely useful) nonlinear transformations like swirls and such but
General programmatic transformations changing specific details in specific ways on specific potentially highly nontrivial conditions.
Even nontrivial changes where the same "object" may end up with a completely different look.
(good abstractions ~~ high levels of data compression).

Awfully implemented inheritance

  • Desired: semi manual backward update distribution ...

(wiki-TODO: elaborate)

Microcomponents

In physical systems microcomponents could be seen as such groupings with all its detriments. But microcomponents are low level instances of a high level abstract software representation. Systems of microcomponents are compiled (decompressed) results of a high level highly compressed abstract software representation that does not suffer from the "grouping"-problem.
(TODO: More investigation is needed in the microcomponent-as-group-problem direction.)

Related