geometor.divine.golden

find and analyze golden sections

Todo

create a sections module

geometor.divine.golden.find_golden_sections_in_model(model: Model) tuple[list[Section], dict[Line, list[Section]]][source]

analyze all lines in the model for golden sections

geometor.divine.golden.find_golden_sections_in_points(pts) list[Section][source]

find golden sections in combinations of 3 points in list returns a list of golden section pairs

geometor.divine.golden.is_section_golden(section_points) bool[source]

Golden Chain Analyzer: Harmonic Range Identification in Golden Sections

This module is designed to analyze and explore chains of connected golden sections, unraveling the harmonic ranges within geometric structures. Utilizing sophisticated mathematical analysis and geometric algorithms, it aims to identify, categorize, and unpack chains, providing an intuitive understanding of their intrinsic geometric harmonies.

Features:

  • find_chains_in_sections: A function designed to meticulously identify chains within a collection of sections, resulting in a hierarchical tree structure representing connected sections.

  • unpack_chains: Unveils the chains hidden within the tree structure, outputting a list of individual Chain objects ready for analysis.

Each chain’s flow is characterized by the comparative lengths of consecutive segments, represented symbolically to understand the progression and transitions in segment lengths. Furthermore, this module empowers users to explore symmetry lines within chains, unveiling a subtle, profound aspect of geometric harmony.

geometor.divine.golden.chains.find_chains_in_sections(sections: list[Section]) dict[source]

Identify chains of connected golden sections to form harmonic ranges.

parameters:
sectionslist[Section]

A list of Section objects representing golden sections to be analyzed.

returns:
dict

A dictionary representing a tree structure where each node is a Section and connected Sections are child nodes.

geometor.divine.golden.chains.unpack_chains(tree: dict) list[Chain][source]

Unpack the chain tree into a list of individual Chain objects.

parameters:
treedict

A dictionary representing a tree structure where each node is a Section and connected Sections are child nodes.

returns:
list[Chain]

A list containing Chain objects, each representing a chain of connected golden sections.

geometor.divine.golden.groups.group_sections_by_size(sections: list[Section]) dict[Expr, list[Section]][source]
geometor.divine.golden.groups.group_sections_by_segments(sections: list[Section]) dict[Segment, list[Section]][source]
geometor.divine.golden.groups.group_sections_by_points(sections: list[Section]) dict[Point, list[Section]][source]
geometor.divine.golden.ranges.check_range(r)[source]
geometor.divine.golden.ranges.analyze_harmonics(line)[source]
geometor.divine.golden.ranges.analyze_harmonics_by_segment(sections_by_line)[source]