From 5a43ead8d1478d9b2d52d7d23586b794566363b0 Mon Sep 17 00:00:00 2001 From: D4rkst3r Date: Thu, 6 Aug 2026 14:09:52 +0200 Subject: [PATCH] Tree Gen 1.39.0: Kronenfuellung des Obstbaums - Flaeche statt Card-Zahl Der Obstbaum las sich in der Engine als einzelne belaubte Ast-Schlaeuche mit Himmel dazwischen. Die Card-Zahl erklaert das nicht; die Blattflaeche pro Kronenvolumen tut es: Eiche (schliesst) 444 Cards, Krone 18.9 m3 -> 24.6 m2/m3 Obstbaum vorher 399 Cards, Krone 36.2 m3 -> 11.4 m2/m3 Fast doppeltes Volumen bei gleicher Card-Zahl. Der Vorschlag der Spielseite - mehr und laengere Sub-Aeste als Fuellwerk - wurde durchgemessen und VERWORFEN: Sub Count 5/7, Sub Length 1.0/1.3, Sub Start 0.20/0.30, Branch Count 12/14 bewegten den Fuellgrad um hoechstens 7 Punkte und trieben die Dreiecke auf 4310-5162. Strukturell: neue Zweige wachsen aus denselben wenigen Hauptaesten und vergroessern dabei die Krone, das Volumen waechst also mit. Ebenfalls verworfen: mehr Cards (Ziel 740 = 5426 Tris, 26 % ueber Budget, und der Fuellgrad stieg nur auf 75 %). Und eine kleinere Krone: Branch Length 2.35 sah ueber drei Seeds mit 1.83 m gut aus, im Neun-Seed-Test fielen SECHS Seeds unter die 1.80 m der Frucht-Streuung. Was wirkt, ist die Card-GROESSE (neu: LEAF_SIZE_PRESET, Faktor je Preset). Sie kostet kein Dreieck, weil die Card-Zahl gedeckelt ist - aber OVERDRAW, und der ist bei Bueschel-Cards der eigentliche Engpass. Deshalb der maessige Faktor 1.47: Deckung von 46 auf 87-114 % der Eiche, Card-Flaeche 414 -> 893 m2, bei 3697 statt 3714 Tris. Faktor 1.71 brachte 79 % Fuellgrad bei 2.7-facher Flaeche - das waere eine Overdraw-Entscheidung der Spielseite. test_obstbaum prueft die Deckung jetzt mit, und zwar gegen die im SELBEN Lauf gemessene Eiche statt gegen eine feste Zahl: die Deckung haengt an der Card-Flaeche, eine 6-Tri-Card bringt das Dreifache einer flachen Raute. Der erste Anlauf des Checks ist genau daran gescheitert. Gegenprobe gefahren: mit Faktor 1.0 meldet der Test 9 Fehler bei 42-54 % der Eiche. 26 Tests bestehen. Co-Authored-By: Claude Opus 4.8 --- README.md | 41 ++++++++++ blender_manifest_tree.toml | 2 +- dist/index.html | 6 +- dist/index.json | 8 +- dist/stylized_tree_generator-1.38.0.zip | Bin 46032 -> 0 bytes dist/stylized_tree_generator-1.39.0.zip | Bin 0 -> 47076 bytes stylized_tree_generator.py | 47 ++++++++++- tests/test_obstbaum.py | 101 +++++++++++++++++++++++- 8 files changed, 191 insertions(+), 14 deletions(-) delete mode 100644 dist/stylized_tree_generator-1.38.0.zip create mode 100644 dist/stylized_tree_generator-1.39.0.zip diff --git a/README.md b/README.md index 3516918..d50b8c2 100644 --- a/README.md +++ b/README.md @@ -563,6 +563,47 @@ Der Kaktus erzeugt regulaer **0 Cards** — kein Ast ist duenner als `Max Radius und das ist botanisch richtig. Vorher lief das still durch und man stand vor einer leeren `_Leaf`-Ebene; jetzt sagt der Operator es und nennt den Regler. +### Kronenfuellung: es zaehlt die Flaeche, nicht die Card-Zahl + +Der Obstbaum las sich in der Engine als einzelne belaubte Ast-Schlaeuche mit +Himmel dazwischen - "behaarte Finger". Die Card-Zahl erklaert das nicht: 400 +Cards koennen eine geschlossene Haube sein oder fuenf Schlaeuche. Was es +erklaert, ist die Blattflaeche pro Kronenvolumen: + +| | Cards | Krone | Flaeche/Volumen | +|---|---|---|---| +| Eiche (schliesst) | 444 | r 1.26 x 3.78 = 18.9 m3 | **24.6 m2/m3** | +| Obstbaum vorher | 399 | r 2.00 x 2.88 = 36.2 m3 | **11.4 m2/m3** | + +Die Obstbaum-Krone hat fast das doppelte Volumen bei gleicher Card-Zahl. + +**Durchgemessen und verworfen: mehr Zweigwerk.** Sub Count 5 und 7, Sub Length +1.0 und 1.3, Sub Start 0.20 und 0.30, Branch Count 12 und 14 - der Fuellgrad +bewegte sich um hoechstens 7 Punkte, die Dreiecke stiegen auf 4310-5162. Der +Grund ist strukturell: neue Zweige wachsen aus denselben wenigen Hauptaesten +und vergroessern dabei die Krone. Das Volumen waechst mit, die gedeckelte +Card-Zahl nicht. + +**Ebenfalls verworfen: mehr Cards.** Ziel 740 (rechnerisch noetig fuer 25/m3) +ergab 5426 Tris - 26 % ueber Budget - und hob den Fuellgrad nur auf 75 %. +Cards zaehlen ist nicht dasselbe wie Flaeche decken. + +**Ebenfalls verworfen: kleinere Krone.** Branch Length 2.35 sah ueber drei +Seeds mit Kronenradius 1.83 m gut aus - im Neun-Seed-Test fielen dann SECHS +Seeds unter die 1.80 m, die die Frucht-Streuung braucht (1.73-1.79). + +Was bleibt, ist die Card-GROESSE (`LEAF_SIZE_PRESET`): sie kostet kein einziges +Dreieck, weil die Zahl gedeckelt ist. Sie kostet OVERDRAW, und der ist bei +Bueschel-Cards der eigentliche Engpass. Faktor 1.47 hebt die Deckung von 46 auf +87-114 % der Eiche und verdoppelt die Card-Flaeche (414 -> 893 m2), bei 3697 +statt 3714 Tris. + +Der Test vergleicht gegen die **im selben Lauf gemessene Eiche**, nicht gegen +eine feste Zahl. Die Deckung haengt an der Card-Flaeche - eine 6-Tri-Card +bringt das Dreifache einer flachen Raute -, und der erste Anlauf des Checks ist +genau daran gescheitert: die Schwelle stammte aus einem Messskript mit anderer +Card und meldete neun Fehler auf einem korrekten Baum. + ### Zwei Knoepfe, ein Weg Blattwerk entsteht an zwei Stellen: ueber das Haekchen "_Leaf anlegen" beim diff --git a/blender_manifest_tree.toml b/blender_manifest_tree.toml index 9897898..607d446 100644 --- a/blender_manifest_tree.toml +++ b/blender_manifest_tree.toml @@ -1,7 +1,7 @@ schema_version = "1.0.0" id = "stylized_tree_generator" -version = "1.38.0" +version = "1.39.0" name = "Stylized Tree Generator" tagline = "Parametrische Baeume, Palmen, Bueschen mit Wachstums-Stufen" maintainer = "D4rkst3r" diff --git a/dist/index.html b/dist/index.html index 6f7f08e..b1e777e 100644 --- a/dist/index.html +++ b/dist/index.html @@ -50,17 +50,17 @@ 34.1KB - stylized_tree_generator-1.38.0 + stylized_tree_generator-1.39.0 Stylized Tree Generator Parametrische Baeume, Palmen, Bueschen mit Wachstums-Stufen link 4.2.0 - ~ all all - 45.0KB + 46.0KB -

Built 2026-08-06, 11:22

+

Built 2026-08-06, 12:09

diff --git a/dist/index.json b/dist/index.json index 02212d0..40706be 100644 --- a/dist/index.json +++ b/dist/index.json @@ -82,7 +82,7 @@ "id": "stylized_tree_generator", "name": "Stylized Tree Generator", "tagline": "Parametrische Baeume, Palmen, Bueschen mit Wachstums-Stufen", - "version": "1.38.0", + "version": "1.39.0", "type": "add-on", "maintainer": "D4rkst3r", "license": [ @@ -98,9 +98,9 @@ "Mesh", "Modeling" ], - "archive_url": "./stylized_tree_generator-1.38.0.zip", - "archive_size": 46032, - "archive_hash": "sha256:0d65140f04d1ba8289a72c69c44c95b8e7b7300681695b43c7cba7a8f2ec6c9b" + "archive_url": "./stylized_tree_generator-1.39.0.zip", + "archive_size": 47076, + "archive_hash": "sha256:44a7601ffb6cfb8004d213416cdc0fdd5592e0c2596a89ed6a32b2c06f12bb4d" } ] } \ No newline at end of file diff --git a/dist/stylized_tree_generator-1.38.0.zip b/dist/stylized_tree_generator-1.38.0.zip deleted file mode 100644 index 3902d392eb6c646b7d88b2d795f58a841df97737..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46032 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 diff --git a/dist/stylized_tree_generator-1.39.0.zip b/dist/stylized_tree_generator-1.39.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..246fc1e794dbd0186e72fecca3459d148dacf527 GIT binary patch literal 47076 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 literal 0 HcmV?d00001 diff --git a/stylized_tree_generator.py b/stylized_tree_generator.py index 9681929..32a26e7 100644 --- a/stylized_tree_generator.py +++ b/stylized_tree_generator.py @@ -1,7 +1,7 @@ bl_info = { "name": "Stylized Tree Generator", "author": "D4rkst3r", - "version": (1, 38, 0), + "version": (1, 39, 0), "blender": (4, 2, 0), "location": "View3D > Sidebar > Tree Gen", "description": "Parametrischer Baum-/Palmen-/Busch-Generator (Geometry Nodes) mit Wachstums-Stufen", @@ -197,6 +197,11 @@ PRESETS = { "obstbaum": { "Height": 3.8, "Trunk Radius": 0.13, "Bend": 0.3, "Taper": 0.7, "Branch Count": 9, # offene Krone: wenige Leitaeste, Licht durch + # Bleibt bei 2.55. Die Krone zu verkleinern waere der zweite Hebel gegen + # den niedrigen Fuellgrad gewesen - bei 2.35 fielen aber SECHS der neun + # Seeds unter den Kronenradius von 1.80 m, den die Frucht-Streuung + # braucht (1.73-1.79). Ueber drei Seeds gemittelt sah es mit 1.83 noch + # gut aus; erst der Neun-Seed-Test hat es aufgedeckt. "Branch Length": 2.55, "Branch Up": 0.7, "Branch Start": 0.52, "Branch End": 0.90, "Crown Taper": -0.30, "Crown Bulge": 0.60, # rund, Bauch in der Mitte @@ -1627,6 +1632,41 @@ LEAF_STUFEN_PRESET = { "obstbaum": {3: 420}, } +# Card-GROESSE je Preset, als Faktor auf die eingestellte Groesse. +# +# Warum das ueberhaupt eine eigene Tabelle braucht: die Kronenfuellung haengt an +# der Card-FLAECHE, nicht an der Card-Zahl - und wie viel Flaeche eine Krone +# braucht, haengt an ihrem Volumen. Gemessen (S4, Cards je m3 Kronenzylinder / +# Anteil belegter 0.4-m-Voxel): +# +# Eiche 444 Cards, Krone r 1.26 x 3.78 = 18.9 m3 -> 23.7/m3, 88 % belegt +# Obstbaum 399 Cards, Krone r 2.00 x 2.88 = 36.2 m3 -> 11.1/m3, 60 % belegt +# +# Die Obstbaum-Krone hat fast das doppelte Volumen bei gleicher Card-Zahl - +# daher las sie sich als einzelne belaubte Ast-Schlaeuche mit Himmel dazwischen +# ("behaarte Finger", Abnahme der Spielseite). +# +# Durchgemessen und VERWORFEN: mehr und laengere Sub-Aeste als Fuellwerk. Sub +# Count 5/7, Sub Length 1.0/1.3, Sub Start 0.20/0.30, Branch Count 12/14 - der +# Fuellgrad bewegte sich um hoechstens 7 Punkte, die Dreiecke stiegen auf +# 4310-5162. Der Grund ist strukturell: neue Zweige wachsen aus denselben wenigen +# Hauptaesten und vergroessern dabei die Krone, waehrend die Card-Zahl gedeckelt +# bleibt. Das Volumen waechst also mit. +# +# Ebenfalls verworfen: mehr Cards. Bei Ziel 740 (was rechnerisch fuer 25/m3 +# noetig waere) kamen 5426 Tris heraus - 26 % ueber Budget - und der Fuellgrad +# stieg nur auf 75 %. Cards zaehlen ist nicht dasselbe wie Flaeche decken. +# +# Was wirkt, ist die Card-Groesse: sie kostet KEIN einziges Dreieck, weil die +# Zahl gedeckelt ist. Sie kostet aber OVERDRAW - und der ist bei Bueschel-Cards +# der eigentliche Engpass, nicht der Dreieckszaehler. Deshalb der maessige +# Faktor: 1.47 hebt den Fuellgrad von 60 auf 74 % und verdoppelt die Card- +# Flaeche (414 -> 832 m2). 1.71 brachte 79 % bei 2.7-facher Flaeche - das waere +# eine Overdraw-Entscheidung der Spielseite, keine Generator-Frage. +LEAF_SIZE_PRESET = { + "obstbaum": 1.47, +} + def _stufen_anteile(growth_t, preset=None): """Ziel-Cardzahl, Groessen- und Kronenansatz-Wert fuer einen Wachstums-Fortschritt. @@ -1803,7 +1843,10 @@ def make_leaves(context, tree_obj, card_obj, name=None, card_coll=None, basis = dict(LEAF_DEFAULTS) basis.update(overrides) - overrides["Size"] = basis["Size"] * g_anteil + # Preset-Faktor auf die Card-Groesse: eine weite Krone braucht mehr + # Card-FLAECHE, um geschlossen zu wirken (siehe LEAF_SIZE_PRESET). + p_faktor = LEAF_SIZE_PRESET.get(tree_obj.get("preset") or "", 1.0) + overrides["Size"] = basis["Size"] * g_anteil * p_faktor overrides["Max Radius"] = basis["Max Radius"] * r_faktor overrides["Min Height"] = h_anteil diff --git a/tests/test_obstbaum.py b/tests/test_obstbaum.py index 41f416c..765e4ec 100644 --- a/tests/test_obstbaum.py +++ b/tests/test_obstbaum.py @@ -74,14 +74,65 @@ def inseln(m): return out +def deckung_messen(preset, seed): + """Blattflaeche je m3 Kronenzylinder - fuer beliebiges Preset. + + Der Wert haengt an der verwendeten Card (Flaeche!), taugt also NICHT als + absolute Schwelle. Verglichen wird deshalb gegen die Eiche, die in + demselben Lauf mit DERSELBEN Card gemessen wird. + """ + for o in list(bpy.context.scene.objects): + if o is not card: + bpy.data.objects.remove(o, do_unlink=True) + s.preset = preset + s.art_name = "Ref" + s.variant = 1 + s.seed = seed + s.use_growth = False + bpy.ops.object.treegen_create() + baum = [o for o in bpy.context.scene.objects + if o.type == 'MESH' and o is not card + and not o.name.endswith(("_Leaf", "_Frucht"))][0] + for o in bpy.context.scene.objects: + o.select_set(o is baum) + bpy.context.view_layer.objects.active = baum + bpy.ops.object.treegen_leaves() + bl = bpy.data.objects.get(baum.name + "_Leaf") + dg = bpy.context.evaluated_depsgraph_get() + ev = bl.evaluated_get(dg) + m = ev.to_mesh() + flaeche = sum(p.area for p in m.polygons) + mitten = [] + for grp in inseln(m): + pts = [m.vertices[i].co for i in grp] + mitten.append((sum(p.x for p in pts) / len(pts), + sum(p.y for p in pts) / len(pts), + sum(p.z for p in pts) / len(pts))) + ev.to_mesh_clear() + lr = max(math.hypot(x, y) for x, y, _z in mitten) + lz = [z for _x, _y, z in mitten] + vol = math.pi * lr ** 2 * (max(lz) - min(lz)) + return flaeche / vol if vol else 0.0 + + +# Die EICHE ist der Massstab: sie schliesst laut Abnahme der Spielseite, der +# Obstbaum tat es nicht. Hier gemessen statt als Konstante hingeschrieben, +# weil der Wert an der Card-Flaeche haengt - eine feste Zahl waere nur fuer +# genau diese Testkarte richtig. +EICHE = sum(deckung_messen("eiche", sd) for sd in (1, 2, 3)) / 3.0 +print("Massstab Eiche: %.2f m2 Blatt je m3 Krone (mit DIESER Testcard)" % EICHE) +print("") + # Die Seeds sind die der Spielseite: Apfel 1/15/22, Kirsche 2/16/23, # Birne 3/17/24. Ein Preset, das nur bei einem Seed passt, ist keines. SEEDS = (1, 15, 22, 2, 16, 23, 3, 17, 24) -print("%-6s %7s %6s %9s %9s %9s %7s" - % ("Seed", "Hoehe", "B/H", "KronR", "Card-Max", "KronR/Card", "Ansatz")) +print("%-6s %7s %6s %9s %9s %9s %7s %9s" + % ("Seed", "Hoehe", "B/H", "KronR", "Card-Max", "KronR/Card", "Ansatz", + "m2/m3")) verh = [] +deckungen = [] for seed in SEEDS: for o in list(bpy.context.scene.objects): if o is not card: @@ -115,19 +166,57 @@ for seed in SEEDS: ansatz = 100.0 * (min(astz) - z0) / hoehe if astz else 0.0 card_max = 0.0 + blatt_flaeche = 0.0 + kron_zyl = 0.0 if bl is not None: ev = bl.evaluated_get(dg) m2 = ev.to_mesh() + blatt_flaeche = sum(p.area for p in m2.polygons) + mitten = [] for grp in inseln(m2): pts = [m2.vertices[i].co for i in grp] card_max = max(card_max, max((a - b).length for a in pts for b in pts)) + mitten.append((sum(p.x for p in pts) / len(pts), + sum(p.y for p in pts) / len(pts), + sum(p.z for p in pts) / len(pts))) ev.to_mesh_clear() + if mitten: + lr = max(math.hypot(x, y) for x, y, _z in mitten) + lz = [z for _x, _y, z in mitten] + kron_zyl = math.pi * lr ** 2 * (max(lz) - min(lz)) v = kron_r / card_max if card_max else 0.0 verh.append(v) - print("%-6d %7.2f %6.2f %9.2f %9.2f %9.2f %6.0f%%" - % (seed, hoehe, 2 * kron_r / hoehe, kron_r, card_max, v, ansatz)) + deckung = blatt_flaeche / kron_zyl if kron_zyl else 0.0 + deckungen.append(deckung) + print("%-6d %7.2f %6.2f %9.2f %9.2f %9.2f %6.0f%% %9.1f" + % (seed, hoehe, 2 * kron_r / hoehe, kron_r, card_max, v, ansatz, + deckung)) + + # Kronen-DECKUNG: Blattflaeche je m3 Kronenvolumen. + # + # Die Card-ZAHL sagt das nicht: 400 Cards koennen eine geschlossene Haube + # sein oder fuenf belaubte Schlaeuche mit Himmel dazwischen ("behaarte + # Finger", von der Spielseite abgenommen). Was es sagt, ist die Flaeche pro + # Volumen - und die trennt die beiden Faelle sauber: + # Eiche (schliesst) 465 m2 / 18.9 m3 = 24.6 + # Obstbaum vorher (offen) 414 m2 / 36.2 m3 = 11.4 + # Die Obstbaum-Krone hat fast das doppelte Volumen; bei gleicher Card-Zahl + # blieb die halbe Deckung uebrig. + # + # Verglichen wird gegen die im selben Lauf gemessene Eiche, NICHT gegen + # eine feste Zahl: die Deckung haengt an der Card-Flaeche, und eine + # 6-Tri-Buescheldkarte bringt das Dreifache einer flachen Raute. Eine + # hart notierte 20 waere nur fuer genau eine Testcard richtig gewesen - + # der erste Anlauf dieses Checks ist genau daran gescheitert. + # 60 % der Eiche: der Obstbaum liegt bauartbedingt darunter (weitere + # Krone bei gleichem Budget), lag vorher aber bei 46 %. + if deckung < EICHE * 0.60: + fails.append("Seed %d: nur %.1f m2 Blatt je m3 Krone, Eiche %.1f " + "(%.0f %%) - die Krone liest sich als einzelne " + "Ast-Schlaeuche" % (seed, deckung, EICHE, + 100 * deckung / EICHE)) # DIE funktionale Bedingung. if v < 1.3: @@ -152,6 +241,10 @@ for seed in SEEDS: # funktionale (Kronenradius), weil an ihr die Frucht-Streuung haengt. print("") print("Kronenradius/Card ueber alle Seeds: %.2f - %.2f" % (min(verh), max(verh))) +print("Kronen-Deckung ueber alle Seeds: %.1f - %.1f m2/m3, Eiche %.1f " + "(%.0f-%.0f %%)" + % (min(deckungen), max(deckungen), EICHE, + 100 * min(deckungen) / EICHE, 100 * max(deckungen) / EICHE)) if fails: print("ERGEBNIS: %d FEHLER" % len(fails))