IRC Logs for #zfx


2024-04-08

06:04:18 Hannes joined the channel
06:14:27 Schrompf joined the channel
07:08:13 Schrompf: morgen
07:08:14 Schrompf: kinder
07:08:17 Schrompf: wird's was geben
07:17:03 Hannes: Morgen, Kinder, wird's nichts geben! Nur wer hat, kriegt noch geschenkt. Mutter schenkte euch das Leben. Das genügt, wenn man's bedenkt.
07:18:16 Schrompf: Ist das ein Zitat oder frei erfunden? Weil ich es sonst fortsetzen könnte:
07:18:30 Hannes: zitat
07:18:44 Schrompf: Drum seid zufrieden, dass ihr seid. Der Weg nach Hause ist noch weit.
07:18:58 Hannes: - Erich Kästner
07:19:16 Schrompf: ah, oh, sorry. Dem Herrn Kästner möchte ich natürlich keine Worte in den Mund legen
07:19:41 Hannes: Das Känguru hat es immer gesungen, im hörspiel
07:20:02 Hannes: von dem kleinkünstler
07:20:09 Hannes: mark uwe kling
07:20:29 Hannes: hörbuch
07:52:57 joeydee joined the channel
07:53:47 joeydee: möhn.
07:54:38 Schrompf: möhrgen
07:54:55 Schrompf: (enge verwandte der karottgen)
07:55:26 joeydee: Meins hört sich nach "Guten Morgen" + Gähnen an, deins irgendwie nach gekotzten Karotten. Das gibt mir zu denken.
07:55:58 Schrompf: ich mag halt möhren? Ist das ein Erbrechen?
07:56:40 joeydee: Du magst gebrochenen Wortschatz.
07:57:53 Schrompf: jetz werd mal nicht übergeblich!
07:58:04 Schrompf: vomit habe ich das verdient?
08:01:36 joeydee: Jetzt kotzentrier dich mal auf Arbeit!
08:08:48 joeydee: Hab gestern eine Poly-Triangulierung implementiert, aber weiß nicht wie sie heißt. Ist wahrscheinlich mit Schweinsöhrchen grob verwandt, es werden auch Bereiche abgeschnitten, aber keine Dreiecke, sondern beliebig lange Loops, welche alle durch einen Tri-Fan lösbar sind (und nicht konvex sein müssen).
08:09:33 joeydee: Wahrscheinlich ist das aber vom Aufwand um so viel größer, dass der Algo nicht besonders publik ist.
08:13:15 joeydee: Dafür ist er einfach zu formulieren: Nimm einen Punkt, teste einen Tri-Fan zu allen anderen Punkten; wenn Fan-Linien das Poly schneiden, mach mit diesen Punkten einen neuen Loop auf. Rendere den übriggebliebenen Fan, und löse alle neuen Loops.
08:16:47 xq: moin moin
08:22:06 Schrompf: dein algo klingt gut. einfach mal losmachen und gucken, was übrig bleibt
08:22:48 Schrompf: wahrscheinlich gibt's gelegentlich hässliche ergebnisse, wenn ein tri-fan ganz knapp an nem punkt vorbei geht
08:22:53 Schrompf: aber das sind details
08:23:24 Schrompf: ok, und evtl. findest du manchmal gar keine fans, wenn du von nem ungünstigen punkt aus losgehst
08:23:40 Schrompf: aber dann probierst du es halt von nem anderen punkt nochmal, von irgendwo muss das ja zünden
08:27:28 joeydee: Es gibt keinen Fall, wo man keinen Fan findet. Nehmen wir den äußersten Punkt in einem Dreiecksohr, von welchem aus keine anderen Punkte zu sehen sind. Er "sieht" aber seine Nachbarn, die werden in den zu rendernden Fan aufgenommen, und alle anderen Polypunkte ergeben einen neuen Loop. Im ungünstigsten Fall macht er also Schweinsöhrchen, aber ich denke der reine Schweinsöhrchen kommt insgesamt mit viel weniger Intersection-T
08:27:28 joeydee: ests aus.
08:27:52 Schrompf: ah, hm
08:28:19 Schrompf: ich hatte vorhin ne idee im kopf, wie er scheitern kann, aber jetzt isse weg. und du hast recht, die unmittelbaren nachbarn müssen ja *immer* zünden
08:29:06 Schrompf: außer die ecke ist konkav, von der aus du startest
08:29:23 Schrompf: dann findest du aber sicher was mit anderen teilnehmer*innen
08:29:42 Schrompf: hm, nice idee!
08:30:21 Schrompf: und schneidet so richtig fett durch die mitte, nicht nur ohren ab. ich will brutale schnitte quer durch den körper!
08:30:24 Schrompf: haaarrrrr
08:30:27 Schrompf: gruaaar
08:30:32 Schrompf: schneiden!
08:30:42 Schrompf: S. C. H. N. E. I. D. E. N!
08:30:50 Schrompf: tschuldigung, hab mich gehen lassen
08:32:13 joeydee: Gibt halt auch mal lange schmale Tris, aber ist ja wurst für manche Zwecke. Will das noch "optimieren", indem ich zuerst konkave Ecken markiere und bevorzugt bei denen anfange; ist keine konkave Ecke in einem Loop, kann ich ihn direkt Fan-Triangulieren ohne Intersection-Tests.
08:33:39 joeydee: Und dann mal untersuchen, ob ich auch beliebige SVG-Kombipfade (Löcher, Überschneidungen, beliebiger Umlaufsinn) lösen kann, wobei Umlaufsinn und Kantenüberschneidung natürlich vorher gelöst werden müssten.
08:33:42 Schrompf: die idee find ich auch super. direkt mit konkaven punkten anfangen, dürfte schöne tris ergeben und übrig bleiben dann vielleicht auch schöne reste
08:34:07 Schrompf: umlaufsinn hab ich auch schon überlegt, ich glaube, das ist absolut transparent
08:35:01 Schrompf: wenn du dir nen konvexen punkt denkst und an dem punkt das poly einfach "umstülpst", windet das poly einfach anders rum, aber dein schnitt-test geht immer noch, und alle ergebnis-tris sind auch einfach anders rum
08:35:22 Schrompf: musst also nur den umlaufsinn des ur-polys sauber durchschleifen und hast gar kein problem damit
08:35:51 joeydee: Ja, nur Umlaufsinn des Urpolys matters, ich muss z.B. wissen, wenn ich von einer Sternspitze zu einer anderen direkte Sicht habe, ob die Linie komplett innerhalb oder außerhalb ist.
08:36:18 joeydee: Dafür muss ich zuerst definieren, welche Seite des Loops "innen" ist.
08:36:44 Schrompf: nö, musst du nicht
08:37:10 joeydee: Habs ausprobiert.
08:37:12 Schrompf: von einer ecke zur anderen ecke ist automatisch immer "innen", und wenn du da keine linie schneidest, kannst du fan-nen
08:37:37 Schrompf: brauchst gar keinen umlaufsinn zu bestimmen, und die ergebnis-tris sind automatisch orientiert wie das orginal
08:38:06 Schrompf: ahso
08:38:08 Schrompf: ne
08:38:11 joeydee: Denk dir einen 5-zackigen Stern. Verbinde 2 benachbarte Zacken. Da wird keine Linie geschnitten, ist aber "außen".
08:38:11 Schrompf: hab's kapiert ,srry
08:41:28 Schrompf: wie machste das denn? da bin ich neugierig?
08:41:43 Schrompf: du kommst easy raus, wenn du den umlaufsinn vorgibst
08:42:01 Schrompf: so wie man sich beim modeln halt entscheiden muss, welchen umlaufsinn man als "vorn" betrachet
08:42:14 Schrompf: aber gibt's auch ne idee, wie das gemeint sein könnte?
08:46:24 joeydee: Aktuell lege ich tatsächlich UZS fest. Allgemein müsste es ja mit Winkelsumme gehen, oder?
08:46:37 Schrompf: in 2D, ja
08:47:23 joeydee: Habe den Algo so, dass ich 3D-Positionen habe, aber davon ausgehe dass alle auf einer Plane liegen.
08:47:27 Schrompf: in 3D? da gibt's Winkelsumme nur relativ zu ner Normale. und die normale berechnest du ja aus den kanten des polys, die spiegelt also nur den existierenden umlaufsinn wieder. aber ob der so gemeint ist?
08:47:46 joeydee: Die Plane-Normale legt dann den Umlaufsinn fest.
08:47:51 Schrompf: genau
08:48:02 Schrompf: du hast ne plane-normale. und relativ zu der bestimmst du den umlaufsinn
08:48:30 Schrompf: aber wenn du die normale erst aus den kanten berechnest, kriegst du ja immer ne normale raus, zu der der umlaufsinn immer positiv ist
08:48:34 Schrompf: oder negativ
08:48:38 Schrompf: jedenfalls immer
08:49:49 joeydee: Wie gesagt, das habe ich für den Algo-Test noch nicht gelöst, hatte aber gestern Abend eine vage Idee dazu im Kopf dass das herauszufinden ist. Aber mag mich auch täuschen.
08:51:57 joeydee: Hier mal ne Illu: https://www.phoximages.de/uploads/2024/04/i72130bjylk7.png
08:53:00 joeydee: Ich fange bei 0 im UZS an, 2 und 3 sind nicht zu sehen, also ergeben 1-4 einen getrennten Loop, zum aktuellen Fan gehören nur 1, 4, ...
08:54:43 joeydee: Die Loops 1,2,3,4; 4,5,6; 7-19 usw. kommen dann in die ToDo-Liste, bis diese leer ist.
08:56:05 joeydee: Jeder blaue Kreis im Debug-Render ist der Start für einen neuen abgeschnittenen Loop, und die blaue Linie der Schnitt zum nächsten wieder sichtbaren Punkt.
08:57:59 joeydee: Und dadurch ergibt sich dann der gültige Fan 0,1,4,6,7,19,20,21,25,26, ...
09:01:13 joeydee: In den Sinn kam mir das übrigens für Path-Exploration. Ein Bot steht in unbekanntem Terrain, scannt rundum, und markiert "Portale" die zu verdeckten Bereichen führen. Dann geht er zu einem dieser Portale, und scannt diesen Teil.
09:17:08 Schrompf joined the channel
09:17:51 xq: joeydee: nice!
09:18:33 Schrompf: wirklich nice
09:18:46 joeydee: Ich stells mal auf ZFX, vielleicht kennt jemand den Namen.
09:18:56 Schrompf: mir fällt auch gerade auf, dass du ja gar keine zusammenhängenden kanten finden musst, um zu fannen
09:19:31 xq: ich hab auch mal wieder was gemacht!
09:19:34 Schrompf: du kannst ja einfach die nicht sichtbaren eckpunkte auslassen und kriegst automatisch nen validen tri, sobald du beim randwandern wieder nen sichtbaren eckpunkt kriegst
09:19:34 xq: https://mq32.de/public/digital-scav-17.mp4
09:21:42 Schrompf: und mir gefällt die idee, dass man dadurch auch automatisch ne idee für ein suchverhalten für npcs kriegt
09:22:31 Schrompf: ok, meine level sind nie durchgängige einheitspolys, aber die grundidee der sichtbaren kanten und portale in unsichtbare bereiche ist echt gut
09:22:47 Schrompf: xq: auch sehr nice! progress!
09:23:00 Schrompf: ich sitzz jetzt in der sonne im park und evaluiere kollegen
09:23:16 Schrompf: für unseren fancy 360° feedback karriere irgendwas prozess
09:28:48 joeydee: "du kannst ja einfach die nicht sichtbaren eckpunkte auslassen und kriegst automatisch nen validen tri, sobald du beim randwandern wieder nen sichtbaren eckpunkt kriegst" - das war sogar der Kerngedanke des Ganzen.
09:31:45 Schrompf: du genie
09:32:34 xq: bei joeydee muss ich jetzt an den bekloppten japaner denken
09:33:52 xq: der sein video anfängt mit "ich bin kein ingenieur, nur ein einfacher künstler" und anschließend einen 8-Achs Portalroboter für seine Werkstatt konstruiert, nur um geile Kamerafahrten fürs Holzwerken aufzunehmen
09:34:49 joeydee: LOL
09:36:50 joeydee: Ich denke ich könnte den Algo für Löcher fit machen, wenn ich die Scan-Punkte nach Sichtwinkel sortiere, also bei dem Gedanken "Bot scannt Umgebung" bleibe.
09:41:19 Schrompf: stimmt, du könntest ja einfach die punkte anderer polys mit in die "kreuz ich was aufm weg"-berechnung einbeziehen
09:41:34 Schrompf: nur das "bleibt was übrig" ist dann nicht mehr ganz so einfach
09:42:42 joeydee: Ja, noch nicht zu Ende gedacht. Aber ich hab da sowieso noch einen ganz anderen Algo im Kopf den ich auch mal in Code fixieren muss.
09:45:57 joeydee: Für Löcher ist es glaube ich erstmal einfacher, "Sägelinien" zu generieren und alles zu einem einzigen Loop zusammenzufassen, der dann wieder mit gewöhnlichen Methoden lösbar ist.
11:05:57 Schrompf joined the channel
14:18:57 Schrompf joined the channel
15:40:06 Magister joined the channel
20:18:15 Schrompf joined the channel