Freigeben über


Sprachübersetzung

Einige Anwendungen übersetzen (oder verschieben) Objekte, die im Clientbereich gezeichnet wurden. durch Aufrufen der SetWorldTransform-Funktion , um den entsprechenden Weltraum auf Seitenraumtransformation festzulegen. Die SetWorldTransform-Funktion empfängt einen Zeiger auf eine XFORM-Struktur , die die entsprechenden Werte enthält. Die Elemente eDx und eDy von XFORM geben die horizontalen und vertikalen Übersetzungskomponenten an.

Wenn die Übersetzung erfolgt, wird jeder Punkt in einem Objekt vertikal, horizontal oder beides um eine angegebene Menge verschoben. Die folgende Abbildung zeigt ein Rechteck mit 20 mal 20 Einheiten, das beim Kopieren aus dem Weltkoordinatenraum in den Seitenkoordinatenraum um 10 Einheiten nach rechts übersetzt wurde.

Abbildung eines Rechtecks an einer Position im Weltraum und an einer anderen Position im Seitenraum

In der vorherigen Abbildung ist die x-Koordinate jedes Punkts im Rechteck 10 Einheiten größer als die ursprüngliche x-Koordinate.

Die horizontale Übersetzung kann durch den folgenden Algorithmus dargestellt werden.

x' = x + Dx 

Wobei x' die neue x-Koordinate ist, x die ursprüngliche x-Koordinate und Dx der horizontale Abstand verschoben ist.

Vertikale Übersetzung kann durch den folgenden Algorithmus dargestellt werden.

y' = y + Dy 

Dabei ist y' die neue y-Koordinate, y die ursprüngliche y-Koordinate und Dy die vertikale Entfernung, die verschoben wird.

Die horizontalen und vertikalen Übersetzungstransformationen können mithilfe einer 3-by-3-Matrix zu einem einzelnen Vorgang kombiniert werden.

                      |1   0   0| 
|x' y' 1| = |x y 1| * |0   1   0| 
                      |Dx  Dy  1| 

(Die Regeln der Matrixmultiplikation geben an, dass die Anzahl der Zeilen in einer Matrix der Anzahl von Spalten in der anderen entsprechen muss. Die ganze Zahl 1 in der Matrix |x y 1| ist ein Platzhalter, der hinzugefügt wurde, um diese Anforderung zu erfüllen.)

Die 3-by-3-Matrix, die die bebilderte Übersetzungstransformation erzeugt hat, enthält die folgenden Werte.

|1  0  0| 
|0  1  0| 
|10 0  1|