Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

05.04.2006, 09:07

S.101 Beispiel 2 Matrizen/Vektoren

Hallo,

:)

also es geht um folgendes:

Zitat

schreiben sie ein programm,das eine matrix und beliebig viele vektoren aus einer textdatei eingabe.txt einliest. nach dem einlesen sollen alle vektoren mit der matrix transformiert werden (sie sollen als positionsvektoren betrachtet werden). die transformierten vektoren sollen in eine weitere textdatei namens ausgabe.txt geschrieben werden.


tjo das hab ich gemacht, aber irgendwie kommt mir vor krig ich falsche ergebnisse raus.
hier mal der code

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*  Matrizenbeispiel
 *  Version: 1.0
 *  Autor: Simon Klausner*/

#include <TriBase.h>
#include <fstream>

using namespace std;

//Hauptprogramm

//Vektoren und Matrizen aus einer Datei rauslesen

//Vektoren mit Matrix transformieren

//Transformierte Vektoren in Datei speichern


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR lpCmdLine, int nCmdShow)
{
    //Initialisierung der Engine

    if(tbInit())
    {
    }
    else
    {
    }
    //Erzeugen der Vektoren und der Matrix

    tbVector3 a (0.0f, 15.7f, 25.0f);
    tbWriteVector3ToLog(a);
    tbVector3 b (88.0f, 27.7f, 23.5f);
    tbWriteVector3ToLog(b);
    tbVector3 c (100.0f, -23.0f, -55.7f);
    tbWriteVector3ToLog(c);
    //Matrix

    tbMatrix m (2.0f,   0.0f,   0.0f,   0.0f,
                0.0f,   15.0f,  0.0f,   0.0f,
                0.0f,   0.0f,   -13.3f, 0.0f,
                0.0f,   0.0f,   0.0f,   2.3f);
    tbWriteMatrixToLog(m);

    ofstream Output ("Eingabe.txt", ios::binary);
    Output.write ((char*) &a, sizeof(a));
    Output.write ((char*) &a, sizeof(b));
    Output.write ((char*) &a, sizeof(c));
    Output.write ((char*) &a, sizeof(m));
    Output.close();

    //Vektoren und Matrix aus Datei entnehmen

    ifstream Input ("Eingabe.txt", ios::binary);
    Input.read ((char*) &a, sizeof(a));
    Input.read ((char*) &a, sizeof(b));
    Input.read ((char*) &a, sizeof(c));
    Input.read ((char*) &a, sizeof(m));
    Input.close();

    //Transformieren

    tbVector3 Transa = tbVector3TransformCoords (a, m);
    tbWriteVector3ToLog(Transa);
    tbVector3 Transb = tbVector3TransformCoords (b, m);
    tbWriteVector3ToLog(Transb);
    tbVector3 Transc = tbVector3TransformCoords (c, m);
    tbWriteVector3ToLog(Transc);

    //Ausgabe

    ofstream Output2 ("Ausgabe.txt", ios::binary);
    Output2.write ((char*) &Transa, sizeof(Transa));
    Output2.write ((char*) &Transb, sizeof(Transb));
    Output2.write ((char*) &Transc, sizeof(Transc));
    Output2.close();

    //Beenden

    tbExit();
    return 0;
}


logdatei zum ersten vektor ist z.b.

3D-Vektor: x = 0.000, y = 15.700, z = 25.000, Länge = 29.521

nach transformation:

3D-Vektor: x = 0.000, y = 102.391, z = -144.565, Länge = 177.153

müsste für die y koordinate nicht irgendwas um 200 herauskommen?

mfg

Anonymous

unregistriert

2

12.04.2006, 15:34

Re: S.101 Beispiel 2 Matrizen/Vektoren

Zitat von »"Draculark"«


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
    Output.write ((char*) &a, sizeof(a));
    Output.write ((char*) &a, sizeof(b));
    Output.write ((char*) &a, sizeof(c));
    Output.write ((char*) &a, sizeof(m));

    Input.read ((char*) &a, sizeof(a));
    Input.read ((char*) &a, sizeof(b));
    Input.read ((char*) &a, sizeof(c));
    Input.read ((char*) &a, sizeof(m));

Was fällt Dir hier auf???

3

12.04.2006, 17:13

Hat da jemand seine Künste im Kopieren verbessert ? :-D ^_^
Ich gebe bei der Arbeit immer 100%

6% Montags
30% Dienstags
35% Mittwochs
25% Donnerstag
4% Freitag

4

13.04.2006, 15:51

ach lol danke :)

kommt halt vom faul sein udn kopieren^^

omg =)

thx jedenfalls :D

Werbeanzeige