Laden...

Forenbeiträge von Armitage Ingesamt 68 Beiträge

22.03.2007 - 18:23 Uhr

Hast recht (wie immer) aber versuchen musste ich es trotzdem.
Jetzt fällt mir allerdings nichts mehr ein wie man das lösen könnte dann muss ich mir wohl was anderes suchen an Beschäftigung mit C#.

MFG

14.03.2007 - 18:50 Uhr

Mal sehn ich hab so ne fixe Idee mal schaun was da rauskommt aber nicht sobald hab nen Heiden arbeit wie Brennholz, Steintreppe auf 30m länge, Scheune zu Ende ausbauen, 2 Häuser streichen usw... Unendlich fortsetzbar.

14.03.2007 - 07:27 Uhr

Gut, dann werd ich dran arbeiten euch nicht zu enttäuschen^^.
Für Gott und Vaterland^^

11.03.2007 - 23:52 Uhr

Ach das war eine idee zum Komprimieren ohne Verlust deswegen hab ich nach den 7 Bit gefragt. Wissenschaftlich wäre schön wenns so wäre aber da habe ich wohl keine Begabung für^^.

11.03.2007 - 00:05 Uhr

Gute Erklärung VizOne.

Rein Theoretisch wenn ich das wollte dann wären das natürlich rein Theoretisch mehrere Tbs an .avi, mkv, ogm, mpg.
Das ist natürlich nur rein Theoretisch und heisst nicht das es bei mir so ist.

MFG

10.03.2007 - 01:09 Uhr

Aus Mathematischen Gründen?

09.03.2007 - 22:53 Uhr

Also ich bin mir eigentlich sicher das die Frage unnötig ist aber ich frag mal zur Sicherheit^^.
Jedenfalls nachdem was ich weiss und alledem was ich so bisher gelesen habe an verschiedenen Kompressions Allgos.
So die eigentliche Frage^^:

Gibt es einen Allgo der fast unendlich Komprimiert ohne Verlust?
Das er zum beispiel mit 100 Gig startet und nach 10 durchläufen hat man 5 gig übrig oder sowas in der Art.
Und dann kann ich aus den 5 Gig wieder die 100Gig herstellen ohne Verlust von Daten.

Ich glaube nicht das es sowas gibt aber naja zur Sicherheit frag ich einfach mal Leute vom Fach.

MFG

09.03.2007 - 14:07 Uhr

Ich mag die 7Bit Methode dieser Art nicht daher hab ich sie gar nicht probiert.
Eine Funktion die auf häufigkeit prüft und das ganze dann packt hab ich gestern geschrieben aber das war mehr eine Spielerei das hat nicht viel gebracht.
Mein nächster Ansatz von dem ich erstmal nichts sagen möchte dürfte länger dauern der wird irgendwie schweinisch kompliziert^^.

09.03.2007 - 02:23 Uhr

Ich bin eigentlich ein Noob aber ich halte viel von dem Studium diese dinge über die Bug spricht sind genau die Dinge die mich Interresieren und die ich bevorzugt lerne.

FHs sollen ganz gut sein (hab ich so gehört)^^.

MFG

07.03.2007 - 13:03 Uhr

Im Normalen leben solltest du auf jedenfall eine Schnittstelle Implementieren.
"Normalo Mennsch" zu "Coder" und umgekehrt.
Damit dich auch jeder versteht^^.

Das mit den Schachteln ist nicht Bildlich zu nehmen es ist schwierig das auszudrücken deswegen hab ich es mal so Formuliert.

07.03.2007 - 00:28 Uhr

Mein Ideenreichtum beschreibe ich mal so.
Ich habe ganz viele Schachteln im Kopf und ständig kommen neue hinzu. Jede ist eine neue Interresante Technische Idee, Künstlerische oder etwas anderes. Und mein Leben ist viel zu kurz um alle Umzusetzen.

Also irgendwie denk ich grad dadrüber nach und frage mich ob das allen Menschen so geht oder ob wir da alle Unterschiedlich sind. Im Bereich Programmieren kann das auch nützlich sein^^
Wie ist das bei euch?

MFG

06.03.2007 - 23:45 Uhr

Original von herbivore
Hallo Armitage,

auf der Festplatte liegen so gesehen immer Bytes. Aber du kannst natürlich in diesem Bytes alles speichern, was du willst. Zum Beispiel so wie Bild im Angang.

herbivore

Hallo nochmal,

ich verstehe noch nicht ganz und für meine Weiteren überlegungen ist das schon wichtig. Wie das umsetzt was du da meinst.
Ich sehe du Ordnest dem Byte einfach ein Zeichen zu was 6Bit größe hat.
Und danach werden die Ergebnisse dicht nacheinander zusammengepackt.
Aber wie speichert man den dann solche "6bit Zeichen" dicht zusammengepackt und Speicherplatz sparend ab so das sie noch auseinander gehalten werden können.
Den irgendwo müssen sie ja gespeichert werden und Direkt gespeichert hätten sie 8 Bit größe.
Wenn ich sie in ein Array packe dann müsste ich sie ja irgendwie voneinander Trennen würde dann nicht die ganze Einsparung wieder verloren gehn?

06.03.2007 - 22:25 Uhr

Ja 8Bit weiss ich eigentlich auch warum ich da ebend mit 4 Gerechnet habe weiss ich auch nicht sorecht.
Also Speicherplatz ist mir nicht egal ich kann auch nach ein paar Monaten ein 2 TB System voll machen mein Bedarf ist hoch.
Aber genauer erläutern werd ich das nicht.

06.03.2007 - 22:11 Uhr

Ok, also dann wäre ein 15 Bit Datentyp immer noch eine 4 Byte darstellung auf der Festplatte und damit genauso groß wie ein 16 Bit Datentyp.

06.03.2007 - 22:04 Uhr

Also das mit dem Bit Feldern würde mich Interresieren.
Aber nach all den Erläuterungen verstehe ich es so.
Das ich zwar mit den Bitfeldern einen 15Bit Datentyp Künstlich Erzeugen kann.
Auf der festplatte aber wird dann ein 16Bit Datentyp liegen, korrekt?

06.03.2007 - 20:50 Uhr

Muss ich mal drüber nachdenken ob sich das gebrauchen lässt.

06.03.2007 - 20:31 Uhr

Also ob die Cpu nun größere benutzt ist mir egal.
Mir geht es nur um den Speicherbedarf und wenn ich 12 ansatt 16 auf der Festplatte speichern könnte wäre mir das sehr recht.

06.03.2007 - 20:01 Uhr

Gefällt mir zwar nicht aber muss ich wohl mit leben.
Danke für die Erklärungen.

06.03.2007 - 19:36 Uhr

Kann mir mal jemand erklären warum ein 7Bit Typ niemals kleiner sein kann als ein 8Bit Type?

06.03.2007 - 01:24 Uhr

Hallo,

ich find leider nichts passendes in der Suche und bei Google.

Wie kann ich einen eigenen Datentyp als Struktur Erstellen so wie Int oder Byte es ist.

Ein beispiel.

Ein byte hat 8 Bit und kann 0-255 Darstellen.
Wie kann ich nun meinen eigenen MiniByte Datentyp erstellen der 0-127 Darstellen kann und eine größe von 7 Bit hat.

Danke fürs Lesen (und antworten^^)

05.03.2007 - 17:41 Uhr

1 <-- Wenn ich wüsste was Add-in ist.
2. <-- Herbivore
5. <-- Herbivore

05.03.2007 - 01:34 Uhr

Also ich hab letztens was gebraucht und das hier überprüft immer ob die Zahl schon vorhanden ist und wenn ja Generiert es eine neue und überprüft es wieder. "TextDatei c_textdatei = new TextDatei();" Hab ich aus Google die Klasse.
Ist ziehmlich Chaotisch geschrieben^^ habs ja nur einmal gebraucht.


using System;
using System.Collections.Generic;
using System.Text;

namespace Baum
{
    class Class1
    {
        public byte[] ByteArrayErstellen()
        {


            byte[] die256Varianten = new byte[256];
            Random ran = new Random();
            for (int i = 0; i < 255; i++)
            {

                die256Varianten[i] = ByteArrayErstellen2(die256Varianten, ran);
            }


            string s = "byte[] die256Varianten15 = {";
            for (int i = 0; i < 256; i++)
            {
                s = s + Convert.ToString(die256Varianten[i]);
                s = s + ", ";
            }
            TextDatei c_textdatei = new TextDatei();
            c_textdatei.WriteFile(@"C:\Dokumente und Einstellungen\Armitage\Desktop\C#\Webcast-Demos\Baum\Textdokument.txt", s);
            return die256Varianten;
        }

        public byte ByteArrayErstellen2(byte[] die256Varianten, Random ran)
        {
            byte sb = 0;
            do
            {

                int aa;
                aa = ran.Next(0, 256);
                byte ss = 0;
                for (int i = 0; i < 256; i++)
                {
                    byte acd = die256Varianten[i];
                    if (acd == aa)
                    {
                        ss++;
                    }

                }
                if (ss == 0)
                {
                    sb = Convert.ToByte(aa);
                }
                ss = 0;

            } while (sb == 0);


            return sb;

        }
    }
}

05.03.2007 - 01:20 Uhr


            stützVektorVX = a - x;
            stützVektorVY = b - y;
            stützVektorUX = ziela - zielx;
            stützVektorUY = zielb - ziely;
                                 
            double D = stützVektorUY * stützVektorVX - stützVektorUX * stützVektorVY;      
            double Ds = (y - ziely) * stützVektorVX - (x - zielx) * stützVektorVY;
            double s = Ds / D;

            if (s < 0.0f || s > 1.0f)
            {            
                return false;
            }      
            
            double Dt = (y - ziely) * stützVektorUX - (x - zielx) * stützVektorUY;            
            double t = Dt / D;
            
            if (t < 0.0f || t > 1.0f)
            {            
                return false;                
            }               
            return true;

03.03.2007 - 00:21 Uhr

Ich danke euch allen.

Mein Vorläufiger Code der nach Test mit der Zigarettenschachtel auf der Abbildung eines Koordinaten systems auf einer Homepage die richtigen Schnittpunkte zurückgibt.

Was haltet ihr davon?


            double m1 = (startb - starty) / (starta - startx);
            double m2 = (zielb - ziely) / (ziela - zielx);

            double b1 = starty - startx * m1;
            double b2 = ziely - zielx * m2;

            
            if (m1 == m2 && b1 != b2)
                // Kein Schnittpunkt
                return false;

            double xs = (b1 - b2) / (m2 - m1);
            double ys = m1 * xs + b1;

            return true;
           

02.03.2007 - 15:46 Uhr

Mir macht das Spaß ich freu mich jedesmal wenn ich irgendein Problem gelöst habe.

Ja, nur muss man die Formeln verstehen^^

02.03.2007 - 15:39 Uhr

Ich hab zwar Realschulabschluss aber das war erstens eine Spezielle Form.
Zweitens hatte ich ne 4 auf dem Abschlusszeugnis in Mathe.
Und Drittens haben wir sowas wie Vektorberechnung nie behandelt.

Aber wenn du mir die formel in C# erstellen möchtest werde ich dich nicht aufhalten^^

02.03.2007 - 15:12 Uhr

Hallo,

Ich frage mich ob es eine fertige Klasse zur Schnittpunkt Berechnung von Strecken gibt die man benutzen kann?

Ich hab bei MSDN und Google gesucht aber bisher nur einen Verweis auf eine Java Klasse gefunden. Und wenns das bei Java gibt dann vieleicht ja auch bei C#.
Wäre toll wenn es das schon gäbe.

MFG

27.02.2007 - 14:55 Uhr

Danke das Funktioniert.

27.02.2007 - 14:34 Uhr

Hallo,

ich finde leider keine Befehle und mir fällt auch grad nix ein wie man das machen könnte vieleicht weiss ja einer ne Lösung.

Ich hab 15 Arrays desselben Typs(byte[]) und will den kompletten Inhalt aller 15 Arrays in ein anderes Array kopieren das vom selben Typ ist.
Also von jedem Array von Index 0 bis zum letzten Index in das andere Array.

MFG

26.02.2007 - 17:27 Uhr

Also das erstellen habe ich ganz einfach gemacht mit einem Array von 14 Dimensionen und 7 For schleifen.
Es gibt bestimmt bessere Lösungen aber naja erstmal brauch ich mehr Erfahrung dann mache ich später ne bessere Lösung.

So muss ich keine 2 Objekte zurück geben und nur das Array das ist mir lieber.


public Array OberArraysErstellen()
        {
            int tempx4096 = 0;
            int tempa4096 = 4096;

            int tempx1024 = 0;
            int tempa1024 = 1024;

            int tempx256 = 0;
            int tempa256 = 256;

            int tempx64 = 0;
            int tempa64 = 64;

            int tempx16 = 0;
            int tempa16 = 16;

            int tempx4 = 0;
            int tempa4 = 4;


            int[,] ObereSeite = new int[16384, 14];

            int a = 0;
            for (int i = 0; i < 16384; i++)
            {
                ObereSeite[i, 0] = i;
                ObereSeite[i, 1] = ++a;
            }

            for (int i = 0; i < 4; i++)
            {
                ObereSeite[i, 12] = tempx4096;
                ObereSeite[i, 13] = tempa4096;
                tempx4096 = tempa4096;
                tempa4096 = tempa4096 + 4096;
            }

            for (int i = 0; i < 16; i++)
            {
                ObereSeite[i, 10] = tempx1024;
                ObereSeite[i, 11] = tempa1024;
                tempx1024 = tempa1024;
                tempa1024 = tempa1024 + 1024;
            }

            for (int i = 0; i < 64; i++)
            {
                ObereSeite[i, 8] = tempx256;
                ObereSeite[i, 9] = tempa256;
                tempx256 = tempa256;
                tempa256 = tempa256 + 256;
            }

            for (int i = 0; i < 256; i++)
            {
                ObereSeite[i, 6] = tempx64;
                ObereSeite[i, 7] = tempa64;
                tempx64 = tempa64;
                tempa64 = tempa64 + 64;
            }

            for (int i = 0; i < 1024; i++)
            {
                ObereSeite[i, 4] = tempx16;
                ObereSeite[i, 5] = tempa16;
                tempx16 = tempa16;
                tempa16 = tempa16 + 16;
            }

            for (int i = 0; i < 4096; i++)
            {
                ObereSeite[i, 2] = tempx4;
                ObereSeite[i, 3] = tempa4;
                tempx4 = tempa4;
                tempa4 = tempa4 + 4;
            }
         
            return ObereSeite;

25.02.2007 - 01:33 Uhr

Hey, ich hab mich mit dem Tuto beschäftigt und kann meine Frage jetzt hoffentlich Ausreichend erklären.

Also ich möchte Binär Dateien und es sind ja alle Dateien Binärdateien.
Die Unterscheidung zwischen Text und Binärdatei ist eigentlich künstlich.

Nun möchte ich eine Datei einlesen und pro Zeile ein Byte schreiben von 8Bit inhalt in ein Array.
Die sollen dort als String gespeichert werden in der Binär Darstellung oder in der Dezimal Darstellung. Allerdings sollen sie immer 0-255 haben.
Ich hab mir die
http://msdn.microsoft.com/library/deu/default.asp?url=/library/DEU/cpref/html/frlrfSystemIOBinaryReaderClassctorTopic.asp

Klasse angeschaut und in dem Konstruktor muss man eine Codierung angeben oder es wird standard mässig in UTF8 Codiert.
Nachdem was ich so gelesen habe ist aber UTF8 auf Text Dateien Optimiert das scheint sich nicht zu eignen.

Ich möchte also Dateien in das Byte Array Einlesen und diese danach aus dem Byte Array heraus in eine Datei schreiben. Und damit eine 1-1 Kopie erstellen.
Möchte aber das ich immer in Binär oder in Dezimal die Bytes in 0-255 Codiert gespeichert habe.

Muss ich dafür jetzt eine eigene Codierung schreiben oder gibts da andere Lösungen? Sorry falls ich nen Totalen Ansatzfehler bin noch zu Unerfahren.

MFG

22.02.2007 - 14:25 Uhr

Ok und Danke.

Ich glaube auch nicht das du 1337 bist aber ein Crack biste.
(Ich hoffe ich bin mal genauso Cracki in C# wie du^^)
Edit:
Die Definition von Nerd die ich kenne ist so.
Vieleicht ist sie aber auch falsch oder hat sich geändert.
Edit:
Schmeicheln(schleimen) kann ich nicht aber ich werde mich jetzt krampfhaft dazu zwingen es in Crack zu ändern.

22.02.2007 - 14:18 Uhr

Ok, die klasse hab ich mir gestern mal angeschaut aber ich verstehe nicht ganz.
Weil was ich sehe ist string, Korrekt?. Was ich nicht sehe ist binäre Darstellung im PC. Aber was ich nicht sehe das verstehe ich nicht.

So ungefähr sehe ich das oder auch nicht bin Konfus.

MFG

22.02.2007 - 14:12 Uhr

Ok meine Frage war schon reichlich blöd ich weiss..

Nächste blöde Frage.

Wenn ich einen Byte Wert einlesen, bearbeiten und dann schreiben will.
Kann ich das dann ohne die Darstellung als String und wie?

MFG

22.02.2007 - 13:08 Uhr

ne vollkommen richtig.

Danke

Achja noch ne kleine Frage.

Also ich weiss es gibt die Codierung von Bytes mit 0-255
und es gibt -127 - +127

Wie sind den jetzt die Dateien auf der Festplatte Codiert?

22.02.2007 - 11:47 Uhr

Ich hätte eine Frage zu dem Thema.

Wenn ich in einer Datei auslese und in ein Byte Array speichern würde.
In welchem Zustand könnte ich dann auf die Bytes zugreifen als Hex oder in Binärschreibweise?
Ich suche jedenfalls einen weg die Bytes zu bearbeiten ohne unnötige umwandlungen.

MFG

22.02.2007 - 11:42 Uhr

Bestimmt, aber inzwischen habe ich ne fertige Variante erstellt die funktioniert beim erstellen. Jetzt muss ich nur noch Suche und Kollisionsberechnung einbauen.
Danke für eure Mühe.

21.02.2007 - 09:15 Uhr

Ne das funktioniert deswegen nicht weil meine ganze Konstruktion Müll ist.
Ich mach lieber einen neuen Versuch und schaue obs klappt.

MFG

21.02.2007 - 08:57 Uhr

Danke aber das funktioniert beides nicht also wieder ein Kläglicher Versuch den ich wegschmeissen kann ich Ramm den Schädel bald in den Monitor.

21.02.2007 - 08:34 Uhr

Hey,

gibt es eine möglichkeit das ich 2 Objekte in einer Return Anweisung zurückgeben kann?
Die beiden will ich zurückgeben.

return this.leftChild, this.rightChild;

MFG

20.02.2007 - 12:14 Uhr

Danke, funktioniert aber leider nicht oder ich krieg es einfach nicht hin.

Ich arbeite gerade an einer Lösung mit einer Treeview und hätte ne Frage.

Ist es möglich die gesamte Struktur zu durchlaufen und eine Liste mit den letzten Struktur Knoten zu erhalten.

Oder gibt es eine möglichkeit das eine Operation an allen StrukturKnoten durchgeführt wird die keine Untergeordneten Struktur Knoten haben?

Oder wäre es möglich das man eine Operation immer nur in einer bestimmten Baum Höhe durchführt der letzten Ebene der Struktur Knoten.

Edit: Ich möchte eine Liste mit allen Knoten die Blätter sind.

MFG und vielen Dank für jede Hilfe

17.02.2007 - 05:51 Uhr

Ich habe gedacht mein Nachbar wird sich aufhängen und dann hing er.
Dritter Nachbar mit Selbstmord. Meine Oma hat früher Karten Gelegt hat den Leuten aber nicht das Ergebnis gesagt weil da Selbstmord rauskamm.
Nachdem 3 leute sich umbrachten denen sie die Karten gelegt hatte und die dieses Ergebnis hatten hat sie es sein gelassen.

Ich hatte den Effekt der Zeitlupe und eines Raketenstarts.
Erst brach man mir die Nase mit nem Faustschlag ich bücke mich und mir läuft das Blut heraus.
Und von unten kommt ein Fuss mit Vollspann.
Danach gabs den Beschleunigungs Raketen Effekt und Zeitlupe.

Zeitlupen Effekt hatte ich auch bei nem Motorrad Unfall.

Komisch waren auch meine Fieberwahn anfälle wo ich mich Stundenlang im Bad in der Ecke versteckt habe weil ich überall Monster gesehn habe.
Oder ich fahre im Auto durch den Wald und denke "Wir müssen aufpassen hier könnten Hoverbomber sein" zuviel Online Rollenspiel gezockt.

Früher wohnte ich im 5ten Stock direkt am See.
Nachts um 1 ging ich auf den Balkon und über dem See war etwas über meiner Höhe. Eine Wolkenformation wie ein Hurrican die sich drehte und ein Auge hatte.
Im Mondlicht war das wirklich komisch.

17.02.2007 - 05:39 Uhr

Ich hab es aus Blödheit geschafft in der Wasserrutsche so langsam zu sein das die hinter mir mich gerammt haben. Ich flog in der Kurve gegen die Wand und brach mir die Nase. War der zweite von 3 nasenbrüchen.

Dann hab ich schon mehr als 10 Bänderanrisse und Überdehnungen die meisten aus blödheit.

Einmal war ich so blöd Barfuss zu Klettern hab mir den Halben Fuss durchgeschnitten.

Dann war ich mal ziehmlich Sauer und Genervt wollte wenden aber fand einfach nichts.
War nachts und wollte dann einfach auf der Straße Wenden.
Haben dann 2 Autos nicht überlebt und das 2 Wochen nachdem ich den Führerschein hatte. Und 3 Tage vor einem Umzug ins Ausland(hat aber geklappt).

Ich kann Seiten an Blödheit schreiben ich habe ein Talent dafür.^^

17.02.2007 - 05:15 Uhr

Am anfang des Threads wurde ja über Killerspiele gesprochen und viele scheinen auch der Meinung zu sein das Medium Internet sei Böse oder so.

Die Leute sollten mal in die Geschichte schauen.

Es gab vor ein paar Hundert Jahren ich hab da mal was gelesen Gruppen die der Meinung waren das Büchen verboten werden müssen da die Bücher zu mehr Selbstmorden führen.

Mit den neuen Medien ist das immer so das sie der Ideale Sündenbock sind für verschiedene Probleme.

Ist dasselbe wie mit dem Standard Spruch der älteren Generation die sagt das die Jugend heutzutage total kaputt ist.
Das haben schon die Priester der Pharaonen vor 3000 Jahren niedergeschrieben.
Und noch heute wird genau dasselbe gesagt.

Menschen sind wirklich blöd.

17.02.2007 - 05:07 Uhr

Es gibt einen Anime Namens Armitage und manche Leute meinen bei meinem Lebenslauf würde diese Person gut zu mir passen.

Ist zwar ein Weiblicher Name aber mir sind Frauen Namen eh lieber.

17.02.2007 - 04:55 Uhr

Danke für die Hilfe ich hab es mal getestet und dadran rumgebastelt nur lässt es sich nicht starten weil da nen Fehler ist den ich nicht ausgemerzt kriege.
In der Zeile wo _nodes[0] initialisiert wird kommt immer.

Der Index lag außerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein.
Parametername: index

Das krieg ich nicht korrigiert.
Und die Berechnung in der Parameter Übergabe ist falsch wie es aussieht.
In Nodes 0 wären es bei Initialisierung mit 0 und 12.
lower = 0 und Upper gleich 6. Das wäre korrekt.
In Nodes 1 wären es lower = 7 und Upper gleich 12 das wäre falsch.
Aber das kann ich lösen denke ich.

Weiss jemand vieleicht wie ich diesen Fehler in der _nodes[0] Zeile Korrigieren kann?


public class BinaryTreeNode
{
                                  _nodes[0] = new BinaryTreeNode(lower, lower + (upper-lower) /2, nodeValue);
                        _nodes[1] = new BinaryTreeNode(lower + (upper-lower) / 2 + 1, upper, nodeValue);
  }

16.02.2007 - 10:45 Uhr

Meine Bild der Beschreibung des Baumes von oben.

....................................|-------|......<----- Felder int x, y, a, b
....................................|Wurzel................x = 0, y = 200, a = 1024, b = 200
....................................|-------|
Felder int x, y................ /......... \
......a, b....................... /............\
......|x = 0, y = 200....../............... \
......|a = 512, b = 200 /..................\
......|......................../.................... \
......--->......|-----------|....................|-------------|....<----- Felder int x, y, a, b
..................|Kind Linksl....................|Kind Rechts|............x = 512, y = 200
..................|-----------|....................|-------------|............a = 1024, b = 200
................./...................................../..............\
................/.................................... /................\
............../....................................../...................\
............./....................................../.....................\
............?...................?.....................?.......................?
............Geht Solange bis.............int a - int x = 1 ergibt..
............Diese letzten Knoten wo a - x = 1 ergibt sind die Blätter

Mein Wunschbaum aber der scheint noch viel schwerer zu sein.
Wäre ein Baum wo jeweils 4 Knoten von der Wurzel und jedem Knoten abgehn.

16.02.2007 - 06:04 Uhr

Hey ho,

Ich hab naja ein Problem hab auch was geschrieben nur bin ich mir sicher das es vollkommener Quatsch ist.
Ich möchte einen Binär Baum haben und die Bedingungen versuche ich mal irgendwie auszudrücken.

Man habe x, a

Wen x = 0 und a gleich 1024.

Dann möchte ich das dass erste Kind x = 0, a = 512 und das zweite Kind x = 512, a = 1024 hat.

Diese Beiden Kinder haben selbst auch wieder Kinder.
Das erste Kind des Ersten Kindes hat x = 0, a = 256 und das zweite Kind des Ersten Kindes hat x = 256, a = 512.

Das erste Kind des Zweiten Kindes hat x = 512, a = 786 und das Zweite Kind des Zweiten Kindes hat x = 786, a = 1024.

Und so setzt sich das immer weiter fort bis irgendwann a - x gleich 1 ergibt.
Bekomme das nur nicht so gut hin^^

Naja habe mal eine meiner Ausprobier Varianten ich hoffe jemand kann mir helfen dabei.


   public void insert(ulong x, ulong y, ulong a, ulong b)
        {
            ulong tempx = x;
            ulong tempa = a;

            for (ulong i = 1; i <= 10; i++)
            {                    
                    ulong tempxx;
                    ulong tempaa;

                    tempx = tempx / 2;
                    tempa = tempa / 2;
                    
                    

                    this.leftChild = new Node(tempx, y, tempa, b, value);

                    tempxx = tempa;
                    tempaa = tempxx * 2;
                    
                    

                    this.rightChild = new Node(tempxx, y, tempaa, b, value);
                    
            }
        }

Das ganze ist dafür da eine Kollisions Überprüfung zwischen einer Geraden und einem Objekt zu haben.
Jede Kante eines Objekts ist ein Baum und dann wird gesucht ob eine Gerade in einem Wald irgendwo sich schneidet.

Wenn sie sich nicht schneidet kriegt man das leicht raus weil man nur immer die Felder der Wurzeln zu überprüfen hat.

Ist die einige Möglichkeit die mir bisher eingefallen ist wie man sowas machen kann vieleicht gibts da ja noch andere möglichkeiten..

MFG

29.01.2007 - 00:05 Uhr

Ich werds einfach Testen und schaun was rauskommt.
Dann zeichne ich es mir auf und schau ob es stimmt

28.01.2007 - 06:24 Uhr

danke

Also die Initialisierung kapier ich damit schonmal aber was ist hiermit.

if(pHit) *pHit = p + s * u;

Zum beispiel weiss ich net warum phit in () steht.
Wenn ich sowas in C# versuche mag er das nicht.
Dieses "*" in der Formel soll wohl "mal" bedeuten.
Aber in C# kann man wenn ich mich recht erinner nur Wahr oder Unwahr in ner IF leife haben und so sieht das irgendwie nicht aus.