"Koordinaten berechnen"

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Higlav.

    "Koordinaten berechnen"

    Guten Tag

    Ich hab grade folgendes Problem:
    Ich habe ein objekt von dem ich die x und y achse in einem 2d koordinaten system weiss...
    zudem weiss ich in welche richtung es ausgerichtet ist...
    z.B.

    x= 10 y = 25 und um 45 grad nach rechts gedreht...

    dieses objekt will ich jetzt um 1 cm nach vorne schieben also in die richtung in die es schaut...

    Irgendeine formel muss es doch geben um dies zu berechnen denn wenn ich es nur auf der x oder y achse um 1 cm vershiebe fliegt es ja nicht in die richtung in
    die die vorderseite schaut...

    Ich hoffe man versteht was ich meine und ihr könnt mir da weiterhelfen

    Grüße, Minzkraut
    8. Klasse Schulmathematik, noch nicht so weit oder im Unterricht geschlafen?

    Also der Einheitskreis ist ein Kreis mit Radius 1 und Mittelpunkt im Koordinatenursprung. Ein Punkt, der sich auf dem Kreis befindet, besitzt immer die Koordinaten x = cos(alpha) und y = sin(alpha), wobei alpha der Winkel zwischen der X-Achse und der Strecke, die vom gesuchten Punkt bis zum Mittelpunkt gezogen werden kann, ist. Da der Radius des Kreises 1 ist, muss auch die Länge eben dieser Strecke, also der Abstand zwischen Koordinatenursprung und gesuchtem Punkt, 1 betragen. Du hast also einen normierten Richtungsvektor erhalten, und nach der Vektorenlehre ist jeder andere Richtungsvektor, der in die selbe Richtung zeigt, nur ein Vielfaches dieses Vektors. Du multiplizierst die Koordinaten also mit der länge der Strecke, die du zurücklegen willst, und erhältst die notwendige Änderung der Position.

    Wipf1000 schrieb:

    folgendes Problem
    Male mal das ganze sehr ordentlich auf ein Blatt Papier und Du wirst sehen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Wipf1000 schrieb:

    Irgendeine formel muss es doch geben um dies zu berechnen denn wenn ich es nur auf der x oder y achse um 1 cm vershiebe fliegt es ja nicht in die richtung in die die vorderseite schaut...


    Du musst ja auch beide Koordinaten erhöhen. Und zwar um genau √(1/2). (Das geht natürlich nur in dem speziellen Fall von 45°)
    Eigentlich musst du die auf die Y-Koordinate -√(1/2) addieren, da das Koordinatensystem von GDI+ den Ursprung oben links hat.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Quadsoft“ ()

    @Quadsoft : Nicht wirklich ^^ Du gehst davon aus, das die Katheten des Dreiecks 1cm lang sind, dann ist deine Hypotenuse c = sqrt(a*a + b*b) - 2 * a * b * cos(45°) = sqrt(2), aber c soll ja 1 sein, und er will a und b, und dazu gibts halt den Einheitskreis ^^.

    Quellcode

    1. Mittelpunkt: P(x|y)
    2. Radius: r
    3. Winkel: alpha
    4. Neuer Mittelpunkt Q:
    5. Q.x = P.x + r * cos(alpha)
    6. Q.y = P.y + r * sin(alpha)

    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    So, dann reih' ich mich hier auch noch mit meiner Formulierung der bereits mehrfach genannten Lösung hier ein. :D

    Gegeben:

    Quellcode

    1. ⎛10⎞
    2. P₀ = ⎝25⎠, ∡α = ¼π, l = 1


    Gesucht: P₁

    Quellcode

    1. ⎛cos(α)⎞
    2. V₁ = l ・ ⎝sin(α)⎠
    3. Ausrechnen...
    4. ⎛cos(¼π)⎞
    5. V₁ = 1 ・ ⎝sin(¼π)⎠
    6. Für die ohne Sinusfunktion oder Taschenrechner, dafür mit mächtig viel Zeit und Geduld hier noch die Taylorentwicklung für den Sinus:
    7. sin(x) = ∑((-1)ⁿ・x⁽²ⁿ⁺¹⁾/(2n+1)!)
    8. n=0
    9. Ergibt:
    10. ⎛½√2⎞
    11. V₁ = ⎝½√2⎠
    12. Und an P₀ angehängt erhalten wir:
    13. ⎛10⎞ ⎛½√2⎞ ⎛10 + ½√2⎞
    14. P₁ = P₀ + V₁ = ⎝25⎠ + ⎝½√2⎠ = ⎝25 + ½√2⎠

    Na? Wer kriegt den Preis für die umständlichste Lösung? :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Higlav“ ()