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.
Simulation
- cloidnerux
- Moderator
- Beiträge: 3123
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Simulation
Genug Wissen sicherlich, dafür musst du dich aber ganz schön reinhängen, da Programmieren nicht so einfach zu erlernen ist.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?
Die andere Frage ist, was das Simulationsprogramm machen soll, bzw wie es präsentiert werden soll.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.
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
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8861
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Simulation
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.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.
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.
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.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?
Wenn Du weißt, was Du nicht machen kannst, kannst Du aus dem Rest eine Lösung entwickeln.
Damit solltest Du Dich grundlegend aber schon beschäftigen, denn sie wird den Architektur des Programms diktieren.LadyBird hat geschrieben:Die Physik kann erst mal außer Acht gelassen 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.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.
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.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Simulation
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.
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.
- Xin
- nur zu Besuch hier
- Beiträge: 8861
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Simulation
Dann stell Dir die Frage, ob Du bereit bist eine ganze Menge Zeit in so ein Projekt zu investieren.LadyBird hat geschrieben:Aber wirklich viel verlieren kann ich nicht, außer eine ganze Menge Zeit.
Solltest Du es nicht schaffen, hast Du sicherlich einiges zum Thema Programmierung und Physik gelernt.
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.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.
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.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Simulation
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.
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.
- cloidnerux
- Moderator
- Beiträge: 3123
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Simulation
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.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.
Ansonsten wünsche ich dir viel Spaß bei deinem Projekt.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8861
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Simulation
Je mehr Grundlagenwissen Du hast, desto weniger aufwendig wird der Job.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?
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.
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.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.
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.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.