AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Brechung einer Graden an Ebene(Glasscheibe)
Thema durchsuchen
Ansicht
Themen-Optionen

Brechung einer Graden an Ebene(Glasscheibe)

Ein Thema von AmY · begonnen am 7. Dez 2005 · letzter Beitrag vom 10. Dez 2005
Antwort Antwort
AmY

Registriert seit: 27. Jan 2005
21 Beiträge
 
#1

Brechung einer Graden an Ebene(Glasscheibe)

  Alt 7. Dez 2005, 11:12
Ich wollte eine Glasscheibe mit Delphi simulieren, hab aber nur das hier als Ansatz
( http://www.buha.info/board/archive/i...p/t-45768.html )
gefunden.
Ich suche eine Formel um eine Graden an einer ebene zu brechen und als Lösung die Steigung der geraden, bzw. die neue Gradengleichung zu erhalten.
Eigendlich steckt die in dem Post (s.o) schon drin. Leider kann ich aber kein *was-weiß-ich*. Wer übersetzt mir das(s.o oder s.u.), bzw. löst mein Problem?

restart;
with(LinearAlgebra):
N:=Vector([0,1,0]):
S0:=Vector([-1,1,0]):
w:=Normalize(CrossProduct(N,S0), Euclidean):
a1:=Pi/4:
R:=N*cos(a1)+(1-cos(a1))*(w*Multiply(Transpose(w),N))+sin(a1)*Cros sProduct(w,N);

Danke schon mal!
lg amy
  Mit Zitat antworten Zitat
mare_crisium

Registriert seit: 6. Nov 2005
17 Beiträge
 
Delphi 5 Standard
 
#2

Re: Brechung einer Graden an Ebene(Glasscheibe)

  Alt 10. Dez 2005, 00:02
AmY,

ich habe mir den Link, den Du angegeben hast, näher angesehen und finde die Erklärungen und Diskussionen dort ziemlich schwer verständlich. Die Codezeilen, die Du in Deinen Post einkopiert hast, beziehen sich auf eine Programmiersprache, die eine Vektor-Mathematik-Bibliothek zur Verfügung stellt, die ich nicht kenne.

Es geht aber auch auf Delphinisch! Ich hänge hier eine ".exe"-Datei und die entsprechende unit an. Wenn das Programm bei Dir zum Laufen kommt, kannst Du den Einfallswinkel ändern und siehst dann, welchen Winkel der gebrochene Strahl annimmt. Die Brechungsindizes sind die für Luft und Wasser. Zu beachten ist Folgendes: In der Optik werden die Einfalls- und Ausfallswinkel immer zwischen den betreffenden Lichtstrahlen und dem "Einfallslot" gemessen. Das "Einfallslot" ist eine gedachte Linie, die genau da, wo der einfallende Lichtstahl auftrifft, senkrecht auf der brechenden Oberfläche steht. Wenn also der Lichtstrahl genau senkrecht auf die Oberfläche trifft, dann ist der Einfallswinkel 0°. Das ist ein bisschen ungewohnt. Im täglichen Leben misst man meistens, z.B. die Steigung einer Strasse, ausgehend von der Waagerechten.

In der unit "lbgu200" findest Du ganz am Ende die "function gebrochenerStrahl". Die berechnet die Richtung des gebrochenen Lichtstrahls aus der Richtung des einfallenden. Alle anderen Teile der unit beschäftigen sich mit der Programmsteuerung durch die Bedienungelemente.

Ich hoffe, die Vektorrechnerei schreckt Dich nicht ab. Die für zweidimensionale Vektoren notwendigen Hilfsmittel sind in der Unit "vect2Lib200" zusammengestellt. Im Allgemeinen ist das Berechnen von Geraden, Schnittpunkten, Winkeln und dergleichen mit Vektoren viel einfacher zu bewerkstelligen als mit den üblichen Geradengleichungen vom Typ y = m*x + b. Z.B. ist eine senkrecht verlaufende Gerade mit Vektoren überhaupt keine Schwierigkeit, während man bei der üblichen Geradengleichung im einer unendlich grossen Steigung zu kämpfen hat.

Hilft Dir das Beispiel?

mare_crisium
Angehängte Dateien
Dateityp: pas vect2lib200_602.pas (5,9 KB, 8x aufgerufen)
Dateityp: pas lbgu200_188.pas (10,9 KB, 7x aufgerufen)
Dateityp: exe lbgp200_170.exe (349,5 KB, 23x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Brechung einer Graden an Ebene(Glasscheibe)

  Alt 10. Dez 2005, 10:55
Zitat von mare_crisium:
... Die Codezeilen, die Du in Deinen Post einkopiert hast, beziehen sich auf eine Programmiersprache, die eine Vektor-Mathematik-Bibliothek zur Verfügung stellt, die ich nicht kenne.
Maple ist eine Programmiersprache, welche speziell für mathematische Probleme entwickelt wurde: http://www.maplesoft.com/

Kannte ich bisher auch nicht.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz