|
Quarz2200 |

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 10.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.01.2013, 19:35
Titel: gekrümmte Oberfläche
|
 |
Hallo zusammen,
mein Aufgabe ist, einen Strahl auf eine gekrümmte Oberfläche/Linse treffen zu lassen und dann, je nach dem an welchem Punkt er auf die Linse trifft, unterschiedlich brechen zu lassen und den herauskommenden Strahl ebenfalls anzeigen zu lassen.
bisher habe ich nur geschafft den Eingangsstrahl zu programmieren.
Wenn ich nun an einer Gerade den Strahl brechen müsste wäre das noch in Ordnung. Aber wegen der gekrümmten Oberfläche schaffe ich es nicht.
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 24.01.2013, 11:19
Titel: Re: gekrümmte Oberfläche
|
 |
Hallo Quarz2200,
Was ist nun genau Deine Frage?
Möchtest Du bestimmen, an welchem Punkt genau der Strahl auf die gekrümmte Oberfläche fällt?
mein Aufgabe ist, einen Strahl auf eine gekrümmte Oberfläche/Linse treffen zu lassen und dann, je nach dem an welchem Punkt er auf die Linse trifft, unterschiedlich brechen zu lassen und den herauskommenden Strahl ebenfalls anzeigen zu lassen.
Gruß, Jan
PS. Wie immer möchte ich darauf hinweisen, dass "clear all" unnötig brutal ist. Es gibt keinen Grund alle geladenen Funktionen aus dem Speicher zu entfernen. Trotzdem ist dieses brutale Aufräumen extrem weit verbreitet. Leider. Wir könnten bestimmt eine Tonne CO2 einsparen, wenn man nicht tausende von Matlab-Installationen dazu bringen würde, zeit- und enrgieraubend alle benötigten Funktionen wieder von der Festplatte einzulesen und zu parsen.
|
|
|
Quarz2200 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 10.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.01.2013, 13:29
Titel:
|
 |
Hallo Jan,
Im Grunde ist das, mit dem clear all, wie du es sagst richtig. Da ich allerdings ein Anfänger bin, lasse ich es drin, nicht dass ich eine Variable benutze, die ich mal irgendwann anders deklariert habe und mir dadurch ein falscher Wert ausgegeben wird.
Mein Problem ist, dass ich nicht weiß, wie ich erstens die gekrümmte Oberfläche quasi senkrecht zur x-Achse programmiere und wie ich dann den Schnittpunkt des Strahls und der Oberfläche bestimme.
|
|
|
MaFam |

Forum-Meister
|
 |
Beiträge: 799
|
 |
|
 |
Anmeldedatum: 02.05.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 24.01.2013, 15:06
Titel:
|
 |
Hallo,
gibt es denn sowas wie eine Funktionsvorschrift für die Oberfläche, oder ist das Gebilde bekannt?
Grüße, Marc
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 24.01.2013, 17:00
Titel:
|
 |
|
 |
|
Hallo Quarz2200,
Wenn das gekrümmte Objeklt z.B. eine Kugel wäre, würdest Du die Koordinaten des Zentrums und den Raduis benötigen. Dann könntest Du mit einfachen elementaren trigonometrischen Funktionen bestimmen, wo der Strahl die Kugel-Oberfläche trifft. Oder aber Du könntest bei Deiner schrittweisen Simulation bei jedem Schritt testen, ob Du bereits innerhalb der Kugel bist.
Zitat: |
Da ich allerdings ein Anfänger bin, lasse ich es drin, nicht dass ich eine Variable benutze, die ich mal irgendwann anders deklariert habe und mir dadurch ein falscher Wert ausgegeben wird. |
Und genau dazu dient "clear all" nicht. Es werden zwar auch alle Variablen gelöscht, aber zu dem auch alle M-Files, Builtin-in Funktionen, MEX-Files, persistent Variablen, Voreinstellungen z.B. in IMREAD, die dann beim nächsten Aufruf wieder ausgeführt werden müssen, Java-Klassen, Matlab-OO-Klassen und auch noch die Breakpoints des Matlab-Debuggers. Und deshalb ist es ineffizient und verhindert auch noch die Fehlersuche! Gerade für einen Anfänger ist "clear all" also ein substantieller Nachteil und trotzdem verbreitet es sich durch die Anfänger-Kurse an Schulen und Unis wie ein Virus. Und wie im richtigen Leben zeigt es sich mal wieder, dass das, was 90% der Leute machen, nicht unbedingt hilfreich oder nützlich ist.
Wenn Du aus Sicherheitsgründen alle Variablen löschen möchtest, ist dies sinnvoll:
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|