Frickeln bis die Bude brennt!
-
Ich programmiere gerade ein neues Betriebssystem. Es soll "Windows" heißen, und da es mein 95ster Versuch ist, will ich es "Windows 95" nennen. Ich bin sicher, daß es diesmal klappt, das mein 95zigstes Betriebssystem schon mal so stabil ist, daß sich die graphische Benuteroberfläche aufbaut. Dann bin ich echt der King, und kann es verkauffen.
Sincerely...
Bill.
-
Windows 95 war zur Zeit wo es rauskam sehr gut. Diese MS Gebashe ist doch lächerlich. Was für Alternativen gab es denn damals? MacOS? Lächerlich das war ein haufen schrott und Linux war damals ein Spielzeug für arbeitlose Hacker mit zu viel Zeit aber mehr auch nicht. Also lass dein peinliches MS Gebashe du Neuling.
-
es haett da noch winnt und OS2 gegeben.
nur der vollstaendigkeit halber, nicht das ich den beitrag von bill_g aufwerten moechte
uU haetts sogar mehr alternativen gegeben, nicht pc basierend ebenfalls, die aber auf grund der marktsituation sowieso nie eine chance auf weitere verbreitung gehabt haetten.
-
wo bekommt man nen mandelbrotgenerator her^^
-
Monger schrieb:
Was programmiert ihr gerade so?
Einen "Übersetzungsfilter", mit dem ich Daten aus DirectShow rausziehen und später wieder zurückgeben kann - ist schon ziemlich weit gekommen, aber ein paar Macken muß ich dem System noch austreiben.
*grml* diese Verwaltung per AddRef()/Release() ist eine Katastrophe - wie findet man da die richtige Balance zwischen Memory-Leak und Assertion Failure?
-
TravisG schrieb:
wo bekommt man nen mandelbrotgenerator her^^
Selbst programmieren, ist alles andere als aufwändig. Da ist der Code von mir:
/* * MandelbrotGenerator.java * * Created on 10. Februar 2006, 19:14 * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package jaradap.model.generator; import controller.DataGenerator; import controller.MenuStructure; import controller.Name; import controller.descriptor.FloatBounds; import controller.descriptor.IntBounds; import jaradap.model.data.TwoDimFloatRaster; import jaradap.model.data.TwoDimStandardRaster; /** * * @author gregor */ @Name("Mandelbrot Set Generator") @MenuStructure({"Generate","Generate Mandelbrot Set"}) public class MandelbrotSetGenerator implements DataGenerator<TwoDimStandardRaster> { private final float centerX; private final float centerY; private final float angle; private final float xRange; private final float yRange; private final int imageXRange; private final int iterations; /** Creates a new instance of MandelbrotGenerator */ @Name("Default Construction") public MandelbrotSetGenerator ( @Name("X-Center") @FloatBounds(min=-2.0f,defaultValue=-0.5f) final float centerX, @Name("Y-Center") @FloatBounds(min=-1.0f) final float centerY, @Name("Orientation Angle") @FloatBounds(max=360.0f,defaultValue=0.0f) final float angle, @Name("X-Range") @FloatBounds(min=0.0f,max=3.0f,defaultValue=3.0f) final float xRange, @Name("Y-Range") @FloatBounds(min=0.0f,max=2.0f,defaultValue=2.0f) final float yRange, @Name("X-Range in Image") @IntBounds(min=100,defaultValue=500,max=5000) final int imageXRange, @Name("Number Of Iterations") @IntBounds(min=10,defaultValue=100,max=1000) final int iterations ) { this.centerX = centerX; this.centerY = centerY; this.angle = angle; this.xRange = (xRange >= 0.0001f) ? xRange : 0.0001f; this.yRange = (yRange >= 0.0001f) ? yRange : 0.0001f; this.imageXRange = imageXRange; this.iterations = iterations; } public TwoDimStandardRaster generateData() { final int imageYRange = Math.round((yRange / xRange) * (float) imageXRange); final TwoDimStandardRaster outRaster = new TwoDimFloatRaster(imageXRange, imageYRange); final int imageCenterX = imageXRange >> 1; final int imageCenterY = imageYRange >> 1; final float inverseScale = xRange / (float)imageXRange; final float radAngle = (float)Math.PI * angle / 180.0f; float max = 0.0f; float min = Float.MAX_VALUE; for (int y = 0 ; y < imageYRange ; ++y) { final float tempSourceY = inverseScale * (float)(imageCenterY - y); for(int x = 0 ; x < imageXRange ; ++x) { final float tempSourceX = inverseScale * (float)(imageCenterX - x); final float sourceX = tempSourceX * (float)Math.cos(radAngle) + tempSourceY * (float)Math.sin(radAngle) + centerX; final float sourceY = -tempSourceX * (float)Math.sin(radAngle) + tempSourceY * (float)Math.cos(radAngle) + centerY; double valueR = 0.0; double valueI = 0.0; int numberOfIterations = 1; for (; numberOfIterations < iterations ; ++numberOfIterations) { final double newReal = valueR*valueR - valueI*valueI + sourceX; final double newIm = 2.0*valueI*valueR + sourceY; valueR = newReal; valueI = newIm; final double absSquare = valueR*valueR+valueI*valueI; if (absSquare >= 4.0) { final double value = Math.log(absSquare); outRaster.setRaxel(1.0f-(float)Math.exp(-Math.pow(0.25*Math.log(numberOfIterations),2.0)),x,y); if ((float)value > max) max = (float)value; if ((float)value < min) min = (float)value; break; } } if (numberOfIterations == iterations) { final double value = 0.5*Math.sqrt(valueR*valueR+valueI*valueI); outRaster.setRaxel((float)value,x,y); } if (outRaster.getRaxel(x,y) > 1.0f) System.out.println(outRaster.getRaxel(x,y)); } } return outRaster; } }
Die Default-Werte, die in Form von Metadaten in der Signatur des Konstruktors angegeben sind, führen zu so einer Art Übersichtsbild über das ganze Apfelmännchen. Für centerY ist dieser Wert 0.
-
Monger schrieb:
Was programmiert ihr gerade so?...
Beruflich:
Bestandsauswertungen, Importer für Aufträge aus Internetshops, Reports,
div Systemprogrammierung am ERP.Nach Feierabend:
3D Engine für Weltraum Spielchen oder so. Momentan die Organisation und Sichtbarkeitsprüfung der "Weltdaten" in Form eines Octree mit Frustum Culling und Backface Culling per CPU. Nebenbei eine "Normal-Vektor Optimizer" zur Vermeidug von "Hard Edges" bei Vertex Lighting.
-
Gregor schrieb:
Die Default-Werte, die in Form von Metadaten in der Signatur des Konstruktors angegeben sind, führen zu so einer Art Übersichtsbild über das ganze Apfelmännchen. Für centerY ist dieser Wert 0.
hier
http://www.c-plusplus.net/forum/viewtopic-var-t-is-139417-and-postdays-is-0-and-postorder-is-asc-and-start-is-0.html
wird gesagt in java gibt es keine defaultwerte.gibts also doch, und anscheinend kann man auch sowas wie einen validator unterschieben, wenn ich das mit min max richtig interpretiere.
oder versteh ich da jetzt was total falsch?
-
daHa schrieb:
hier
http://www.c-plusplus.net/forum/viewtopic-var-t-is-139417-and-postdays-is-0-and-postorder-is-asc-and-start-is-0.html
wird gesagt in java gibt es keine defaultwerte.gibts also doch, und anscheinend kann man auch sowas wie einen validator unterschieben, wenn ich das mit min max richtig interpretiere.
oder versteh ich da jetzt was total falsch?
Das ist kein Sprachfeature, sondern ein Mechanismus, den ich in meinem Programm realisiert habe. Die genutzten Sprachfeatures sind hierbei Annotations und Reflection. Ich nutze "Annotation", also Metadaten, um Informationen wie Definitionsbereiche, Standardwerte, Bezeichnungen usw. in meinem Code zu verankern. An anderer Stelle des Programms wird dann ein Mechanismus aktiv, der diese Daten über Reflection ausliest und daraus dann GUI-Elemente generiert. Die Min-, Max- und Default-Werte werden also nicht direkt bei Aufruf einer Methode oder so überprüft bzw. gesetzt, sondern werden bei mir nur als Parameter für GUI-Elemente genutzt. Damit kann ich dann zum Beispiel Slider generieren, die vom Minimalwert bis hin zum Maximalwert einstellbar sind und am Anfang den Defaultwert annehmen.
Also was Du da an Defaultwerten usw. siehst, IST in Wirklichkeit der GUI-Code.
-
danke fuer die erklaehrung
-
manoman
ihr scheint echt ahnung zu haben!!!
ich programiere gerade an einem lächerlichen BMI-Rechnr mit Bild-Diagnose.
Also des ist ziemlich leicht aber naja.
Was besseres kann ich nicht.
NOCH nicht!
-
Moon93 schrieb:
manoman
ihr scheint echt ahnung zu haben!!!
ich programiere gerade an einem lächerlichen BMI-Rechnr mit Bild-Diagnose.
Also des ist ziemlich leicht aber naja.
Was besseres kann ich nicht.
NOCH nicht!Wenn 93 für dein Geburtsjahr steht, dann ist sogar schon recht viel.
-
Moon93 schrieb:
ihr scheint echt ahnung zu haben!!!
ich programiere gerade an einem lächerlichen BMI-Rechnr mit Bild-Diagnose.
Also des ist ziemlich leicht aber naja.
Was besseres kann ich nicht.
NOCH nicht!Wenn man als externe Person Programme von anderen Leuten sieht, dann sehen die oft viel komplizierter, größer und schwieriger zu programmieren aus, als sie es eigentlich sind. Ich würde deshalb versuchen, Programmbeschreibungen, Screenshots oder auch Programmfragmente von anderen nicht überzubewerten. Hinter dem, was ich hier gezeigt habe, ist zum Beispiel gar nicht so viel dahinter, wie man vielleicht denken könnte. Soetwas kann man relativ schnell realisieren, wenn man es anstrebt. Man braucht dafür nicht viel Erfahrung und so: Ich habe ja auch kaum Erfahrung.
-
People's Temple schrieb:
Windows 95 war zur Zeit wo es rauskam sehr gut. Diese MS Gebashe ist doch lächerlich. Was für Alternativen gab es denn damals? MacOS? Lächerlich das war ein haufen schrott und Linux war damals ein Spielzeug für arbeitlose Hacker mit zu viel Zeit aber mehr auch nicht.
Warum vergisst immer jeder die wundervolle Amiga-Workbench
OnTopic:
Ich schreibe gerade an meiner Diplomarbeit: Ein Export-Tool für das 3D-Robotersimulationsprogramm RobCad und seine Möglichkeit, fertige Sequenzen ablaufen zu lassen.
Sprache ist C++, ich verwende die MFC Bibliotheken. Ist mein erstes C++ Programm, bisher nur Java, VB6, VB.NET, C, Assembler und diverse Websprachen. Aber so langsam komm ich rein, ca. 2/3 sind fertig.
-
Ich habe Workbench nicht vergessen, aber es war es nicht wert erwähnt zu werden. Ausserdem sah Workbench vor 10 Jahren so nicht aus.
-
Ich programmier grad nix...
ich schreib an meiner Facharbeit über Iteratoren rum.
-
fdvv schrieb:
Ich habe Workbench nicht vergessen, aber es war es nicht wert erwähnt zu werden. Ausserdem sah Workbench vor 10 Jahren so nicht aus.
Wieso nicht? Ich hatte damals einen Amiga 1200. Da sahs so oder zumindest recht ähnlich aus.
Ich denke, das ist die Version 3.1