Verfasst am: 23.03.2017, 00:27
Titel: Bewegender Punkt
Guten Abend!
Zu allererst möchte ich einmal sagen, ich bin ziemlich neu in dem Thema Matlab usw. Ich habe aus diesem Grunde eine Frage, wo ich vielleicht einen kleinen Tipp brauchen könnte.
Zur Situation:
Ich programmiere gerade in einer Simulation eine Art Roboter, der durch einen beliebigen Raum fahren soll und am Besten zu 100% den Raum befahren soll(der Teil kommt später).
Ich habe eine Matrix für einen gedachten Raum erstellt und diese auch ausgegeben. Weiterhin habe ich einen Punkt geplotet und diesen auch bewegt, indem ich ihn immer wieder an der x-Position bewegt habe. Weiterhin habe ich die "inpolygon" Funktion genutzt um zu checken, ob er sich noch in dem Raum befindet.
Problem
Wenn der Punkt auf den Rand trifft soll eine Kollision stattfinden, daraufhin soll er "random" die Richtung wechseln und in die Richtung weiterfahren. Ich frage mich jetzt wie ich am besten eine zufällige Richtung generiere. Die Idee war dies über einen Winkel zu versuchen, aber dort komme ich zu keiner Lösung. Weiterhin müsste ich auch jedes mal die Richtung ändern von x oder y. Gibt es dazu eine spezielle Methode oder Funktion wie man dies umsetzen könnte?
Kleines Update:
Ich habe schon ein Problem gelöst und zwar mit dem Winkel. Die Steigung von dem Punkt wird immer wieder neu berechnet nach jeder Kollision.
Vielleicht hilft es wem, auch wenn es nicht top programmiert ist.
Problem an dem Code oben ist, dass sich die Geschwindigkeit des Punktes mit ändert. Vielleicht hat dort jemand eine Idee wie man die Geschwindigkeit festsetzen kann, aber der Winkel bei einer Kollision trotzdem random berechnet werden kann.
Hallo!
So nachdem ich Ewigkeiten gegooglet habe und auf keine vernünftige Lösung gekommen bin, würde ich jetzt einfach nochmal hier fragen auch wenn bis jetzt keiner geantwortet hat
Gibt es eine Möglichkeit eine Rotationsmatrix auf einen bewegenden Punkt anzuwenden? Also in dem Sinne auf x und y getrennt voneinander eine Rotationsmatrix anzuwenden und diese danach zu plotten?
Wo genau liegt das Problem? Du kannst die Koordinaten des Punktes mit der Rotationsmatrix multiplizieren. Na klar geht das. Das Plotten danach geht auch direkt mit
plot
.
Ich denke, ich habe noch nicht verstanden, wo das Problem liegt.
Gruß, Jan
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.