Simulation

Präsentation und Organisation von eigenen Projekten
Antworten
LadyBird
Beiträge: 24
Registriert: So Jul 31, 2011 8:12 pm

Simulation

Beitrag von LadyBird » Di Jan 24, 2012 8:48 pm

Hallo!
Ich wurde angesprochen, ob ich an einem Jugend forscht Wettbewerb teilnehmen möchte. Auf die Frage, ob auch ein Informatik-Projekt möglich sei, habe ich den Vorschlag bekommen, eine Simulation zu schreiben, bei der es um Walflossen und Luftwiederstand, also physikalische Themen geht. Dafür habe ich ca. 2 Jahre Zeit.

Wie schwer ist es (von der Programmierung her) eine solche Simulation zu schreiben? Ist das für einen Anfänger, der nur Grundlagen beherrscht, überhaupt möglich sich in dieser Zeit genug Wissen anzueignen? Hat jemand mit derartigen Projekten schon Erfahrungen gemacht?
Die Physik kann erst mal außer Acht gelassen werden.
Es geht erst einmal nur darum, ob ich das Angebot annehmen soll. Ab Sommer würde das als Seminarfach weiterlaufen, aber es müsste schon viel Zeit und Mühe investiert werden.

Schöne Grüße.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Simulation

Beitrag von cloidnerux » Di Jan 24, 2012 9:12 pm

Wie schwer ist es (von der Programmierung her) eine solche Simulation zu schreiben? Ist das für einen Anfänger, der nur Grundlagen beherrscht, überhaupt möglich sich in dieser Zeit genug Wissen anzueignen?
Genug Wissen sicherlich, dafür musst du dich aber ganz schön reinhängen, da Programmieren nicht so einfach zu erlernen ist.
Es geht erst einmal nur darum, ob ich das Angebot annehmen soll. Ab Sommer würde das als Seminarfach weiterlaufen, aber es müsste schon viel Zeit und Mühe investiert werden.
Die andere Frage ist, was das Simulationsprogramm machen soll, bzw wie es präsentiert werden soll.
Strömungsberechnungen erfordern sehr viel 3D Berechnung und ein hohes Verständnis von Flüssigkeits und Gasdynamik.

Daher, wenn du bereit bist die Zeit zu Opfern kannst du sicherlich schon einen beachtlichen Teil schaffen, aber einfach wird es nicht.

MfG cloidnerux.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8861
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Simulation

Beitrag von Xin » Di Jan 24, 2012 9:45 pm

LadyBird hat geschrieben:habe ich den Vorschlag bekommen, eine Simulation zu schreiben, bei der es um Walflossen und Luftwiederstand, also physikalische Themen geht. Dafür habe ich ca. 2 Jahre Zeit.
Ich brauche je nach geistigen Fähigkeiten des Schülers etwa 50-100 Zeitstunden im Einzelunterricht, um ihn in C++ von Null auf Hundert zu pushen, inkl. Grundlagen von Softwarearchitektur und das Wissen abzusichern.
Anschließend fehlen allerdings die eigenen Erfahrungswerte. Es gibt tolle Metriken, um Software zu bewerten und einzuschätzen, aber am Schluss ist es doch das Bauchgefühl, dass Dir sagt, was geht und was nicht.

Das ist der Aufwand, um unter qualifizierter Leitung C++ zu lernen.
Ohne jemanden, der Dir die richtigen Fragen stellt, um die richtigen Gedankenabläufe zu entwickeln, dauert das entsprechend länger. Wenn ich Dich fragte 'Was passiert, wenn Du es so machst?' kann man das in 15 Minuten ausdiskutieren, wenn niemand daneben sitzt, kannst Du das programmieren und dann nach ein paar Wochen erkennen, warum das keine gute Idee war.

Ich bringe den Leuten bei, wie sie falsch programmieren - nicht, wie sie richtig programmieren.
LadyBird hat geschrieben:Wie schwer ist es (von der Programmierung her) eine solche Simulation zu schreiben? Ist das für einen Anfänger, der nur Grundlagen beherrscht, überhaupt möglich sich in dieser Zeit genug Wissen anzueignen? Hat jemand mit derartigen Projekten schon Erfahrungen gemacht?
Ich habe noch keine Simulation dieser Art geschrieben. Ich kann Dir allerdings auch sagen, dass ich noch nie ein Programm geschrieben habe, bevor ich es geschrieben habe. ^^ Würde man laufend das gleiche schreiben, wär's ja langweilig.

Wenn Du weißt, was Du nicht machen kannst, kannst Du aus dem Rest eine Lösung entwickeln.
LadyBird hat geschrieben:Die Physik kann erst mal außer Acht gelassen werden.
Damit solltest Du Dich grundlegend aber schon beschäftigen, denn sie wird den Architektur des Programms diktieren.
LadyBird hat geschrieben:Es geht erst einmal nur darum, ob ich das Angebot annehmen soll. Ab Sommer würde das als Seminarfach weiterlaufen, aber es müsste schon viel Zeit und Mühe investiert werden.
Wenn ich schreibe, dass es zwischen 50-100 Zeitstunden dauert, dann sind das 2-4 Tage. Das klingt wenig. Dazu kommt Essen, Schlafen, Leben, Schule, Freizeit und nochmal Schlafen. Der Mensch lernt im Schlaf. Einfach eine Woche Auszeit nehmen und durchziehen geht nicht, vor allem nicht alleine.
Dafür ist das Forum da, um Rückfragen stellen zu können.

C++ lernen und die ganzen Gedanken, die dahinter stehen alleine verstehen ist sehr aufwendig. In C++ hat man sich wirklich sehr viele Gedanken gemacht, die man nachvollziehen kann.

Du willst eine Simulation schreiben. Stroustup, der Erfinder von C++, ebenfalls. Er tat das in Simula, erkannte jedoch, dass die Simulationen zu langsam waren. Somit baute er Simulakonstrukte in C nach. Daraus entstand C++.
Du benötigst vermutlich nur Teile von C++.

Ich würde mir die physikalischen Gegebenheiten des Problems ansehen, die Du simulieren sollst und Dir überlegen, wie Du die Daten im Computer repräsentieren möchtest.

Wenn Du in der Physik kein Problem siehst und der Meinung bist, dass Du auch im Abitur genug Freizeit für solche Projekte aufwenden willst, dann kann man bei einem Gymnasiasten, der Programmieren lernen will, wohl durchaus etwas geht. Du schreibst aber auch, dass Du eigentlich noch nichts kannst. Ob Dir mittendrin der Spaß vergeht, kann ich nicht beurteilen. 16 Jahre, das Projekt läuft also bis Du 18 oder 19 bist. Führerschein, Freundin, Party...?
Ob Du die Geduld besitzt am Produktiv-Code - der Simulation - nur dann zu arbeiten, wenn Du Dir durch entsprechende Testprogramme das notwendige Verständnis erarbeitet hast, kann ich auch nicht sagen, dafür kenne ich Deine Persönlichkeit noch zu wenig.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

LadyBird
Beiträge: 24
Registriert: So Jul 31, 2011 8:12 pm

Re: Simulation

Beitrag von LadyBird » Mi Jan 25, 2012 4:44 pm

Im Moment geht es erst mal darum, ob ich es überhaupt versuchen soll. Der Lehrer wäre zwar sehr bereit mir zu helfen und hat schon mit allen möglichen Leuten (Professor; Schwiegersohn, der in diesem Bereich arbeitet) gesprochen. Nur bin ich leider nicht so überzeugt wie er. Aber wirklich viel verlieren kann ich nicht, außer eine ganze Menge Zeit.

Wenn ich etwas anfange, halte ich in der Regel zumindest einige Jahre durch. Da das als Schulfach weiterläuft, habe ich keine Wahl.
Ich denke von den schulischen Leistungen her sollte das auch kein Problem sein. Meine Noten sind ziemlich gut, obwohl ich abgesehen von Hausaufgaben kaum lerne.
Meine Hauptsorge liegt in den Punkt, dass ich das einfach von den Fähigkeiten nicht schaffe und die Freizeit zu kurz kommt.
Insgesamt denke ich jedoch, dass es einen Versuch wert ist.
Vielen Dank für die vielen netten Infos, so konnte ich mir ein Bild verschaffen, was auf mich zukommt. Das ist sehr hilfreich.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8861
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Simulation

Beitrag von Xin » Mi Jan 25, 2012 5:28 pm

LadyBird hat geschrieben:Aber wirklich viel verlieren kann ich nicht, außer eine ganze Menge Zeit.
Dann stell Dir die Frage, ob Du bereit bist eine ganze Menge Zeit in so ein Projekt zu investieren.

Solltest Du es nicht schaffen, hast Du sicherlich einiges zum Thema Programmierung und Physik gelernt.
LadyBird hat geschrieben:Wenn ich etwas anfange, halte ich in der Regel zumindest einige Jahre durch. Da das als Schulfach weiterläuft, habe ich keine Wahl.
Ich denke von den schulischen Leistungen her sollte das auch kein Problem sein. Meine Noten sind ziemlich gut, obwohl ich abgesehen von Hausaufgaben kaum lerne.
Meine Hauptsorge liegt in den Punkt, dass ich das einfach von den Fähigkeiten nicht schaffe und die Freizeit zu kurz kommt.
Dir steht frei über Deine Softwarearchitektur hier zu diskutieren. Ich selbst bin Informatiker und kann so vielleicht die passenden Fragen stellen, die Du Dir stellen solltest.

Wenn Du ernsthaft programmieren lernen möchtest, dann wird das definitiv Auswirkungen auf Deine Freizeitgestaltung haben - egal ob Du "nur" lernst oder ein Ziel verfolgst. Ein Ziel kann aber hilfreich beim Lernen sein.
Wenn Deine Noten im Gym ohne Anstrengungen gut sind, dann sind deine geistigen Fähigkeiten wohl vermutilch als mehr als "ausreichend", um Dich mit der Programmierung zu beschäftigen.

Die Sache reduziert sich also auf ein zeitorganisatorisches Problem und Deine Akzeptanz auch dann schonmal am Computer zu sitzen, wenn Du auch auf der Couch, im Kino, auf der Party wärst. Daraus zu schließen, dass Du die nächsten zwei Jahre niemals auf die Couch, ins Kino oder auf eine Party kommst, halte ich allerdings auch für falsch.

Wenn Du es willst, dann probiere es.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

LadyBird
Beiträge: 24
Registriert: So Jul 31, 2011 8:12 pm

Re: Simulation

Beitrag von LadyBird » So Okt 14, 2012 10:05 am

Ich grabe hier alles nochmal wieder aus:

Mittlerweile habe ich mich dafür entschieden, es zu versuchen und fünf Bücher zur numerischen Strömungmechanik zuhause liegen. Es geht im groben darum, die Luftströmungen um eine Halle zu simulieren.

Mit C komme ich schon ganz gut klar und ich habe vor, das auch noch auf C++ zu erweitern.
Was brauche ich ansonsten für Grundlagenwissen? Zumindest ungefähr? Irgendwie sollen die Daten auch visualisiert werden, ob 2- oder 3-dimensional steht noch nicht fest, jedoch werde ich zur Vereinfachung des Problems wahrscheinlich vorerst bei 2D bleiben.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Simulation

Beitrag von cloidnerux » So Okt 14, 2012 11:14 am

Was brauche ich ansonsten für Grundlagenwissen? Zumindest ungefähr? Irgendwie sollen die Daten auch visualisiert werden, ob 2- oder 3-dimensional steht noch nicht fest, jedoch werde ich zur Vereinfachung des Problems wahrscheinlich vorerst bei 2D bleiben.
Bei deinem Problem wäre Parallelisierung sehr nützlich, damit auch entsprechende Datenbehälter. Für die Visualisierung gibt es viele Frameworks, 2D kann man mit entweder mit einem Framework wie QT realisieren, aber auch mit OpenGL und was weiß ich nicht alles. Nur wenn das Live werden soll, könnte es etwas mehr rechen last benötigen.

Ansonsten wünsche ich dir viel Spaß bei deinem Projekt.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8861
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Simulation

Beitrag von Xin » So Okt 14, 2012 11:22 am

LadyBird hat geschrieben:Mit C komme ich schon ganz gut klar und ich habe vor, das auch noch auf C++ zu erweitern.
Was brauche ich ansonsten für Grundlagenwissen? Zumindest ungefähr?
Je mehr Grundlagenwissen Du hast, desto weniger aufwendig wird der Job.

Klassenbasiertes Programmierung für die Übertragung der C-Strukturen in die C++-Syntax. Damit ordnest Du Daten und Methoden in zugehörige Einheiten.

Dannach stellt sich die Frage, was Du eigentlich brauchst. C++ kann nicht mehr als C, aber es kann Dich dabei unterstützen, fehlerfreier oder übersichtlicher zu programmieren. Dazu wären eine Umrüstung Deines Codes auf Referenzen und Const-Correctness gut.
LadyBird hat geschrieben:Irgendwie sollen die Daten auch visualisiert werden, ob 2- oder 3-dimensional steht noch nicht fest, jedoch werde ich zur Vereinfachung des Problems wahrscheinlich vorerst bei 2D bleiben.
Im eigenen Wiki haben wir noch nichts zu MVC stehen, aber schau mal bei Wikipedia. Diese einfache Standard-Software-Architektur hilft Dir, dieses Problem jederzeit neu zu entscheiden, ohne Dein Programm komplett neu schreiben zu müssen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten