tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Mark
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
320
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    blutsvente blutsvente ist offline Mitglied Gold
    Registriert seit
    Jul 2010
    Ort
    Wolfsburg
    Beiträge
    174
    Hi zusammen,

    ich hab da heute mal eine Frage zur Matrix in C4D.

    Ich möchte in Coffee für erzeugte Klone zusätzlich Null-Objekte erzeugen lassen, die z.B. in x-Richtung 200 verschoben sein sollen. Allerdings unter Berücksichtigung der Rotation und Skalierung.

    Also mittels objekt->GetMG die Matrix besorgt. Natürlich auch in der SDK nachgelesen, wie Matrizen in C4D aufgebaut sind. Aber ich komme da einfach nicht weiter.

    GetV0 gibt mir die Position zurück. Bei mir -28,557 | 0,0 | 1,25. Soweit so gut.
    V1 bis V3 geben mir dann doch die Ausrichtung der Achsen zurück.
    Ich frag mich nun nur, wie ich mit den Angaben nun auf die Rotation von 16,913 | 0 | 0 kommen soll.
    V1 : 0,978 | 0,0 | 0,275
    V2 : 0,0 | 1,003 | 0,0
    V3 : -0,344 | 0,0 | 1,133

    Kommt mir mittlerweile allerdings so vor, als würde ich da ganz böse ein paar Dinge durcheinander bringen.

    Kann mir vielleicht jemand zum Durchblick verhelfen?
    Vielen Dank an euch im voraus.

    VG,
    blutsvente
    Geändert von blutsvente (19.09.10 um 17:39 Uhr)
     
    Der letzte modellt die Tür!

  2. #2
    blutsvente blutsvente ist offline Mitglied Gold
    Registriert seit
    Jul 2010
    Ort
    Wolfsburg
    Beiträge
    174
    Alles klar, hab das erste Rätsel gelöst.

    Die Vektoren V1 bis V3 stellen die Ausrichtung der X-, Y- und Z-Achse zum Null-Vektor dar. Also dem Szenen-Ursprung. Und das gemessen am Eineitskreis.

    0,2975 ist die Gegenkathete lang, 0,9785 die Ankathete. Somit ein Winkel von 16,911 für die X-Achse.
    Die beiden anderen Achsen sind aber gar nicht verdreht. Warum zum Kuckuck hab ich also noch Angaben für die Y- und Z-Achse?
     
    Der letzte modellt die Tür!

  3. #3
    Avatar von Mark
    Mark Mark ist offline Mod | Cinema4D
    tutorials.de Moderator
    Registriert seit
    Aug 2003
    Ort
    Vienna:Austria
    Beiträge
    8.123
    Blog-Einträge
    10
    Hi!

    Schau mal in die Coffee SDK nach "Rechnen mit Matritzen". Da sind einige Beispiele, wie man damit "umgehen" kann. In Deinem genannte Beispiel kannst du einen "globalen" Vektor erzeugen mit (200/0/0) und diesen aus Sicht der Klone "lokal" addieren lassen...

    Liebe Grüße,
    Mark.
    blutsvente bedankt sich. 
    ... bitte keine C4D-Fragen per PN ...
    +++ OUT NOW for CINEMA4D:
    Al'em - Free Align Plugin + Shaderpack Vol 1 - Free Shaders
    + Roll-It v1.0 - Free Roll Plugin + Egg-Objekt - Free Egg Primitive +++
    eggtion.net

  4. #4
    blutsvente blutsvente ist offline Mitglied Gold
    Registriert seit
    Jul 2010
    Ort
    Wolfsburg
    Beiträge
    174
    Moin Mark,

    ok, mache ich.
    Vielen Dank für den Tip.

    Wünsche noch einen schönen Tag.

    VG
    blutsvente
     
    Der letzte modellt die Tür!

  5. #5
    blutsvente blutsvente ist offline Mitglied Gold
    Registriert seit
    Jul 2010
    Ort
    Wolfsburg
    Beiträge
    174
    Also die Erklärung in der Coffee-SDK sind schon mal wirklich hilfreich. Aber der Kopf tut jetzt trotzdem weh...

    Aber aus irgendeinem unerfindlichen Grund, wird der letzte Durchgang der Berechnung immer wieder falsch ausgeführt.

    Als Grundlage habe ich mir das Skript Generate_nulls_on_Mograph vorgenommen.

    Ich möchte nun noch den Radius inklusive möglicher Skalierung mit einrechnen.
    Das ganze sieht jetzt aus wie im Anhang gezeigt.

    Leider haut mir jetzt immer der letzte Spline komplett ab - also hat eine falsche Position im Raum. Hat da jemand von euch eine Idee?

    Das sind die Zeilen, die mir das Leben schwer machen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    var gP = mat->GetMulP(vector(200,0,0));
    mat->SetV0(gP);
        
    var targetMat = new (Matrix);
    targetMat = nl->GetMg();
    targetMat->SetV0(gP);
     
    nl->SetMg(targetMat);

    Viele Grüße,
    blutsvente
    Angehängte Dateien Angehängte Dateien
    Geändert von blutsvente (21.09.10 um 10:06 Uhr)
     
    Der letzte modellt die Tür!

Ähnliche Themen

  1. Verständnis-Problem: Zweidimensionale ArrayList
    Von robbob im Forum Java Grundlagen
    Antworten: 3
    Letzter Beitrag: 03.05.10, 14:26
  2. C Threads und Beginner = Verständnis-Problem
    Von WingMan81 im Forum C/C++
    Antworten: 16
    Letzter Beitrag: 25.09.09, 13:02
  3. C++ Verständnis Problem!!
    Von Foxgame im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 20.11.07, 22:45
  4. verständnis PROBLEM
    Von Tageslicht im Forum PHP
    Antworten: 4
    Letzter Beitrag: 11.12.04, 10:43
  5. Verständnis Problem mir DB Update
    Von xtraMen im Forum PHP
    Antworten: 4
    Letzter Beitrag: 26.09.04, 12:56

Stichworte