Berechnen Sie den Skalierungsfaktor für die Konvertierung von Punkt1 (x, y-Koordinaten) eines Rechtecks ​​in Punkt1 (x, y) eines anderen Rechtecks

Das Skalieren der x, y-Koordinaten eines Rechtecks ​​in andere Rechteckkoordinaten ist recht einfach, wie unter diesem Link näher erläutert

http://www.icoachmath.com/math_dictionary/scale_factor.html

Wenn wir zwei Rechtecke haben, hat eines die maximale Breite: 2000 und die maximale Höhe: 1000

und zweites Rechteck der Größe MaxWidth: 4000 und MaxHeight = 2000

Der Skalierungsfaktor für die Konvertierung der Koordinate von rect1 nach rect2 wäre also

für x in rect2: (x in rect1) * (MaxWidth of Rect2 / MaxWidht of Rect1) für y in rect2: (y in rect1) * (MaxHeight of Rect2 / MaxHeight of Rect1)

aber was soll der Skalierungsfaktor sein, wenn

Für ein Rechteck liegt der Mittelpunkt des Ursprungs (X, Y - 0,0) in der Mitte, und es gäbe auch negative Werte für x und y. Wenn Sie von der Mitte nach links gehen, ist x negativ und auf der rechten Seite positiv sein, dasselbe gilt für Y, wenn Sie nach oben gehen, dann wäre y positiv, aber wenn Sie nach unten gehen, dann wäre Y negativ, sodass die Ausdehnung dieses Rechtecks ​​zu (-MaxWidth bis + MaxWidth, -MaxHeight bis + MaxHeight) tendiert.

Jetzt haben wir ein zweites Rechteck, dessen Mittelpunkt ganz links und ganz oben liegt (ganz links und ganz oben - 0,0), und da wir entlang der x-Achse nach rechts und entlang der y-Achse nach unten fahren müssen, würde dies immer der Fall sein positive Werte für x und y.

So berechnen Sie den Skalierungsfaktor für die Konvertierung der Koordinaten des Rechtecks, dessen Ursprung in der Mitte des Rechtecks ​​liegt (MaxWidth / 2, MaxHeight / 2), in das Rechteck, dessen Ursprung ganz links und ganz oben liegt

Antworten auf die Frage(1)

Ihre Antwort auf die Frage