Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Themensammlung für die nächsten Videos #1

Open
Gravitar64 opened this issue Dec 3, 2018 · 34 comments
Open

Themensammlung für die nächsten Videos #1

Gravitar64 opened this issue Dec 3, 2018 · 34 comments
Labels
enhancement New feature or request

Comments

@Gravitar64
Copy link
Owner

Gravitar64 commented Dec 3, 2018

Hier eine Liste von Ideen für die nächsten Videos:

  • Memory
    Das gute, alte Memory-Spiel. Mit netten Bildern und einigen Varianten (3 einer Sorte, nach jedem Versuch werden 2 Karten ausgetauscht).

  • I.O. Silver
    Spieleprogrammierung. Evtl. zu groß für ein einzelnes Video. Könnte aber in Unity, Boo realisiert werden. Boo ist aber nur an Python angelehnt. Evtl. verlassen wir hier zu schnell das eigentliche Thema.

  • BINGO-Solver
    Mit dem Raspberry Pico ein Programm entwickeln, dass die Bingo-Blätter einscannt (Kamera-Modul) und die ausgerufenen Nummern mithört (Mikrofon-Sensor) um dann ein BINGO auszugeben.

INZWISCHEN ERLEDIGT:

  • Installation von Python, VS Code, GitHub (ERLEDIGT 19.01.2019 mit Video 1a)
    evtl. reicht es aber auch auf andere Videos zu verlinken

  • Chaotisches Pendel (ERLEDIGT 11.02.2019 mit Video 12)

  • 3D-Berechnungen (Rotation, Skalierung, Transpose, Projektion) (ERLEDIGT 15.09.2019 mit Video 19)

  • Labyrinthgenerator
    Generiert ein Labyrinth und findet anschließen den Weg dadurch (2d, pygame). Gutes Beispiel für Rekursion, Vertiefung des Flood Fill Algorithmus aus Minesweeper. (ERLEDIGT 17.11.2019 mit Videos 23 + 24)

  • Game of Life
    Simulation des guten alten Game of Life von Conway. Könnte auch ganz gut zur Demonstration von Objekten (Zellen) und Klassen geeignet sein (z.B. Methode dieOrLife). (ERLEDIGT 13.01.2020 mit Video 26)

  • Poker
    Gutes Beispiel für objektorientierte Programmierung (Karte, Deck, Bewertung etc.)
    (ERLEDIGT 17/24.07.2020 mit Videos 33 + 34)

@Gravitar64 Gravitar64 added the enhancement New feature or request label Dec 3, 2018
@m0w1
Copy link

m0w1 commented Dec 15, 2018

Was sagst du? :)

  • Smart Rockets
  • Fractal Tree
  • Recamán's Sequence
  • Water Ripple
  • Neuroevolution Flappy Bird
  • Genetic Algorithm: Pool Selection
  • http://www.practicepython.org/
  • Webcrawler mit Python? (Spiegelmining)

@kormuch
Copy link

kormuch commented Feb 6, 2020

Was ich cool fände wäre ein Textadventure wie Attic sie früher in den 80er und 90er Jahren produziert hat. Z.B. wie "Drachen von Laas" oder "Ooze".

@kormuch
Copy link

kormuch commented Feb 6, 2020

Und was auch schön wäre: Wie spiele ich eine mp3 Datei mit Python ab? :)

@webeling67
Copy link

Mich würde nicht so sehr eine Programmlogik interessieren, sondern ein Leitfaden, wie man Module findet. Beispiel: In der Twitter Wordcloud und auch in der Alice Wordcloud werden “mal eben” module gezogen und dann einfach mal benutzt.
Ich finde persönlich die Orientierung in den vielen Modulen der großen Sprachplattformen sehr schwierig. Erst gibt es die Frage “Welches Modul?” und dann kurz danach: “Wie funktioniert die Bibliothek?”. Das ist alles andere als einfach und “Nimm Google” ist irgendwie auch nicht befriedigend.
Praktisches Beispiel: Ich möchte eine CRUD Anwendung bauen. Welche GUI? Django? QT? TkInter? DB Anbindung geht wie? Sicher gibt es was, dass PIP installiert. Aber wie finden? Wie Methoden verstehen? Wo sind die Dokumentationen?

@Gravitar64
Copy link
Owner Author

Mich würde nicht so sehr eine Programmlogik interessieren, sondern ein Leitfaden, wie man Module findet. Beispiel: In der Twitter Wordcloud und auch in der Alice Wordcloud werden “mal eben” module gezogen und dann einfach mal benutzt.
Ich finde persönlich die Orientierung in den vielen Modulen der großen Sprachplattformen sehr schwierig. Erst gibt es die Frage “Welches Modul?” und dann kurz danach: “Wie funktioniert die Bibliothek?”. Das ist alles andere als einfach und “Nimm Google” ist irgendwie auch nicht befriedigend.
Praktisches Beispiel: Ich möchte eine CRUD Anwendung bauen. Welche GUI? Django? QT? TkInter? DB Anbindung geht wie? Sicher gibt es was, dass PIP installiert. Aber wie finden? Wie Methoden verstehen? Wo sind die Dokumentationen?

Tja, da suche ich dann auch immer. Meistens über google und einige YouTube-Videos robbe ich mich an das Problem ran und wenn mir das Modul gefällt, wird es über PIP installiert. Dokumentationen gibt es ja häufig auf gitHub oder auf https://pypi.org/. Den optimalen Weg habe ich hier aber auch noch nicht gefunden. Gerade bei den GUIs bin ich noch unentschlossen ob da Kivy oder PyForms das Richtige ist. Für CRUD und WEB scheint Python, Flask + MySQL ganz gut zu sein (s. hier https://scotch.io/tutorials/build-a-crud-web-app-with-python-and-flask-part-one). Ich selbst habe aber noch keine Erfahrung damit.

@webeling67
Copy link

webeling67 commented Mar 9, 2020 via email

@LordMoloch
Copy link

Wie wäre es mit einem Video zum Thema machine learning und neuronale Netzwerke?

@m0w1
Copy link

m0w1 commented Jun 9, 2020

Hättest du mal Lust ein ama zu machen? :)

@tryPyAndTryPyAgain
Copy link

Hallo Gravitar. Mir gefallen deine Videos sehr gut, vielen Dank dafür!
Ich versuche Python zu nutzen um das Mandelbrot-Set darzustellen. Bislang ziemlich erfolglos, aber der Weg ist ja das Ziel. Wäre das vielleicht mal was für ein Video? Umgang mit komplexen Zahlen, Darstellung (Pygame? MatPlotLib?), Numpy etc.

@shIxx01
Copy link

shIxx01 commented Sep 14, 2020

Hallo Gravitar. Mir gefallen deine Videos sehr gut, vielen Dank dafür!
Ich versuche Python zu nutzen um das Mandelbrot-Set darzustellen. Bislang ziemlich erfolglos, aber der Weg ist ja das Ziel. Wäre das vielleicht mal was für ein Video? Umgang mit komplexen Zahlen, Darstellung (Pygame? MatPlotLib?), Numpy etc.

Komplexe Zahlen, Matplotlib und Numpy würde mich auch interessieren. Generell Daten graphisch aufzubereiten wäre sehr nützlich. Oder auch wie die Videos von 3blue1brown, die sind alle mit pygame gemacht hat er mal in die Kommentare geschrieben.

EDIT:sry muss mich revidieren denn ich sehe gerade die sind mit einer Lib gemacht die er selber geschrieben hat und davon gibt es auch eine Community version die regelmäßig weiterentwickelt wird.
https://github.com/ManimCommunity/manim/

@mstsgh
Copy link

mstsgh commented Oct 22, 2020

Ein Textadventure mit Grafiken oben im Bildschirm und Text unten, das wär nice.

@fruchthund
Copy link

Hallo Gravitar,
ungeduldig warte ich auf das dritte Enigma-Video. Gerade habe ich ein anderes tolles Video entdeckt. Du hattest doch vor einiger Zeit gefragt, ob jemand Vorschläge für weiter ABCIP-Projekte hat. Dies würde ich dir empfehlen: https://www.youtube.com/watch?v=Yy7Q8IWNfHM - The Arctic Circle Theorem, Chapter 3 und 4. Am Ende von Chapter 4 dürfte klar sein, worum es geht. Chapter 3 ist so etwas wie eine Einführung. Ich denke, diese Aufgabe hätte einen hohen ästhetischen Reiz, einen ebenso hohen Reiz stellt m.E. die Programmierung in Python dar. Thematisch ist das Ganze in der Nähe von #13, Time Tables. Was hältst du davon?
Es gibt allerdings schon eine recht ggute Umsetzung in JS: https://jacobparish.github.io/arctic-circle/
Aber das stört dich ja nicht ...

@ingmar146
Copy link

Hallo Gravitar,
zunächst ein großes Dankeschön für die interessante und lehreiche Serie zur Python Programmierung. Alles ist gut verständlich und man lernt viele, viele neue Dinge und Bibliotheken hinzu. Ich hätte folgende Vorschläge:
1.) Mastermind mit einem genetischen Algorithmus lösen.
2.) Die Knobelaufgabe von Professor Weitz lösen: Überraschende Wahrscheinlichkeiten: ein unfaires Münzspiel
https://www.youtube.com/watch?v=rX4wAfiKOms&t=663s
3.) und noch eine Knobelaufgabe: Knobelaufgabe: Wichtel-Wahrscheinlichkeiten
https://www.youtube.com/watch?v=EcQ4ysr3lOY&t=12s
4.) Aufgabe Handytausch: Am Schultor französischer Schulen werden die Mobiltelefone aller n Schülerinnen
und Schüler morgens eingesammelt und nach Schulschluss wieder ausgegeben. Nun ist der erste Schüler bei der Rückgabe unaufmerksam und nimmt sich wahllos eines der Mobiltelefone. Alle nachfolgenden Schülerinnen und Schüler machen
dann folgendes: Wenn ihr Mobiltelefon noch da ist, nehmen sie dieses. Ansonsten nehmen sie wahllos eines der anderen. Mit welcher Wahrscheinlichkeit p erhält die letzte Schüler/in sein eigenes Mobiltelefon zurück?

  1. Untersuche dieses zunächst für n = 2, n = 3, n = 4 und äußere eine Vermutung.
  2. Bestimme die Wahrscheinlichkeit p für ein beliebiges n.
    Zusatzaufgabe
    Wie ändert sich die Wahrscheinlichkeit falls die ersten k - Schüler (k = 2, 3, 4, . . . )
    wahllos ein Handy greifen, wobei n > k angenommen werde?
    Meine Email: [email protected] und WEB Seite www.matheraetsel.de

@drunagr
Copy link

drunagr commented Jan 20, 2022

Hi Gravitar,

OOP Hangman in Python

@Gravitar64
Copy link
Owner Author

Hallo Gravitar. Mir gefallen deine Videos sehr gut, vielen Dank dafür! Ich versuche Python zu nutzen um das Mandelbrot-Set darzustellen. Bislang ziemlich erfolglos, aber der Weg ist ja das Ziel. Wäre das vielleicht mal was für ein Video? Umgang mit komplexen Zahlen, Darstellung (Pygame? MatPlotLib?), Numpy etc.

Mittlerweile mit Video vom 10.04.22 erledigt (3D-Fraktal mit Ursina).

@tryPyAndTryPyAgain
Copy link

tryPyAndTryPyAgain commented Apr 21, 2022 via email

@Gravitar64 Gravitar64 reopened this Jul 11, 2022
@hslupo
Copy link

hslupo commented Jul 16, 2022

Moin aus Norddeutschland und danke für die tollen Videos:
Beim Rösselspung hatte ich ohne Erfolg folgenden Kommentar gepostet:

und mal wieder wie so oft, Super! Das könnte ich ja jedes mal schreiben, dazu bin ich aber zu schüchtern 🤭
Heute aber mal eine Bitte bzw. Vorschlag:
Als (VBA - igitt) Programmierer habe ich mir gern kleine Tools programmiert, die mir das Leben erleichtern.
Jetzt, im Rentneralter also kleine Helferlein beim Rätsellösen, ich hätte gern:
Ein grafisches Tool (GUI) die mir ein Rätsel darstellen, bei der Auswahl einer Zelle die Kombinationsmöglichkeiten aufzeigt
und mir Möglichkeit bietet mir davon eine eindeutige auszuwählen bzw. andere ab zu wählen.
Die Konsequenz daraus im Rätsel hinterlegt und die verbleibend Anzahl der Kombinationsmöglichkeiten anzeigt.

Als Input dient mal wieder eine Textdatei:

li ne son Kor gibt tur
re re tik ei dern die
tra Po Die nach rek nie
ge che der turms ist im
der gi der Schei mals Irr
Schwä Klü In schen mer dung

hier das Beispiel von: # https://www.raetselstunde.de/kunterbunt/roessel-sprung/roesselsprung-015.html
Ein '*' würde möglich Leerzellen angeben, damit man keine voranstellte Parameterzeile für Spalten/Zeilen braucht.

Vielleicht kommt das ja an ;-)

@MountyRox
Copy link

Hallo Gravitar!
Vielen herzlichen Dank für die tolle Videoreihe!
Vor kurzem habe ich mal wieder ein Heft mit Nonogrammen in die Hände bekommen, da kam mir die Idee, dass das ein schönes Projekt für Python wäre. Habe dann auch sofort mit der Programmierung angefangen. Das Hauptproblem ist die riesige Anzahl von Möglichkeiten. Selbst ein kleines Nonogramm wie dieser kleine Vogel
Taube_Nono_s
hat schon fast $10^{12}$ Möglichkeiten. Alle Möglichkeiten durchzuprobieren ist also keine gute Idee 😏.

@hslupo
Copy link

hslupo commented Jul 26, 2022

Hallo MountyRox, auch eine tolle Idee, (m)ein Ansatz wäre nicht alle Möglichkeiten auszutesten sondern bei x Bits alle Konstellationen der Bitblöcke überprüfen ob es eindeutig gesetzte Felder gibt und diese dann auf Kompatibilität zu den Spalten/Zeilen Einträgen zu überprüfen. (Ob ich mich hier selbst verstehen würde??)

@Gravitar64
Copy link
Owner Author

Hallo Gravitar! Vielen herzlichen Dank für die tolle Videoreihe! Vor kurzem habe ich mal wieder ein Heft mit Nonogrammen in die Hände bekommen, da kam mir die Idee, dass das ein schönes Projekt für Python wäre. Habe dann auch sofort mit der Programmierung angefangen. Das Hauptproblem ist die riesige Anzahl von Möglichkeiten. Selbst ein kleines Nonogramm wie dieser kleine Vogel Taube_Nono_s hat schon fast 1012 Möglichkeiten. Alle Möglichkeiten durchzuprobieren ist also keine gute Idee 😏.

Mhm, knifflig...., aber interessant...., könnte etwas dauern bis ich da einen Lösungsansatz entwickelt habe... lege es mal in meinen Hinterkopf und warte auf Antwort.....

@hslupo
Copy link

hslupo commented Aug 12, 2022

Mhm, knifflig...., aber interessant...., könnte etwas dauern bis ich da einen Lösungsansatz entwickelt habe... lege es mal in meinen Hinterkopf und warte auf Antwort.....

Hallo ihr beiden, ich habe meinen o.a. Ansatz mal umgesetzt. Für die 10 Zeilen/Spalten/Bits erzeuge ich Int-Zahlen und wandle die in Bitblöcke um, das entspricht dann den Zahleneinträgen. Die Int-Werte der Zahlenblöcke sammle ich in einem Dict. Daraus benutze ich dann die eingelesenen, gesuchten um die in Spalten und Zeilen möglichen Int-Werte zu hinterlegen.
{'0': [0], '': [0], '1': [1, 2, 4, 8, 16, 32, 64, 128, 256, 512], '2': [3, 6, 12, 24, 48, 96, 192, 384, 768], '1 1': [5, 9, 10, 17, 18, 20, 33, 34, 36, 40, 65, 66, 68, 7...}, die erste beiden sind Dummy-Einträge
unter meinem Git-hub habe ich eine Lösung für das Problem( unter rösselsprung/biträtsel ), anders wie Gravitar versuche ich das immer auch als grafische Benutzerschnittstelle zu programmieren. Dadurch hat sich mein Programm aufgebläht und ist noch in der 'funktioniert das' Phase. Das erstellen der Bit-Blöcke dauert allerdings bei 25 Spalten/Zeilen 3 Minuten, da bin ich noch nicht weiter. Wenn das Rätsel angezeigt wird, führt ein Tastendruck 'a' zum schrittweise lösen des Rätsels.
https://github.com/hslupo/roesselsprung -
ist noch nicht fertig, aber man wächst ja an seinen Aufgaben ;-)

@ingmar146
Copy link

ingmar146 commented Aug 13, 2022 via email

@MountyRox
Copy link

MountyRox commented Aug 14, 2022

Hallo Gravitar, hallo @hslupo, ich wollte auf euren Kommentar referenzieren und dabei habe ich wohl irgend etwas falsch gemacht. Darum habe ich den/das issue wieder geschlossen.

Nochmals zum Thema Nonogramm: Mittlerweile habe ich ein kleines Pygame Spiel zum Lösen von Nonogrammen geschrieben https://github.com/MountyRox/nonogram-game. Man kann entweder per Hand Block für Block lösen oder automatisch. Mit dem dritten Versuch einen verwendbaren Algorithmus zu finden hat es dann geklappt. Der erste Versuch wäre jede Möglichkeit durchgegangen und hätte Jahrzehnte gerechnet 😆, der zweite Versuch hat jede Blockverschiebung schon auf Gültigkeit überprüft. Damit wurde die Rechenzeit schon auf einige Minuten reduziert. Jetzt mache ich es so, wie man es auch per Hand machen würde. Zunächst alle überlappenden Blöcke finden und dann Zeile für Zeile und Spalte für Spalte durchgehen und nur die Blockkombinationen zulassen, die mit den bereits gesetzten Blöcken/Kreuzen kompatibel sind. damit geht es innerhalb von Sekunden. (Korrektur: Große Nonogramme (30x40) mit vielen kleinen Blöcken brauchen immer noch ewig 😰 )

War, bzw. ist ein interessantes Projekt. Darum nochmals vielen Dank an @Gravitar64 durch die Inspiration über die Reihe "A beautiful Code in Python". Falls du das Thema Nonogramm noch aufgreifst, bin ich mal sehr auf deinen Lösungsansatz gespannt 👍.

Viele Grüße
Jörg

@Gravitar64
Copy link
Owner Author

Hallo Gravitar, hallo @hslupo, ich wollte auf euren Kommentar referenzieren und dabei habe ich wohl irgend etwas falsch gemacht. Darum habe ich den/das issue wieder geschlossen.

Nochmals zum Thema Nonogramm: Mittlerweile habe ich ein kleines Pygame Spiel zum Lösen von Nonogrammen geschrieben https://github.com/MountyRox/nonogram-game. Man kann entweder per Hand Block für Block lösen oder automatisch. Mit dem dritten Versuch einen verwendbaren Algorithmus zu finden hat es dann geklappt. Der erste Versuch wäre jede Möglichkeit durchgegangen und hätte Jahrzehnte gerechnet 😆, der zweite Versuch hat jede Blockverschiebung schon auf Gültigkeit überprüft. Damit wurde die Rechenzeit schon auf einige Minuten reduziert. Jetzt mache ich es so, wie man es auch per Hand machen würde. Zunächst alle überlappenden Blöcke finden und dann Zeile für Zeile und Spalte für Spalte durchgehen und nur die Blockkombinationen zulassen, die mit den bereits gesetzten Blöcken/Kreuzen kompatibel sind. damit geht es innerhalb von Sekunden. (Korrektur: Große Nonogramme (30x40) mit vielen kleinen Blöcken brauchen immer noch ewig 😰 )

War, bzw. ist ein interessantes Projekt. Darum nochmals vielen Dank an @Gravitar64 durch die Inspiration über die Reihe "A beautiful Code in Python". Falls du das Thema Nonogramm noch aufgreifst, bin ich mal sehr auf deinen Lösungsansatz gespannt 👍.

Viele Grüße Jörg

Hallo Jörg,

menno, mein Hinterkopf hat bereits an dem Problem geknabbert und ziemlich viel Ressourcen in der Frontend-Verarbeitung abgezogen. Ich war jetzt so weit, dass ich einfach jede mögliche Setzmöglichkeit in einer Zeile oder Spalte ermittle und dann die Felder setze, die in in allen Möglichkeiten gesetzt sind. Dann ein Flag auf "habe was gefunden, und suche weiter" setzen und damit eine While Flag == "habe was gefunden...."-Schleife so lange weiterarbeiten, bis nichts neues mehr gesetzt werden kann.

Das entspricht - wenn ich das richtig verstanden habe - auch deinem Ansatz.

Allerdings habe ich noch keine Ahnung, wie ich alle Möglichkeiten ermittel und dabei berücksichtige, was ich bereits an gesetzten Feldern (klares ja, klares nein) ermittelt habe. Werde also noch etwas länger knobeln.

Aber toll, dass Du das so schnell rausbekommen hast!!! Meiner Meinung nach der Ansatz, mit der geringsten Rechenzeit.

Viele Grüße, Gravitar

@MountyRox
Copy link

Das entspricht - wenn ich das richtig verstanden habe - auch deinem Ansatz.

Ja, genau. Du setzt bestimmt als allererstes auch alle überlappenden Blöcke. Also alle Blöcke links ausrichten, dann alle rechts und gucken welche sich dabei überlappen. Das ist dann ein guter Anfang und man kann sich dann weiter vorarbeiten.

Allerdings habe ich noch keine Ahnung, wie ich alle Möglichkeiten ermitteln und dabei berücksichtige, was ich bereits an gesetzten Feldern (klares ja, klares nein) ermittelt habe. Werde also noch etwas länger knobeln.

Genau daran hänge ich auch. Zur Zeit gehe ich alle Möglichkeiten durch und verwerfe die, bei denen "klares ja, klares nein" nicht korreliert. Besser wäre es natürlich diese Möglichkeit erst gar nicht zu setzen. daran knoble ich auch gerade.
Weiterhin viel Erfolg und gute Ideen für weitere Videos.

Viele Grüße
Jörg

@Gravitar64
Copy link
Owner Author

Das entspricht - wenn ich das richtig verstanden habe - auch deinem Ansatz.

Ja, genau. Du setzt bestimmt als allererstes auch alle überlappenden Blöcke. Also alle Blöcke links ausrichten, dann alle rechts und gucken welche sich dabei überlappen. Das ist dann ein guter Anfang und man kann sich dann weiter vorarbeiten.

Allerdings habe ich noch keine Ahnung, wie ich alle Möglichkeiten ermitteln und dabei berücksichtige, was ich bereits an gesetzten Feldern (klares ja, klares nein) ermittelt habe. Werde also noch etwas länger knobeln.

Genau daran hänge ich auch. Zur Zeit gehe ich alle Möglichkeiten durch und verwerfe die, bei denen "klares ja, klares nein" nicht korreliert. Besser wäre es natürlich diese Möglichkeit erst gar nicht zu setzen. daran knoble ich auch gerade. Weiterhin viel Erfolg und gute Ideen für weitere Videos.

Viele Grüße Jörg

Hi, gelöst. Nachdem ich endlich die Permutation rausbekommen habe, ging es eigentlich recht schnell. Den Vogel löse ich in 0,07 Sekunden. Das Programm ist aber seeehr weit von "beautiful" entfernt. Wer dennoch einen Blick auf den cruden ersten Wurf werfen (Achtung! Wortspiel) möchte, kann dies im Repository unter "Teil_xx_Nonogramme" tun. Mal sehen, ob ich den Code in einer Version hinbekomme, die sendefähig ist.

VLG, Gravitar

@MountyRox
Copy link

Hallo Gravitar, das ging dann ja wirklich schnell 👍. Und wie zu erwarten, wieder einmal in relativ wenigen Zeilen Code. Die Geschwindigkeit ist für den ersten Versuch super. Ich konnte meine Version auch noch etwas schneller machen. Der Vogel wird mittlerweile in 17 ms gelöst, aber der "Kopfsprung" Nonogramm dauert immer noch etwas über 6 Minuten. Ich habe das Kopfsprung Nonogramm (dive) in deine Datenstruktur umgewandelt. Wenn du dein Programm damit einmal testen willst, hier findest du die Datei:

https://github.com/MountyRox/nonogram-game/blob/main/temp/dive.py

Ich freue mich schon auf deine Veröffentlichung.

Gruß
Jörg

@hslupo
Copy link

hslupo commented Sep 10, 2022

Hallo Gravitar, hallo MountyRox,
ich habe zu dem Thema eine schöne Erklärung gefunden:
https://towardsdatascience.com/solving-nonograms-with-120-lines-of-code-a7c6e0f627e4

und meine Methode (alle INT-Werte der vorhandenen Zeilen/Spalten-Bits) durch die ihre ersetzt,
jetzt ist auch ein großes Rätsel sehr schnell gelöst.
@gravitar welche Daten hast du in deiner Inputdatei?

@MountyRox
Copy link

Hallo Gravitar! Es tut mir leid, dass ich diese Plattform wählen muss, um dir einen Kommentar zu schreiben, aber ich weiß mir keinen anderen Rat mehr. Bestimmt schon mehr als sechs Mal habe ich (bei YouTube: Joerg Laukemper) versucht dein Nonogramm Video zu kommentieren, zum Schluss nur mit wenigen Zeilen. Alle Kommentare wurden gelöscht. Den original Kommentar, der zu allererst gelöscht wurde, habe ich in meinen GitHub Account hochgeladen. Hier der Link:

https://github.com/MountyRox/nonogram-game/blob/main/temp/Kommentar_Gravitar.txt

Vielleicht findest du einmal Gelegenheit ihn dir anzusehen. Du hast bestimmt viel Erfahrung mit YouTube und erkennst vielleicht, warum er gelöscht wurde.

Ich hoffe nicht, dass mein Name mittlerweile auf einer "roten Liste" für deinen YouTube Kanal steht und ich dir auch in späteren Videos keinen Kommentar mehr schicken kann.
Viele Grüße
Jörg

@WolfMS
Copy link

WolfMS commented Oct 26, 2022

Betreff: mandelbulb

Hallo Gravitar, hi,
erstmal finde ich die Serie gut, habe etwas gelernt auch wenn ich mir nicht alles merken kann und einige Folgen mehrfach nacharbeiten muß.

Ich hatte mir in den Formeln einen Fehler eingebaut und darum das script von github zum Vergleichen genommen.
Habe da wohl noch eine ältere Version gehabt (jun.2022).

Daraus ergeben sich 2 Probleme:
1.
Im script werden die Bereiche negativ/positiv initialisiert -> (-BEREICH,BEREICH)
Die Darstellung nach der Berechnung schließt, entgegen der Ansage im Video, eine Spiegelsymmetrie in allen 3 Ebenen aus!
Das System ist mit den gewählten Parameter N = 8 siebenstrahlig (7). Es gibt eine Rotationsachse und
auf dieser Achse gibt es auf den Polen a eine Auswölbung, b entgegengesetzt eine Eindellung, außerdem gibt
es mehrere "Ringebenen", die gegeneinanderversetzt und nicht mittensymmetrisch sind.
Ich habe jetzt noch nicht die Dokumentation zu "Ursina" studiert aber es scheint das die einzige Symmetrie (Ursina.y) ist

Die Zahl der Ebenen und der "Strahlen" sieht von N abhängig aus ( N-1 Strahlen )
Aus der Annahme folgen Versuche mit N = 7 bzw 9, die Darstellung scheint in allen drei (3) Ebenen Spiegelsymmetrisch!
Mit N = 6 bzw 10 ergibt sich wieder eine unsymtrische Form.
Mir fehlen die mathematischen Kenntnisse für eine/n Herleitung/Beweis!
Meine monentane Lösung:

  punkte = []
  for x in range((BEREICH * (not (N % 2)) * -1),BEREICH):
      for y in range(BEREICH):
          hülle = False
          for z in range((BEREICH * (not(N % 2)) * -1),BEREICH):
              if not punkt_in_fraktal(x, y, z): continue
              
              for m1, m2, m3 in iter.product([-1,1], repeat= 3):
                  if N % 2:
                      punkte.append((x*m1, y*m2, z*m3))
                  elif not N % 2:
                      punkte.append((x, y*m2, z))

vielleich ist das ja noch Verbesserungswürdig.
2.
start = pfc() -> woher, pfc ist nicht deklariert/initialisiert
export_ply_format('points.ply') -> mit welcher Bibliothek werden die Daten formatiert/exportiert?
Es gibt keine entsprechende "import"-Anweisung
Ich habe im Netz einige Daten gefunden aber keine Hinweise zu der Benutzung in/mit python/ursina.

Grüße
Wolf

@Gunsi1973
Copy link

Hallo
Was ich schon immer im Hinterkopf habe ist ein Experten-System wie z.B. Akinator. Dabei würde der ziemlich dumm anfangen und dazu lernen. Brauchen könnte man das von Krankheiten über Filmstars oder Pflanzen - völlig egal. Der Clue wäre dabei, dass die App selber dazu lernen würde... Wenn das System eine Antwort nicht weiss würde es nach neuen Fragen zur Identifikation verlangen.
Ich versuch mich mal dran aber das wäre sicher etwas spannendes mit Logik, Datenbank, ev. kleine Web-Anwendung etc....
LG
Gunsi

@Gunsi1973
Copy link

Zu meinem Thema oben >> hier wäre noch eine Erklärung (https://medium.com/analytics-vidhya/building-akinator-with-python-using-bayes-theorem-216253c98daa)

@Holgu16
Copy link

Holgu16 commented Dec 30, 2023

Hallo,
könntest Du bei dem Python Tutorial, GUI-App mit Qt: #4 weitermachen wie man daten neue Daten in die Liste einträgt und
wie man Daten verschiebt in eine andere Liste/Datenbank (von offene Leistungen in offene Rechnungen).
Das habe ich bis jetzt noch nirgends gefunden wie man das macht :-) und tolle Videos.
Grüße Holger

@Tobi1988x
Copy link

Hallo,
ich habe ein Problem beim Video Python Tutorial, GUI-App mit Qt: #3 Daten aus SQLite. ich bekomme es nicht hin, dass es in dem Fenster angezeigt wird. es kommt immer QSqlDatabase requires a QCoreApplication als Fehler. Was kann ich da tun?

Grüße Tobi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests