PC Programm schreiben
- ebichu
- Erfahrener Benutzer
- Beiträge: 276
- Registriert: 10.09.2006, 20:53
- Wohnort: ändlich widr z basel
PC Programm schreiben
Nabend zusammen.
Habe eine kurze Frage an die Informatik und Programmiercracks hier drin:
Ich benötige ein Programm, welches (mal so ganz Grundlegend) wie folgt
funktionieren soll:
Es soll graphisch ein quadratisches Gitter dargestellt werden, etwa so:
das Gitter sollte sich in alle Dimensionen drehen lassen. Nun soll jeder der
Gitterpunkte (auf der Abbildung wären es 3x3x3=27) mit der Maus entweder
an oder ausgeschalten werden können. Wenn das gewünschte Muster aus
"an-" und "aus-Positionen" erreicht ist, sollte ein Klick auf einen Butten
dieses in eine Datei schreiben (mit 1 und 0 in entsprechender Anordnung).
Ich selbst habe von Programmieren ein wenig (aber nicht zuviel) ahnung,
hab schon ein paar Sachen in C++ gemacht. Mit graphischen oberflächen
hatte ich noch gar nichts zu tun.
Deshalb meine Frage:
Mit welcher Programmiersprache wäre obiges Projekt am einfachsten zu
realisieren? Kann ich zB Java verwenden? Wie einfach ist die implementation
einer Graphischen oberfläche?
Ist es vorstellbar, dass man mit Hilfe eines Buches sich selbst soweit bringen
kann um so ein programm von A bis Z zum laufen zu bringen? Oder denkt ihr
eher, dass dies für einen Amateurprogrammierer eher schwierig werden
könnte?
besten Dank für tipps.
ebi
Habe eine kurze Frage an die Informatik und Programmiercracks hier drin:
Ich benötige ein Programm, welches (mal so ganz Grundlegend) wie folgt
funktionieren soll:
Es soll graphisch ein quadratisches Gitter dargestellt werden, etwa so:
das Gitter sollte sich in alle Dimensionen drehen lassen. Nun soll jeder der
Gitterpunkte (auf der Abbildung wären es 3x3x3=27) mit der Maus entweder
an oder ausgeschalten werden können. Wenn das gewünschte Muster aus
"an-" und "aus-Positionen" erreicht ist, sollte ein Klick auf einen Butten
dieses in eine Datei schreiben (mit 1 und 0 in entsprechender Anordnung).
Ich selbst habe von Programmieren ein wenig (aber nicht zuviel) ahnung,
hab schon ein paar Sachen in C++ gemacht. Mit graphischen oberflächen
hatte ich noch gar nichts zu tun.
Deshalb meine Frage:
Mit welcher Programmiersprache wäre obiges Projekt am einfachsten zu
realisieren? Kann ich zB Java verwenden? Wie einfach ist die implementation
einer Graphischen oberfläche?
Ist es vorstellbar, dass man mit Hilfe eines Buches sich selbst soweit bringen
kann um so ein programm von A bis Z zum laufen zu bringen? Oder denkt ihr
eher, dass dies für einen Amateurprogrammierer eher schwierig werden
könnte?
besten Dank für tipps.
ebi
[CENTER]Mir sin d Muttenzerkurve
Us em Riich vo dr Tradition
Userere Wält vo de Emotione
Vonere andere, vonere andere Dimension[/CENTER]
[CENTER]MK|BS[/CENTER]
Us em Riich vo dr Tradition
Userere Wält vo de Emotione
Vonere andere, vonere andere Dimension[/CENTER]
[CENTER]MK|BS[/CENTER]
- andreas
- Erfahrener Benutzer
- Beiträge: 6754
- Registriert: 27.03.2005, 19:22
- Wohnort: Basel
- Kontaktdaten:
Für dreidimensionale Körper gäbe es auch Mathematikprogramme, bei denen
man dann nichts mehr dafür programmieren müsste (ausser die Funktion
des Körpers anzugeben). Dafür ist z.B. Maple ganz cool.
Wenn du es selbst programmieren willst, gibt es wohl genauso unendlich viele
Möglichkeiten. Mach es doch in der Programmiersprache, wo du dich am
Wohlsten fühlst!
man dann nichts mehr dafür programmieren müsste (ausser die Funktion
des Körpers anzugeben). Dafür ist z.B. Maple ganz cool.
Wenn du es selbst programmieren willst, gibt es wohl genauso unendlich viele
Möglichkeiten. Mach es doch in der Programmiersprache, wo du dich am
Wohlsten fühlst!
- ebichu
- Erfahrener Benutzer
- Beiträge: 276
- Registriert: 10.09.2006, 20:53
- Wohnort: ändlich widr z basel
das viele Wege nach Jerusalem (oder wie war das noch?) führen, ist mir schon
klar. Am besten kenn ich mich aus mit C++, wobei ich jetzt nicht sagen würde,
dass ich in dieser Programmiersprache zu Hause bin... Ich hab sie schlicht schon
ein paar mal benutzt, aber für keineswegs anspruchsvolle dinge.
Also wenn es jetzt zB so wäre, dass man mit Java graphische Obeflächen viel
einfacher darstellen kann, würd ich mich vllt. mal mit dieser Sprache auseinandersetzen.
Zum vorschlag mit Maple:
Hab dieses Programm auf dem PC, allerdings noch nie in einem solchen
zusammenhang benutzt. Könntest du näheres dazu erklären?
messi
ebi
klar. Am besten kenn ich mich aus mit C++, wobei ich jetzt nicht sagen würde,
dass ich in dieser Programmiersprache zu Hause bin... Ich hab sie schlicht schon
ein paar mal benutzt, aber für keineswegs anspruchsvolle dinge.
Also wenn es jetzt zB so wäre, dass man mit Java graphische Obeflächen viel
einfacher darstellen kann, würd ich mich vllt. mal mit dieser Sprache auseinandersetzen.
Zum vorschlag mit Maple:
Hab dieses Programm auf dem PC, allerdings noch nie in einem solchen
zusammenhang benutzt. Könntest du näheres dazu erklären?
messi
ebi
[CENTER]Mir sin d Muttenzerkurve
Us em Riich vo dr Tradition
Userere Wält vo de Emotione
Vonere andere, vonere andere Dimension[/CENTER]
[CENTER]MK|BS[/CENTER]
Us em Riich vo dr Tradition
Userere Wält vo de Emotione
Vonere andere, vonere andere Dimension[/CENTER]
[CENTER]MK|BS[/CENTER]
Alle Wege führen nach Romebichu hat geschrieben:das viele Wege nach Jerusalem (oder wie war das noch?) führen, ist mir schon
klar.
In ein paar Stunden lernst aber nicht Java, geht massiv länger ...ebichu hat geschrieben:Also wenn es jetzt zB so wäre, dass man mit Java graphische Obeflächen viel einfacher darstellen kann, würd ich mich vllt. mal mit dieser Sprache auseinandersetzen.
- ebichu
- Erfahrener Benutzer
- Beiträge: 276
- Registriert: 10.09.2006, 20:53
- Wohnort: ändlich widr z basel
stimmtKawa hat geschrieben:Alle Wege führen nach Rom
ist mir absolut klar. Nur ist es doch so, dass mein gewünschtes Programm im Prinzip doch relativ simpel ist. So zumindest mein gefühl...Kawa hat geschrieben:In ein paar Stunden lernst aber nicht Java, geht massiv länger ...
[CENTER]Mir sin d Muttenzerkurve
Us em Riich vo dr Tradition
Userere Wält vo de Emotione
Vonere andere, vonere andere Dimension[/CENTER]
[CENTER]MK|BS[/CENTER]
Us em Riich vo dr Tradition
Userere Wält vo de Emotione
Vonere andere, vonere andere Dimension[/CENTER]
[CENTER]MK|BS[/CENTER]
Wenn es um Grafische Oberflächen geht, kommt es wohl mehr auf die Entwicklungsumgebung als auf die Programmiersprache an.
Wenn du schon mit C++ gearbeitet hast, dann bleib doch bei C++.
Als Entwicklungsumgebung schlage ich dir Qt Creator (Freeware, wurde von Nokia übernommen).
Qt Creator kommt mit vielen Beispielen. Für deinen Zweck könnte das OpenGL->helloGL Beispiel und die anderen OpenGL Beispiele nützlich sein.
Wenn du schon mit C++ gearbeitet hast, dann bleib doch bei C++.
Als Entwicklungsumgebung schlage ich dir Qt Creator (Freeware, wurde von Nokia übernommen).
Qt Creator kommt mit vielen Beispielen. Für deinen Zweck könnte das OpenGL->helloGL Beispiel und die anderen OpenGL Beispiele nützlich sein.
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety.
Benjamin Franklin (1706-1790)
Benjamin Franklin (1706-1790)
Hast du QT heruntergeladen und haben dich die Beispile weitergebracht? Wird wohl nicht ganz einfach. ;-)
Für was brauchst du eigentlich das Programm? Was sind die exakten Vorgaben? Bis wann musst du es haben?
Für was brauchst du eigentlich das Programm? Was sind die exakten Vorgaben? Bis wann musst du es haben?
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety.
Benjamin Franklin (1706-1790)
Benjamin Franklin (1706-1790)
- ebichu
- Erfahrener Benutzer
- Beiträge: 276
- Registriert: 10.09.2006, 20:53
- Wohnort: ändlich widr z basel
nein, bin noch nicht dazu gekommen. Hab im moment auch sonst einiges umguybrush hat geschrieben:Hast du QT heruntergeladen und haben dich die Beispile weitergebracht? Wird wohl nicht ganz einfach. ;-)
Für was brauchst du eigentlich das Programm? Was sind die exakten Vorgaben? Bis wann musst du es haben?
die ohren
Zum Programm: Also eigentlich bräuchte ich das Programm nur als
Hilfestellung zum programmieren eines LED Cubes.
(für die dies nicht kennen: http://www.youtube.com/watch?v=6mXM-oGggrM)
Das Computerprogramm sollte mich eigentlich nur unterstützen, den Code für
den Mikrocontroller, welcher das Bild schlussendlich auf den Cube überträgt,
zu schreiben. Denn es ist relativ schwer wenn nicht unmöglich, sich die
einzelnen Bilder alle im Kopf auszudenken. Bei einem 7x7x7 Cube handelt es
sich immerhin um 343 LEDs. Deshalb auch der Wunsch nach einer grafischen
Oberfläche.
Exakte vorgaben und Deadline gibts nicht, denn es handelt sich hierbei um
ein privates Projekt.
@andi: Danke, werd ich mir demnächst auch noch genauer anschauen.
lg
ebi
[CENTER]Mir sin d Muttenzerkurve
Us em Riich vo dr Tradition
Userere Wält vo de Emotione
Vonere andere, vonere andere Dimension[/CENTER]
[CENTER]MK|BS[/CENTER]
Us em Riich vo dr Tradition
Userere Wält vo de Emotione
Vonere andere, vonere andere Dimension[/CENTER]
[CENTER]MK|BS[/CENTER]
- andreas
- Erfahrener Benutzer
- Beiträge: 6754
- Registriert: 27.03.2005, 19:22
- Wohnort: Basel
- Kontaktdaten:
Gitterpunkte zeichnen
Gitterpunkte verbinden (noch nicht ganz alle verbunden, muss man beim Array for "nops" noch weiterziehen).
Natürlich kann man jetzt nicht die Punkte abschalten oder so. Dafür lässt sich
das Gebilde sofort im dreidimensionalen drehen.
Code: Alles auswählen
with(plots)
pointplot3d({[-1, -1, -1], [-1, -1, 0], [-1, -1, 1], [-1, 0, -1], [-1, 0, 0], [-1, 0, 1], [-1, 1, -1], [-1, 1, 0], [-1, 1, 1], [0, -1, -1], [0, -1, 0], [0, -1, 1], [0, 0, -1], [0, 0, 0], [0, 0, 1], [0, 1, -1], [0, 1, 0], [0, 1, 1], [1, -1, -1], [1, -1, 0], [1, -1, 1], [1, 0, -1], [1, 0, 0], [1, 0, 1], [1, 1, -1], [1, 1, 0], [1, 1, 1]}, axes = none, symbol = box)
Code: Alles auswählen
with(plots)
p := [[0, 0, 0], [1, 0, 0], [-1, 0, 0], [0, -1, 0], [1, -1, 0], [-1, -1, 0], [0, 1, 0], [1, 1, 0], [-1, 1, 0], [0, 0, 1], [1, 0, 1], [-1, 0, 1], [0, -1, 1], [1, -1, 1], [-1, -1, 1], [0, 1, 1], [1, 1, 1], [-1, 1, 1], [0, 0, -1], [1, 0, -1], [-1, 0, -1], [0, -1, -1], [1, -1, -1], [-1, -1, -1], [0, 1, -1], [1, 1, -1], [-1, 1, -1]];
s := [2, 1, 3, 6, 5, 4, 6, 9, 8, 7, 1, 4, 6, 5, 8, 26, 27, 24, 23, 26, 20, 21, 24, 15, 18, 16, 17, 11, 10, 12, 3, 6, 4, 13, 15, 14, 17, 8, 17];
n := nops(s);
pointplot3d([seq(p[s[i]], i = 1 .. n)], connect = true, symbol = circle)
das Gebilde sofort im dreidimensionalen drehen.
Das hat sonst schon wer mit Tcl/Tk umgesetzt.