Beiträge von AleXmitXXX

    ach verdammt ich glaube ich habe meinen Fehler gefinden...... Ich habe alles versucht über die Steigung zu machen, bin aber die Schleife nur vorwärts durchgelaufen -.-
    Kann das allerdings erst morgen testen.


    Und danke für die schnelle Antwort :).


    Anti-Aliasing? Keine Ahnung was dsa ist^^ Ich mache grad Abi, hab von ner Drehung im Raum im Prinzip keine Ahnung, dsa einzige was ich weiß ist dass man das mit Komplexen Zahlen lösen kann. Könntest du mir das mit der Ebene etwas genauer erklären?
    Wenn dsa nicht zu viel Aufwand ist dann würde ich das gerne noch in mein Projekt einbauen.
    Und wenn das läuft dann schicke ich meine Datein an Bloody ;) habs nicht vergessen.
    Noch was, hat jemand ne Idee wie ich diese Gerade im Raum "von alleine" drehen lassen kann? Von mir aus auch zufällig.... aber nicht in einer Ebene, die Mitte sollte möglichst fix sein (ich weiß das es nicht ganz klappt da es bei 8 LEDs keine Mitte gibt)... Oder eben so etwas in dieser Richtung. Mir fällt nur ein wie ich diese Gerade in einer Ebene drehen lassen kann.....

    Ich hab jetzt, seit langem, wieder mit meinem Programm weiter gemacht und habe folgendes Probleme:


    Meine Berechnung läuft so ab wie Synvox es oben beschreibt.
    Um den größten Abstand und die Steigung zu bestimmen rechne ich:
    Ko.x=PB.x-PA.x;
    Ko.y=PB.y-PA.y;
    Ko.z=PB.z-PA.z;
    Wenn mindestens ein Wert von PA größer ist als der von PB, dann bekomme ich ein negatives Ergebnis und es klappt nicht mehr. Ich habe es mit Betrag versucht und auch die Koordinaten auszutauschen, sodass PB immer den größeren Wert hat. Nur klappt das nicht zu 100%. Es treten Fehler auf, jedoch nicht immer. Hier sind ein paar Zahlen wo es zu den Fehlern kommt.
    PA(3;3;0) und PB(3;2;1);
    oder PA(2;3;0) und PB(3;2;1);
    oder PA(3;0;3) und PB(3;2;1);
    ( Teste es gerade mit einem 4x4x4 Würfel)
    Bei dem letzteren stürzt er ganz ab. Das läuft bei meiner Rechnung mit Betrag falsch. Hat wer eine Idee warum das so ist??????? Oder wie ich das lösen kann?????
    Das sollte eigentlich bis Montag laufen denn ich muss da noch ne Präsentation drüber halten.... Wäre also super wenn ich genau so schnell hilfe bekomme wie schon die ganze Zeit^^
    Danke schonmal im vorraus

    Also das scheint jetzt zu laufen. Ich hab jetzt auch nur die Version die mir hier empfohlen wurde zum laufen gebracht. Mit meiner Idee (Toleranz usw) habe ich nichts weiter getestet. Klar kann ich das schicken. Willst du das ganze Programm oder nur eben diesen Teil (dann ohne Ansteuerung der LEDs)?


    Jetzt will ich nen Schritt weiter gehen und eine Fläche anhand 3 Punkten berechnen und diese dann ausgeben. Also meine Idee hier wäre die Schnittgeraden in xy-Ebene und in xz-Eene zu bestimmen. Dann die xz-Gerade (ja ich weiß es ist ne Strecke^^) anhand meien bisherigen Prog anzeigen, und dann diese um 1 auf der xy -Gerade zu verschieben und dann halt wieder ausgeben bis ich am ende bin.....
    Ich hoffe das war verständlich^^ Denke damit werde ich keine großen Probleme haben. Oder sieht da jemand ne Schwierigkeit?


    Jedoch will ich noch (falls ich es in kurzer zeit schaffe) ein Objekt drehen. Das kann vielleicht ein Dreieck, Viereck,....., oder ein Smili oder sowas in der Richtung sein. Hauptsache ich kann es anhand 3 Punkten berechnen ud somit drehen lassen. Hat da jemand ne Idee und kann mir weiter helfen????????

    wow danke jetzt hab ich es geblickt. Ist eigentlich genial. Ich werde das mal testen und guck was raus kommt. Vielleicht frage ich bald nach einer Ebene im Raum oder einer Figur ^^.
    Aber Leute 1000 Dank für die schnelle hilfe! :) :) :) :)

    Okay danke.


    Könntest du das vielleicht etwas näher erklären?^^ Ich hab das jetzt nicht wirklich verstanden^^. Bin noch ein Anfänger in dem Bereich.
    Und eine andere Frage noch: Meine Lösung die ich oben gepostet habe taugt nichts????

    Nein mit den Knicken habe ihc keine Probleme, diese sollten jedoch nicht zu groß sein.


    das mit den 30-50 Werte einsetzen und somoit die Strecke "durchlaufen" habe ich mir auch gedacht. Nur die Umsetzung mit der Annäherung. Also welche LED genau nun in der Nähe liegt. Taugt denn meine Lösung was?^^


    und das mit dem Abstand der LEDs wäre denkbar. Aber muss dann nicht viel zu viel gerechnet werden? Ich meine da gibts bestimmt ne einfachere Lösung?

    also ich hab da grad nicht die Lösung für mein Problem gefunden.... ich guck nochmal drücber aber wenn jemand da Ahnung hat oder ne bessere Idee bitte melden ^^


    ich kopier das mal von oben runter falls das jemand übersieht^^


    ich erkläre vielleicht mal wie ich das probeirt habe:
    Dies ist nur ein Ausschnitt, es wird natürlich auch mit den anderen Koordianten gerechnet (verläuft gleich). Und die Koordinaten (Ko.x , Ko.y , Ko.z) werden zwishcengespspeichert.


    Ko.x = PA.x + t* (PB.x - PA.x); // das ganze befindet sich in einer Schleife. t wird nach jedem Schritt um einen kleinen Wert erhöht. Somit laufe ich meine Strecke in keinen Schritten ab.
    Ko.y = PA.y + t* (PB.y - PA.y);
    Ko.z = PA.z + t* (PB.z - PA.z);



    a= Ko.x *10; // hier speicher ich zunäcsht den x-Wert multupliziert mit 10 in a. Damit ist die Stelle nach dem KOmma eine Ganzzahl.
    a= a % 10; // durch Modulo 10 bekomme ich die Nachkommastelle als Ganzzahl.


    Dies wird auch mit dem y und z Wert gemacht.



    if(a<3) // nun frage ich ab ob die Toleranz kleiner als 0.3 ist. ( Toleranz vom x-Wert)
    {


    Ko.x=((Ko.x*10)+5)/10; //hier Runde ich alle Werte und teile diese wieder durch 10, da ich diese vorher mit 10 multipliziert habe.
    Ko.y=((Ko.y*10)+5)/10;
    Ko.z=((Ko.z*10)+5)/10;
    vCubeled( Ko.x, Ko.y, Ko.z, 1 ); // dies ist eine fertige funktion um einzlene Leds anzusteuern.
    }

    alles klar danke! :)


    ich werd das mal checken, sieht grad auf den ersten Blick nicht unbedingt wie die einfachste Lösung für das Problem aus, aber ich werde das auf jeden fall mal durcharbeiten.

    Danke für den Vorschlag :)


    okay so ähnlich habe ich das auch probiert. Nur sehe ich bei dieser Lösung ein Problem. Wenn cih nur ganze Zahlen nehme, dann könnte es passieren dass meine beiden Punkte so liegen, dass die Strecke die durch diese beiden Punkte verläuft sonst keinen Punkt dazwischen schneidet. Somit würde keine Strecke leuchten sondern nur diese beiden Punkte. Was mir fehlt ist einfach diese Annäherung an die naheliegenden Punkte, damit ich genau sagen kann welche LED leuchten muss. Mit Modulo (%) hast du Recht, da kommt der Rest einer Division raus ;). Und ich muss das mit C machen und nicht C++.... wenn das überhaupt zur Sache tut^^


    ich erkläre vielleicht mal wie ich das probeirt habe:
    Dies ist nur ein Ausschnitt, es wird natürlich auch mit den anderen Koordianten gerechnet (verläuft gleich). Und die Koordinaten (Ko.x , Ko.y , Ko.z) werden zwishcengespspeichert.


    Ko.x = PA.x + t* (PB.x - PA.x); // das ganze befindet sich in einer Schleife. t wird nach jedem Schritt um einen kleinen Wert erhöht. Somit laufe ich meine Strecke in keinen Schritten ab.
    Ko.y = PA.y + t* (PB.y - PA.y);
    Ko.z = PA.z + t* (PB.z - PA.z);



    a= Ko.x *10; // hier speicher ich zunäcsht den x-Wert multupliziert mit 10 in a. Damit ist die Stelle nach dem KOmma eine Ganzzahl.
    a= a % 10; // durch Modulo 10 bekomme ich die Nachkommastelle als Ganzzahl.


    Dies wird auch mit dem y und z Wert gemacht.



    if(a<3) // nun frage ich ab ob die Toleranz kleiner als 0.3 ist. ( Toleranz vom x-Wert)
    {


    Ko.x=((Ko.x*10)+5)/10; //hier Runde ich alle Werte und teile diese wieder durch 10, da ich diese vorher mit 10 multipliziert habe.
    Ko.y=((Ko.y*10)+5)/10;
    Ko.z=((Ko.z*10)+5)/10;
    vCubeled( Ko.x, Ko.y, Ko.z, 1 ); // dies ist eine fertige funktion um einzlene Leds anzusteuern.
    }



    Ich hoffe das war verständlich. :D

    oO also ich hätte nicht gedacht das ich so schnell eine Antort bekommen. :thumbup: 1000 dank.


    Also der Mathe Teil dürfte kein Problem darstellen. Zudem muss ich die gerade im Raum brechnen. Was bedeutet ich muss 3 Richtungen überprüfen. Ich habe es auch genau so versucht umzusetzen wie es hier beschirben wird, nur eben mit den 3 Koordinaten. Nur es klappt nicht. Ich Teste alle Koordianten durch und wenn sich auch nur eine in Reichweite befindet dann werden die Werte gerunden und die Led leuchtet. Also die Idee ist gut? Wenn ja dann liegt mein Fehler wohl bei der Umsetzung des Codes.....

    Tach!
    Also ich bin neu hier und hoffe das mir schnell geholfen werden kann.


    Ich arbeite an einem 8x8x8 LEDCUBE. Jetzt habe ich mit meinem Programm (natürlich in C) Probleme. Ich kann bereits gezielt einzelene LEDs ansteuern. Jetzt will ich eine Gerade, die durch 2 Punkte verläuft, darstellen. Diese Punkte befinden sich am äußeren Ende des Würfels und können anhand von Tasten bewegt werden, sodass sich auch diese Gerade bewegt. Jetzt wirds kompliziert^^.
    Meine Idee ist es diese Gerade zu berechnen und in einer Schleife, Schritt für Schritt, zu durchlaufen. Beid jedem Schritt berechne ich ob sich eine LED nah genug an meiner Geraden befindet. Wenn ja dann soll diese leuchten..... Naja ich wills zumindest berechnen^^. Hat jemand ne Idee wie ich das machen könnte? Wie stelle ich fest ob sich nun eine LED nah genug an der Geraden befindet?????


    Danke schonmal im vorraus. Hab natürlich schon einen Versuch gestartet und kann den Code posten....