Lampen mit Python zum Leuchten bringen |

Поділитися
Вставка
  • Опубліковано 18 вер 2024

КОМЕНТАРІ • 158

  • @Florian.Dalwigk
    @Florian.Dalwigk  3 роки тому +14

    Ich bin beeindruckt!

  • @SPIDDEK
    @SPIDDEK 3 роки тому +1

    Ich muss zugeben dieses Video hat mich gerade um einiges weiter gebracht.
    Habe zwar nicht das gleiche Ziel gehabt wie du, aber ich musste auf meine Hue-Bridge und auf eine Steckdose im System mit Python zugreifen.
    Dank dir hat es auch bei mir mal "Klick" gemacht. Also danke dafür.

  • @sirwolf1530
    @sirwolf1530 3 роки тому +7

    Ich mag das neue Profilbild ^^

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому +2

      Das freut mich 🙂 Ich wollte jetzt endlich auf meinen Avatar umsteigen, den ich immer in den Videos und auf den Thumbnails verwende.

  • @florian2119
    @florian2119 3 роки тому +9

    Kannst du mal den REST-Standard erklären?

  • @philipplischewski8117
    @philipplischewski8117 3 роки тому +2

    Hey, wie immer ein Top Video. Kannst du mal ein Video zum Studiengang Technische Informatik machen? Es gibt das ja auch als Modul im normalen Studium, da reist man das Thema ja bestimmt nur an

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому +1

      Danke für dein Lob :) Dazu habe ich schon ein Video gemacht: ua-cam.com/video/itm_25jrYxw/v-deo.html

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому +1

      In meinem Video zum 1. Semester des Informatikstudiums spreche ich auch über technische Informatik als Modul: ua-cam.com/video/KK68VbnNWME/v-deo.html

  • @Vito_0912
    @Vito_0912 3 роки тому +2

    Hallo,
    sehr informatives Video, leider weiß ich nicht von wo bis wo der "hue" Farbbereich geht. Ich habe viel über HSV und HSL gelesen jedoch gehen diese nicht mal ansatzweise in diesen Zahlenbereich. Wie heißt dieser Farbbereich und hast du zufällig auch eine Art colorpicker?
    Edit ich habe mittlerweile herausgefunden, dass der Farbbereich von 0 bis 65535 geht

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому +2

      Ja, sehr gut! Dazu kommt auf jeden Fall noch ein Video.

  • @januuschka
    @januuschka 2 роки тому

    Kann man auch alles was du mit Python hier auf den Kanal machst mit anderen Programmiersprachen, wie C#?

    • @Florian.Dalwigk
      @Florian.Dalwigk  2 роки тому +1

      Das hier auf jeden Fall. Alles andere, was ich bisher gezeigt habe, müsste auch in C# gehen.

  • @maxz2560
    @maxz2560 3 роки тому +2

    Hi,
    warum sprichst du Router so untypisch aus? Hat das einen bestimmten Grund?

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому +2

      Ja, weil das die *richtige* Aussprache ist ;)

    • @maxz2560
      @maxz2560 3 роки тому +1

      @@Florian.Dalwigk warum hört man dann bei jedem Englischduden die andere Aussprache? :D

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому +1

      Englischduden? Schau mal hier: www.dict.cc/?s=router ;)

    • @maxz2560
      @maxz2560 3 роки тому +1

      @@Florian.Dalwigk vielen Dank

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Gerne doch ;)

  • @sephirot7581
    @sephirot7581 3 роки тому

    Für set_color wäre ein Dictionary eigentlich die bessere Datenstruktur gewesen und die Color dementsprechend einfach als Indizies und nur die Farbe zurück geben, da die restliche Datenstruktur gleich ist und hier Redundanz besteht

  • @florian2119
    @florian2119 3 роки тому +2

    Hallo, Andre mal wieder interessantes Video. Wo bleibt jetzt eigentlich der Discord-Server?

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Hallo Florentin, wieder mal ein interessanter Kommentar. Wird die Frage nicht irgendwann langweilig? ;)

    • @florian2119
      @florian2119 3 роки тому

      @@Florian.Dalwigk Okay, ich mach doch nur Spaß. Solange bis der Discord-Server kommt 😂. Okay, glaube langsam reicht es aber wirklich

    • @florian2119
      @florian2119 3 роки тому

      @@Florian.Dalwigk Dann ab Heute Andre

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Haha, weiß ich doch ;)

  • @customdevvv
    @customdevvv 3 роки тому +1

    Das gleiche hatte ich vor ner Woche auch mal gemacht

  • @nicht_menschlich
    @nicht_menschlich 3 роки тому +3

    Hey Algorithmen verstehen,
    könntest du vielleicht mal ein Video machen in dem du erklärst wie man ein Programm schreiben kann das einen String Ende zu Ende verschlüsselt?
    Insbesondere interessiert mich wie diese Schlüssel erstellt werden können und was man dann damit anfangen kann.
    Das Prinzip von der Ende zu Ende Verschlüsselung verstehe ich, jedoch weiß ich eben nicht wie das mit den keys funktioniert und besonders nicht wie man diese dann benutzt um die Datei wirklich zu verschlüsseln

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому +1

      Ja, das klingt sehr interessant. Für die nächste Zeit sind aber erst noch ein paar andere Videos in der Pipe.

    • @greansilver
      @greansilver 3 роки тому

      Das mit den Keys funktioniert so, du genierst am Anfang 2 Keys, einen Public Key und einen Private Key. Den Public Key verschickst du dann an die andere Person die dir eine Nachricht schicken will. Dieser benutzt den Public Key um die Nachricht zu verschlüsseln. Diese Nachricht kann jetzt nicht mehr mit dem Public Key entschlüsselt werden, sondern nur noch mit dem Private Key, den ja nur du haben solltest. Das ganze nennt sich Asymmetrische Kryptografie, kannst ja selber mal ein bisschen Googeln, falls du nicht weiter kommst, schreib mir einfach mal privat, ich glaube ich hab sowas mal just4fun geschrieben.

    • @nicht_menschlich
      @nicht_menschlich 3 роки тому

      @@greansilver das weiß ich ja, meine Frage ist wie man diese keys im code benutzen kann um das dann auch wirklich zu entschlüsseln bzw. Verschlüsseln.

    • @greansilver
      @greansilver 3 роки тому +1

      @@nicht_menschlich
      import cryptography
      from cryptography.hazmat.backends import default_backend
      from cryptography.hazmat.primitives.asymmetric import rsa
      from cryptography.hazmat.primitives import serialization
      from cryptography.hazmat.primitives import hashes
      from cryptography.hazmat.primitives.asymmetric import padding
      import os, json
      _dir = os.path.dirname(__file__)
      class P2P_Key():
      def __init__(self, keys=None, path=None, key_size=1):
      self._update_keys(keys, key_size=key_size)
      def get_new_keys(self, key_size=1):
      self._update_keys(key_size=key_size)
      def get_private_bytes(self):
      return self.private.private_bytes(
      encoding=serialization.Encoding.PEM,
      format=serialization.PrivateFormat.TraditionalOpenSSL,
      encryption_algorithm=serialization.NoEncryption()
      )
      def get_public_bytes(self):
      return self.public.public_bytes(
      encoding=serialization.Encoding.PEM,
      format=serialization.PublicFormat.SubjectPublicKeyInfo
      )
      def save_pem(self):
      private_key = self.private.private_bytes(
      encoding=serialization.Encoding.PEM,
      format=serialization.PrivateFormat.TraditionalOpenSSL,
      encryption_algorithm=serialization.NoEncryption()
      )
      with open(f'{_dir}/private_key.pem', 'wb') as f:
      f.write(private_key)
      public_key = self.public.public_bytes(
      encoding=serialization.Encoding.PEM,
      format=serialization.PublicFormat.SubjectPublicKeyInfo
      )
      with open(f'{_dir}/public_key.pem', 'wb') as f:
      f.write(public_key)
      def save_private_pem(self):
      private_key = self.private.private_bytes(
      encoding=serialization.Encoding.PEM,
      format=serialization.PrivateFormat.TraditionalOpenSSL,
      encryption_algorithm=serialization.NoEncryption()
      )
      with open(f'{_dir}/private_key.pem', 'wb') as f:
      f.write(private_key)
      def save_public_pem(self):
      public_key = self.public.public_bytes(
      encoding=serialization.Encoding.PEM,
      format=serialization.PublicFormat.SubjectPublicKeyInfo
      )
      with open(f'{_dir}/public_key.pem', 'wb') as f:
      f.write(public_key)
      def load_pem(self, path=None):
      tmp_path = path or _dir
      with open(f"{tmp_path}/private_key.pem", "rb") as key_file:
      self.keys = serialization.load_pem_private_key(
      key_file.read(),
      password=None,
      backend=default_backend()
      )
      self.private = self.key_size
      self.public = self.keys.public_key()
      def load_private_pem(self, path=None):
      tmp_path = path or _dir
      with open(f"{tmp_path}/private_key.pem", "rb") as key_file:
      return serialization.load_pem_private_key(
      key_file.read(),
      password=None,
      backend=default_backend()
      )
      def load_public_pem(self, path=None):
      tmp_path = path or _dir
      with open(f"{tmp_path}/public_key.pem", "rb") as key_file:
      return serialization.load_pem_public_key(
      key_file.read(),
      backend=default_backend()
      )
      def save_json(self):
      with open(f'{_dir}/keys.json', 'wb') as f:
      json.dump(self._get_json(), f, indent=4)
      def save_private_json(self):
      with open(f'{_dir}/private_key.json', 'wb') as f:
      json.dump(self._get_json()['private_key'], f, indent=4)
      def save_public_json(self):
      with open(f'{_dir}/public_key.json', 'wb') as f:
      json.dump(self._get_json()['public_key'], f, indent=4)
      def load_json(self):
      with open(f'{_dir}/keys.json', 'rb') as f:
      json_data = json.load(f)
      self.keys = serialization.load_pem_private_key(
      json_data['private_key'],
      password=None,
      backend=default_backend()
      )
      self.private = self.keys
      self.public = self.keys.public_key()
      return json_data
      def load_private_json(self):
      with open(f'{_dir}/private_key.json', 'rb') as f:
      json_data = json.load(f)
      return json_data
      def load_public_json(self):
      with open(f'{_dir}/public_key.json', 'rb') as f:
      json_data = json.load(f)
      return json_data
      def _update_keys(self, keys=None, key_size=1):
      """
      key_size = 1 | 0 = 1028, 1 = 2048, 3 = 4096, ...
      """
      self.keys = keys or self._get_new_keys(key_size)
      self.private = self.keys
      self.public = self.keys.public_key()
      def _load_private_bytes(self, some_bytes):
      if some_bytes:
      return serialization.load_pem_private_key(
      some_bytes,
      password=None,
      backend=default_backend()
      )
      else:
      return self.public
      def _load_public_bytes(self, some_bytes):
      if some_bytes:
      return serialization.load_pem_public_key(
      some_bytes,
      backend=default_backend()
      )
      else:
      return self.public
      def _get_new_keys(self, key_size=1):
      return rsa.generate_private_key(
      public_exponent = 65537,
      key_size = self._get_key_size(key_size),
      backend = default_backend()
      )
      def _get_json(self):
      return {
      'private_key': self.get_private_bytes(),
      'public_key': self.get_public_bytes()
      }
      def _get_key_size(self, exponent):
      return int(1024 * (2 ** exponent))
      class P2P_Encrypt():
      def __init__(self, keys=None, path=None, key_size=1):
      self.keys = P2P_Key(keys=keys, path=path, key_size=key_size)
      def encrypt(self, some_string, public_key=None):
      public_key = self.keys._load_public_bytes(public_key)
      return public_key.encrypt(
      some_string.encode(),
      padding.OAEP(
      mgf=padding.MGF1(algorithm=hashes.SHA256()),
      algorithm=hashes.SHA256(),
      label=None
      )
      )
      def decrypt(self, user_string, private_key=None):
      private_key = self.keys._load_private_bytes(private_key)
      try:
      return private_key.decrypt(
      user_string,
      padding.OAEP(
      mgf=padding.MGF1(algorithm=hashes.SHA256()),
      algorithm=hashes.SHA256(),
      label=None
      )
      ).decode()
      except Exception as e:
      return f"Error: {e}"
      if __name__ == "__main__":
      crypto = P2P_Encrypt()
      print(f'Private Key:
      {crypto.keys.get_private_bytes()}

      Public Key:
      {crypto.keys.get_public_bytes()}

      ')
      print(f'JSON Data: {crypto.keys._get_json()}')
      json_keys = crypto.keys._get_json()
      private_key_save = crypto.keys.get_private_bytes()
      some_text = "Funktioniert das auch mit Umlauten? äöüÄÖÜ"
      encrypted = crypto.encrypt(some_text, public_key = json_keys['public_key'])

      crypto.keys.get_new_keys()
      decrypted = crypto.decrypt(encrypted, private_key = json_keys['private_key'])
      print(f'Original Message:
      {some_text}

      Encrypted Message:
      {encrypted}

      Decrypted Message:
      {decrypted}' )

    • @greansilver
      @greansilver 3 роки тому

      @@nicht_menschlich Ich garantiere nicht dafür das alles komplett funktioniert, aber nur damit du einen Anfang hast ;)
      Ich hoffe ich konnte helfen, LG Philipp

  • @mariusbohm9023
    @mariusbohm9023 3 роки тому

    Ich finde bei sowas Microcontroller viel besser aber das ist nicht schlecht

  • @m4ttis991
    @m4ttis991 3 роки тому +1

    Wie lange programmierst du schon mit Java, falls du das schon beantwortet hast tut es mir leid ich bin gerade erst auf deinen Kanal gestoßen.

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Kein Problem 😉 Ich programmiere jetzt seit fast 7 Jahren mit Java.

  • @marcg3381
    @marcg3381 3 роки тому

    Weißt du ob das auch mit einer:
    Xiaomi Mi Smart LED Bulb Essential White and Color geht?
    Bzw. Wie es mit der Xiaomi Lampe gehen würde?

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Es gibt einige Hersteller, mit denen das geht. Ob auch Xiaomi das anbietet, weiß ich allerdings nicht. Notfalls einfach mal googeln ;)

  • @florian2119
    @florian2119 3 роки тому +1

    Was hälst du davon den Source-Code auf GitHub zu veröffentlichen?

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому +1

      Nicht so viel. Ich poste den Code (in den meisten Fällen) direkt in der Videobeschreibung.

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Genau :)

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Für mein Video kommenden Freitag wäre es aber eine Überlegung wert, da es diesmal ziemlich viel Code geworden ist 🤔

  • @richox695
    @richox695 2 роки тому

    Weißt du wie man die Lampen am besten zum blinken bekommt? :D

  • @thepaulcraft957
    @thepaulcraft957 3 роки тому +1

    ich habe noch vor 2 stunden überlegt, ob man sich sowas mit nem raspberry basteln kann und dann lädst du hoch xD.. Allerdings finde ich die bridge echt teuer, fast 50€

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Ja, im Eigenbau ist das auch möglich (und günstiger!).

    • @thepaulcraft957
      @thepaulcraft957 3 роки тому +1

      @@Florian.Dalwigk danke für die (schnelle) antwort! Schön das nochmal von jemandem mit Ahnung zu hören bzw. zu lesen!

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Danke für die Blumen 😊

  • @Mark-rb9ek
    @Mark-rb9ek 3 роки тому +1

    Filips Huu-E😂😂 Sorry, das hat mich so getriggert(Hi-U)

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Hi-U? Wird das wirklich so ausgesprochen? 😄

    • @Mark-rb9ek
      @Mark-rb9ek 3 роки тому

      @@Florian.Dalwigk ich glaub schon, aber gut, wir wissen ja, was du meinst ;-))

  • @leolol8463
    @leolol8463 3 роки тому

    Eine Frage... ich hab mir nen Algorithmus geschrieben um aus rgb values x und y Wert für die hue zu bekommen. Allerdings tut sich da farblich nix. Sowohl wenn ich die request an .../State/xy mit json = {„0“: x,“1“:y} sende, als auch wenn ich an .../state mit Json = {„xy“:{„0“: x,“1“:y}} sende. Irgendeine Idee?

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Ohne deinen Code kann ich nur mutmaßen, dass dein Algorithmus nicht funktioniert.

    • @leolol8463
      @leolol8463 3 роки тому

      Nein hab ich getestet. Für alle möglichen Kombis kommen immer Werte unter 1 raus. Ich hab’s sogar jetzt so gemacht, dass auf 4 nach Komma stellen gerundet wird. Ich Versuchs heute mal noch dass ich statt ner Float mal nen int oder str schicke vllt klappt’s ja dann...den Code kann ich nachher auch noch schicken bin aber grade am Handy und da hab ich den nicht ;)

    • @leolol8463
      @leolol8463 3 роки тому

      Der Code wird irgendwie jedes Mal gelöscht wenn ich ihn poste...

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Liegt wohl am YT Algorithmus.

    • @leolol8463
      @leolol8463 3 роки тому +1

      @@Florian.Dalwigk hab jetzt die Lösung gefunden!! Ich hab’s mir immer im JSON Format visualisieren lassen und dabei ist mir entgangen, dass dem key xy statt jeweils neuen key wie angenommen 0 und 1 eine LISTE zu geordneten wird... wurde natürlich in der schönen grafischen Darstellung falsch geladen aber.... danke dass du mir helfen wolltest :)

  • @Teemaino
    @Teemaino 3 роки тому

    Ich hab im ThumbnAIL Das Wort "Steuern" gesehen und mein Cortisolspiegel ist auf einem Tageshoch

  • @greansilver
    @greansilver 3 роки тому

    Hey, warum benutzt du eigentlich bei 07:29:
    self.url = '{}/api/{}/lights/{}/state/'.format(self.ip, self.user, self.lamp)?
    Ich finde einen fString viel übersichtlicher:
    self.url = f'{self.ip}/api/{self.user}/lights/{self.lamp}/state/'
    Trotzdem ein gutes Video, weiter so ;)

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Das habe ich schon einmal in einem anderen Kommentar beantwortet :) Deine Lösung ist aber auch übersichtlich (ist allerdings Geschmacksache) ;)

    • @greansilver
      @greansilver 3 роки тому

      @@Florian.Dalwigk Hab grade auch noch mal nachgelesen, fStrings wurden erst in 3.5 implementiert, schadet bestimmt nicht das so zu machen für die backwards compatibility :)

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Alles hat seine Vor- und Nachteile ;)

  • @LetsFluffy
    @LetsFluffy 3 роки тому

    Das Video erinnert mich an eines der letzten Videos von Kalle Hallden, geheime Koorperation? 😉😉😂

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому +1

      Wer ist Kalle Hallden? :D

    • @LetsFluffy
      @LetsFluffy 3 роки тому +1

      @@Florian.Dalwigk Ein Schwede, der englischsprachige Videos auch rund um Informatik auf seinem Kanal hochlädt. Bei ihm sind es jedoch immer eher Erfahrungsberichte und Experimente, bei denen er irgendwas selbst ausprobiert und versucht zu lernen :D Kann den Kanal nur weiterempfehlen

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому +1

      Danke dir, werde ich mir mal anschauen :) Übrigens: Am Freitag lade ich auch mal so ein "Experiment" Video hoch ;) Mal schauen, wie das bei euch so ankommt.

    • @LetsFluffy
      @LetsFluffy 3 роки тому

      @@Florian.Dalwigk Oh, da freue ich mich drauf :D Um wie viel Uhr wird das Video veröffentlicht?

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      16 Uhr, wenn alles gut läuft 🙂

  • @joni4006
    @joni4006 3 роки тому

    Kannst du evtl. mal ein python-video zu nanoleafs machen?

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Ist derzeit nicht geplant.

    • @Lc9real
      @Lc9real 3 роки тому

      @@Florian.Dalwigk Ich hab einen LED Streifen von ELK Bledom und ich will in per Sprachsteuerung Steuen dazu gibt es ne App weißt du wie ich sie mit Pyhton steuer da es dazu keine Bridge gibt?

  • @pascalsitter
    @pascalsitter 3 роки тому +1

    Wo ist der Link zum Simulator?

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Oh, vielen Dank für den Hinweis! Ich habe ihn jetzt in der Videobeschreibung ergänzt. Sorry, ich dachte, ich hätte den schon hinterlegt. Viel Spaß beim Ausprobieren :)

  • @man100111
    @man100111 3 роки тому +1

    Ist dein Kanal eigentlich auch von der Aktion gegen IT-Security und Hacking Videos betroffen die ja gerade auf UA-cam durch den Algorithmus stattfindet?

  • @cb-hz6dm
    @cb-hz6dm 3 роки тому

    Kannst du mal ein Video zu mealy und Moore Automaten machen?

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Aktuell ist dazu noch kein Video geplant, doch ich setze es auf die Themenliste.

  • @donerbude6380
    @donerbude6380 3 роки тому

    Shit, hab keine Bridge, meine Lampe wird nur per Alexa gesteuert

  • @jackjoys
    @jackjoys 3 роки тому

    bei mir lässt sich pip request nicht installieren

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Wie lautet denn die Fehlermeldung?

    • @jackjoys
      @jackjoys 3 роки тому

      @@Florian.Dalwigk das Problem habe ich bereits gelöst aber ich bekomme jetzt dem fehler beim starten : File "C:/Users/USER/PycharmProjects/huecontroller/main.py", line 10
      self.url = '{}/api/{}/lights/{}/state/'.fo..., self.user, self.lamp)
      ^
      SyntaxError: invalid syntax

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Steht die Zeile wirklich so dort? Du musst .format( usw. verwenden.

  • @pepsiman7180
    @pepsiman7180 3 роки тому

    Hey du hast vergessen den Simulator zu verlinken :D

  • @ryangewheelt
    @ryangewheelt 2 роки тому

    Ich hab einen HP 27f 4K 😋

  • @DJ_Swiss
    @DJ_Swiss 3 роки тому

    Gibt eine Library phue die für die Lampen existiert für Python.

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Stimmt (wurde schon erwähnt). Allerdings wollte ich zeigen, wie man so etwas (ohne Anwendung einer Lib) selber machen kann. Das andere kann ja jeder ... ;)

  • @npas76
    @npas76 2 роки тому

    DIGGA WAS SOLL DAS LAD CODE DOCH AUF PASTEBIN HOCH WAS SOLL ICG DDAIMIT IN DER BESCHRIEBINNG?????

    • @Florian.Dalwigk
      @Florian.Dalwigk  2 роки тому

      DIGGA WAS SOLL DAS SEI FROH DASS DU IHN NED ABTIPPEN MUSST WAS SOLL ICG MIT DIESEM KOMMENTAR??????

  • @Tschaegge
    @Tschaegge 3 роки тому

    Gibt es eine Möglichkeit, Farbwerte von RGB in die Werte sat, bri und hue umzurechnen?
    Btw. Gratulation zu den 30k

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Danke! :) www.rapidtables.com/convert/color/hsv-to-rgb.html

    • @Tschaegge
      @Tschaegge 3 роки тому

      @@Florian.Dalwigk Aber wie bekomme ich den Wert zwischen 0 und 0xFFFF und nicht den Winkel?

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Unten stehen die Formeln. Einfach umstellen 😉

    • @Tschaegge
      @Tschaegge 3 роки тому

      @@Florian.Dalwigk Sorry wenn ich etwas schwer von Begriff bin, aber sagen wir ich habe die RGB -Werte 255,165,0 (Orange). Wie komme ich mit diesen Formeln auf einen Wert, der ungefähr 10880 hue entspricht, die du im Video angibst?

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Ganz einfach: Übersetze die RGB Werte in den HSV Raum (dafür gibt es ebenfalls Rechner im Internet). Lies den Wert für H ab (in deinem Beispiel H=39). Multipliziere den Faktor H/255 mit 65535.

  • @kyu5882
    @kyu5882 3 роки тому

    Moin,
    habe mal wieder eine Frage, die wieder nur im Ansatz mit dem Video zu tun hat, aber egal^^
    Ich will mit Python ein Programm programmieren, welches Bilder "geometrisiert" alla dem Programm Geometrize, bitte mal nachschlagen^^
    Also ich habe mir jetzt schon mal so einen Ablaufplan erstellt, aber scheitere jetzt schon, überhaupt Kreise oder Rechtecke in einem Fenster zu zeichnen. Hast du da eine Idee, weil ich verzweifle echt.. Ist das überhaupt in Python so in dem Ausmaß möglich, wie es in dem Programm "Geometrize" gemacht wird?
    Ich bin so gesehen gerade noch ein "blutiger" Anfänger.

    • @kyu5882
      @kyu5882 3 роки тому

      Hier nochmal, wo ich das entdeckt habe:
      ua-cam.com/video/4GAINNDlKnI/v-deo.html

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Ja, das kann man damit programmieren. Das kann ich dir aber nicht in einem kurzen Kommentar erklären. Du brauchst dafür übrigens viel Wissen im Bereich Computergrafik und Bildverarbeitung - das ist für ein Anfängerprojekt vlt. etwas too much.

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Du kannst dir aber mal anschauen, wie Geometrize das gemacht hat: github.com/Tw1ddle/geometrize/tree/master/scripts Das ist zwar nur der Generator, aber dann siehst du schonmal, wie groß der Aufwand für "einfache" Tasks ist. Geometrize ist übrigens größtenteils in C++ geschrieben. Da kannst du dir zumindest die Algorithmik vorab durchlesen ;)

    • @kyu5882
      @kyu5882 3 роки тому

      @@Florian.Dalwigk Okay, danke :) C++ ist doch wie beim Arduino, oder? Werde da morgen mal reinschauen :)

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Ja, genau.

  • @KeineKommentare
    @KeineKommentare 3 роки тому +1

    Python ist DRY!, dein if elif elif könnte besser ein dict sein

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Stimmt! Allerdings kennen das viele Anfänger noch nicht. Ich bin auch ein Freund von "Don't Repeat Yourself"

  • @gabenfanboy7471
    @gabenfanboy7471 3 роки тому

    bruh, wofür gibts die Himbeertorte?

  • @kyu5882
    @kyu5882 3 роки тому

    Kannst du mir mal den Zusammenhang zwischen Tangens und Tangente erklären?^^ Ich sollte das die Tage rausfinden und habe noch bis morgen Zeit, konnte aber nichts finden :/ Ich hoffe du kannst mir da weiterhelfen

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Das passt ja mal gar nicht zu dem Video 😄 Da wird man im Internet eigentlich recht schnell fündig. Male dir mal einen Einheitskreis auf und schaue, wo dort der Tangens liegt. Dann siehst du, dass dieser den Einheitskreis *berührt*.

    • @kyu5882
      @kyu5882 3 роки тому

      @@Florian.Dalwigk Also den Tangens bestimmt man ja dadurch, dass man eine Hilfslinie ganz rechts bzw. ganz links einzeichnet, also am äußersten Punkt des Kreises und dann den Radius so weit zeichnet, bis er die Hilfslinie schneidet/berührt.(Sorry, klingt grade mega kacke, weil schreiben^^). Ist damit gemeint, dass diese Hilfslinie eine Tangente ist?
      Alter das klingt grade so durcheinander^^
      Aber danke, dass du so schnell antwortest :)
      Habe einfach unter dem neusten Video gepostet, weil es halt am neusten ist xD
      Feier deine Videos

    • @kyu5882
      @kyu5882 3 роки тому

      und im Internet habe ich garnichts gefunden..^^

    • @Florian.Dalwigk
      @Florian.Dalwigk  3 роки тому

      Wie ist denn eine Tangente definiert? Wenn du das herausgefunden hast, dann schaust du dir nochmal die Lage des Tangens am Einheitskreis an.

    • @kyu5882
      @kyu5882 3 роки тому

      @@Florian.Dalwigk Also tangente ist eine gerade, die eine Kurve/Funktion/wasauchimmer in einem Punkt berührt.
      Der Tangens ist außerhalb des Einheitskreises, wenn du das meinst. Also der Wert des Tangens ist an der Ordinate ablesbar, oder nicht?
      Entweder die Ordinate ist eine Tangente, wenn der Mittelpunkt keine Schnitt bzw. Berührpunkt ist, allerdings ist er es, was mich dazu führt, dass die Hilfslinie die Tangente sein muss, allerdings trifft diese den Kreis in einem Punkt, aber auch mit Punkt P.
      Die Werte des Tangens sind nur im 1.und 4. Quadranten des Kreises definiert, was mir allerdings immernoch nichts bringt..
      Ich finde echt Klasse, wie du versuchst mich zur Lösung hinzuführen, aber anscheinend übersehe ich was entscheidendes, oder ich missverstehe die Definition von der Lage des Tangens..