Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo auch,

versuche grad ein kleines Spielchen zu programmieren. Dabei habe ich allerdings ein kleines Problemchen.

Ich möchte eine Gerade rotieren lassen. Der Mittelpunkt soll fix sein und die beiden "Enden". Sollen sich drehen - quasi um die eigene Achse.

Wie geht sowas theoretisch?

Bearbeitet von Kaeyu

Beschreibe die Gerade in Kreiskoordinaten (Radius r, Winkel phi), der Ursprung dies Kreiskoordinatensystems liegt in dem Punkt, um den sie drehen soll. Reche dies zum Zeichnen in kartesische Koordinaten um.

Wenn Du die Gerade in Einem Rechteck malen willst kannste auch so vorgehen:

Vorbereitung:

1. Start Punkt unten links deffinieren

2. Endpunkt oben rechts deffinieren

3.Gerade einmalig malen

Algo zur Punkt-Transformation in Sem- PsydoCode (Koordinaten Uhrsprung Windows typisch OBEN links):

****** start wandert "an der Oberkannte" von rechts nach links

****** ende wandert "an der unterkante" von links nach rechts

if (start.Y = 0)

{

start.X := start.X - 1;

ende.X := ende.X + 1;

}

****** start wandert "rechts-aussen" von unten nach oben!

****** ende wandert "links aussen" von oben nach unten!

else if (start.Y > 0)

{

start.Y := start.Y - 1;

ende.Y := ende.Y + 1;

}

****** Punkte vertauschen

else if (start.X = 0)

{

tempPunkt := start;

start := ende;

ende = tempPunkt;

}

MaleGerade(start,ende)

Der Trick ist:

  • Start und Ende starten in gegenüberliegenden Ecken
  • Start und Ende wandern immer simultan in entgegen gesetzter Rirchtung auf einer der Aussenkanten des Rechtecks.
  • Start und Ende werden immer vertauscht Wenn Uhrsprung erreicht ist

.

Grapisch Dargestellt (start entspricht x und ende wird durch Y dargestellt)

xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Y X

Y X

Y X

Y X

YYYYYYYYYYYYYYYYYYYYYYY

@Mcolli: Das funktioniert aber nur, sofern die Kanten des Rechtsecks parallel zu den Achsen des Koordinatensystems sind. Bei entsprechender Rotation würde das nicht mehr klappen, da sich beide Koordinaten verändern

Stimmt aber kann die obere und linke kantedes recht ecks als coordinatensystem nehmen und das komplette vier eck dann drehen ... so gehts zu min in .Net .... andere Programmiersprachen kenn ich mich nicht so gut aus .... wenn er in WPF bzw Silverlight Programmiert geht das ganze noch viel viel viel trivialer :D

sollte auch mehr ne triviale Lösung sein..... da müssen natürlich rand bedingungen deffiniert werden

Dankeschön, funktioniert nun wunderbar! :D

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.