Wann tritt die Totalreflexion auf?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die Totalreflexion hängt vom Sinus des Einfallwinkel ab und hier ist in jedem durchsichtigen Medium der Grenzwert 90° als Übergang zur Totalreflexion. Es ist also in jedem Material so, deshalb kann z.B. ein Brilliantschliff auch auf jeden anderen durchsichtigen Schmuckstein angewendet werden.

Betrachte die Brechungsrichtung zum Lot bei optisch dichteren und dünneren Medien, dann erkennt man, dass die Totalreflexion nur an der Fläche vom dichteren zum dünneren Stoff möglich ist.

ok danke :)

0

Das hier könnte Deine Frage beantworten. Ich kann Dir aber sagen, daß die Totalreflektion in beide Richtungen funktioniert und das nicht nur mit Luft und Wasser.

http://www.phynet.de/optik/brechung-und-totalreflexion

Ok danke ;), aber bist du dir sicher das die Totalreflektion von beiden Richtungen aus auftritt oder meinst du nur die Brechung?

0
@Prime4713

Ich muß mich korrigieren. Natürlich funktioniert die Totalreflektion nur beim Übergang vom optisch dichteren zum dünneren Medium.

1

Java Ellipse aus Linien zeichnen - Fehler wegen nur ganzzahlig möglichen Winkeln?

Hallo,

ich möchte in Java einen Farbkreis in Form eines Ellipse zeichnen; dafür zeichne ich Linien verschiedener Farben vom Mittelpunkt aus in einem bestimmten Winkel zum Endpunkt, der auf der imaginären Form einer Ellipse liegt. So weit so gut, das funktioniert auch.

Mein Problem allerdings ist, dass die Farbkreis-Ellipse nach dem Zeichnen ganz und gar nicht so aussieht, wie sie aussehen sollte:

Ich vermute, dass es daran liegt, dass die Berechnungen Gleitkommazahlen ergeben, die ich aber ganzzahlig runden muss, damit ich damit das Ende einer Linie als Punkt kennzeichnen kann. Dadurch liegen die Linien womöglich an manchen Stellen aufeinander und an anderen Stellen existieren keine Linien (ist das so?).

Hier der Code zum Definieren der Linien mit Farbe und Index:

Line[] lines = new Line[3*255]; 
int[] color = {255,0,0}; 
for(int i=0; i<3; i++) 
   for(int j=0; j<255; j++){ 
      color[i]--; color[(i+1)%3]++; 
      lines[i*255 + j] = new Line(i*255 + j + 1, new Color(color[0], color[1], color[2])); 
} 

Zeichne ich die Linien mit aufsteigender Länge nebeneinander, funktioniert der Farbübergang so wie geplant - nur die Farbellipse macht Probleme.

Hier der Konstruktor der Line-Klasse (mehr enthält sie mom. noch nicht):

Line(int index, Color color){
	this.index = index;
	this.color = color;
	this.angle = this.index*360./765; //3*255 Farben
    int a = Ellipse.a, b = Ellipse.b;
    double x = (a*b/Math.sqrt(b*b+Math.pow(a*Math.tan(angle), 2))),
           y = x*Math.tan(angle);
    if(angle > 90 && angle < 270) x = -x;
    this.end = new Point((int) x, (int) y);
    this.length = Point.distance(0, 0, end.x, end.y);
}

Die paint-Methode der Frame Klasse (ja, ich programmiere in Swing, die Ellipse ist eher ein quick&dirty-Projekt):

@Override public void paint(Graphics g){
	for(int i=0; i<3*255; i++){ 
       g.setColor(lines[i].color); 
       g.drawLine(m.x, m.y, lines[i].end.x+m.x, lines[i].end.y+m.y); 
    } 
} 

Warum sieht die gezeichnete Ellipse so grausam im Gegensatz zum Dreieck aus und separiert optisch so stark zwischen rot und blau? Woran liegt das bzw. wie kann ich es beheben?

Vielen Dank schon mal im Voraus.

LG

...zur Frage

Was möchtest Du wissen?