Facharbeit: Simulation Allgemein 

Status
Für weitere Antworten geschlossen.

Xbelt

Registered +
Registriert
März 2008
Beiträge
250
Hi,
ich bin mir recht sicher, dass ich in meiner Maturarbeit(Schweizer Version einer Facharbeit) eine Simulation basteln will.
Ich habe da so zum Beispiel an einen Schuss aus einem Luftgewehr in ein Pendel mit einer auslenkung gedacht. Das ganze soll dann auch grapisch(3d) dargestellt werden.
Weitere Vorschläge zu einer Simulation im physikalischen Bereich sind auch erwünscht^^
Nun zu meiner eigentlichen Frage:
Ist es möglich so eine Simulation in 1 Jahr zu erstellen. Wenn ja in welcher Programmiersprache bring ich das am einfachsten hin. Ich habe mir gedacht, dass ich alle berechnungen in C++ oder Matlab schreiben würde, da ich diese schon kann. (jedenfalls C++ nur nicht grapisch). nun mit welcher Programmiersprache sollte ich das graphische erstellen oder soll ich direkt alles in dieser Sprache dann schreiben.
Oder gibt es schon Programmiersprachen die auf 3d simulationen ausgelegt sind?
gruss

Lukas
Was haltet ihr vone einem Programm welches Fraktale berechnen kann und diese Graphisch darstellt?
 
Zuletzt bearbeitet von einem Moderator:
Ich weiß jetzt nicht wie gut Matlab grafisch darstellen kann, von daher würde ich dir raten C++ in verbindung mit einer Kostenlosen 3D-Engine wie Ogre3D (OGRE 3D : Open source graphics engine - Home) oder Irrlicht (Irrlicht Engine - A free open source 3d engine) zu verwenden. So hast du zwar eine gewisse einarbeitungszeit in die engine, aber die komplette Darstellung z.B. in DirectX zu schreiben würde mit sicherheit länger dauern.

Wenn dein Schwerpunkt nicht auf der mathematischen Berechnung liegen sollte könntest du zusätzlich eine Physik-Engine benutzen die eine realistische Berechnung des Verhaltens eines Pendels liefern kann.
 
ja danke schon mal ich werd mich mal in orge3d einarbeiten
Ich werd auch mal nach ner pghysik engine suchen

Ich hab noch ne neue FRage für Ogre. Ich habe jetzt mal das Beispielprojekt 1 aus den Tutorials rein kopiert und das Include verzeichniss angepasst.
Code:
#include "ExampleApplication.h"

class TutorialApplication : public ExampleApplication
{
protected:
public:
TutorialApplication()
{
}

~TutorialApplication() 
{
}
protected:
void createScene(void)
{
}
};

#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
#define WIN32_LEAN_AND_MEAN
#include "windows.h"

INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
#else
int main(int argc, char **argv)
#endif
{
// Create application object
TutorialApplication app;

try {
app.go();
} catch( Exception& e ) {
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 
MessageBox( NULL, e.what(), "An exception has occurred!", MB_OK | MB_ICONERROR | MB_TASKMODAL);
#else
fprintf(stderr, "An exception has occurred: %s\n",
e.what());
#endif
}

return 0;
}

nun wenn ich es ausführe kommt ein Fehler der auch bekannt ist auf der Website, dass man MessageBox duch MessageBoxA ersetzen soll. Wenn ich das mache gibt es noch viel mehr Fehler:


Hat da wer noch ne Idee?
Gruss

lukas
 
Zuletzt bearbeitet von einem Moderator:
Hi,
du könntest die Flugbahn eines Objektes berechnen (ballistische Kurve, etc) und dann grafisch darstellen.
Sonst gibt es noch die Möglichkeit einer Evakuierungsberechnungen nach Predtetschenski und Milinski.
Mehr fällt mir gerade nicht ein.

Schöne Grüße
2fast2cool
 
Es sieht so aus als ob du die Bibliotheken im linker nicht eingetragen hast. Deshalb kommen die ganzen linker fehler.

Wenn du das Visual Studio benutzt kannst du die optionen so anpassen:
- Projekteigenschaften öffnen (rechtslicke -> Properties auf das projekt)
-> Linker -> Unter General -> "Additional Library Directories" das Verzeichnis in dem sich die Ogre Lib dateien verbinden eintragen
-> Dann unter "Input" -> "Additional Dependences" -> "OgreMain.lib OIS.lib" eintragen (ohne ")

Das sollte die fehler beheben...
 
vielen dank zerd werd ich machen
Das mit der Flugbahn wäre auch noch eine gute Idee

habe jeztzt alle DLL aus dem bin ordner ins Projekt Verzeichniss kopiert
Jeztz kommt:
Eine Ausnahme (erste Chance) bei 0x7574f35f in Ogretest.exe: Microsoft C++-Ausnahme: std::bad_alloc an Speicherposition 0x003ff1fc..
Eine Ausnahme (erste Chance) bei 0x7574f35f in Ogretest.exe: Microsoft C++-Ausnahme: std::bad_alloc an Speicherposition 0x003feb70..
Eine Ausnahme (erste Chance) bei 0x7574f35f in Ogretest.exe: Microsoft C++-Ausnahme: [rethrow] an Speicherposition 0x00000000..
Unbehandelte Ausnahme bei 0x7574f35f in Ogretest.exe: Microsoft C++-Ausnahme: std::bad_alloc an Speicherposition 0x003feb70..
 
Zuletzt bearbeitet von einem Moderator:
Wann kommt der fehler? wenn du die exe startest?? Wenn ja schau mal ob im debug Verzeichnis eine log datei erstellt wird...
 
Ja also wenn ich auf den grünen Pfeil klicke(grad neben Debug)
Im BuildLog stehen keine Fehler also passiert dieser während das programm läuft
Gruss

Lukas

also der Fehler passiert da:
Code:
 mRoot = new Root(pluginsPath, 
mResourcePath + "ogre.cfg", mResourcePath + "Ogre.log");

Unbehandelte Ausnahme bei 0x7c812a5b in Ogre.exe: Microsoft C++-Ausnahme: std::bad_alloc an Speicherposition 0x0012f230..
 
Zuletzt bearbeitet von einem Moderator:
Du musst die Datei ogre.cfg und die Plugins.cfg auf in das Projektverzeichnis kopieren, ich vermute es liegt daran
 
plugins.cfg habe ich rein kopiert nur ogre.cfg gibts gar net...
 
Ich muss Eure C++-Diskussion mal kurz unterbrechen: Aber bei den Themen Simulation + Grafische Auswertung bietet sich MATLAB/Simulink geradezu an. Deine C++-Funktionen kannst Du als S-Functions in MATLAB einbinden. Simulink kannst Du zur Simulationsbeschreibung oder zur modellbasierten Entwicklung verwenden und die grafische Auswertung sind mit MATLAB oder der Toolbox Simulink möglich. Es wundert mich ein bißchen, dass du in die C++-Richtung abgedriftet bist, obwohl Du MATLAB kennst.
 
sorry hab länger nicht rein geschaut.
also das war so:
ich habe selbstständig vor langer Zeit mit dem Proggen angefangen und halt in c++
später hatten wir dann die basics von matlab in der schule und war halt nicht so spannend weils nicht über while und if hinauskam
mitlerweile beherrsche ich c++ einigermassen. somit wollte ich das natürlich auch weiterhin benutzen
Ach ja. die simulation läuft schon teilweise und vereinfacht. ih simuliere jetzt 3 Planeten und benutze ogre3d
ich möchte mich hier noch einmal ganz herzlich bei zerd bedanken der mir echt geholfen hat ogre zum laufen zu bringen.
Posted via Mobile Device
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten