Seite 1 von 1
Neue Software. Buggi aber schon ganz ok!
Verfasst: Mo 02 Jan, 2006 5:46 pm
von maxxtc
Hallo zusammen,
ich habe mal mit Hilfe von Erich an einer neuen Software gebastelt.
Sie befindet sich noch um wenigerwiealpha Stadium.
Ich möchte euch doch mal bitten das Ding mal zu installieren und ein wenig zu testen.
Was es bisher kann:
- Frameeditor
- Läd heb und ild Files
- Speichert die selbigen auch (Bei ilda stimmen die Farben nicht)
- Sinusgenerator integriert
- Vorschau mit OpenGL wie in LDS
Was es noch können soll:
- Sequencer (Bisher nur abspielen von MP3 und Wav)
- Echtzeiteffekte
- Automatische Ausgabekorrektur
usw usw usw
Die Easylaseausgabe funktioniert bereits. Aber Vorsicht.
Es wird nicht optimiert!
Wer seine Scanner killt, ist selbst schuld!
So. Download hier:
http://www.maxxtc.net/lascan/update/Lascan.msi
Vielen Dank für eure Meinungen.
Chris
P.S.:
Während der OpenGL Wiedergabe solltet ihr mal auf "b" drücken! Mit Pageup und PageDown könnt ihr zoomen!
Verfasst: Mo 02 Jan, 2006 6:18 pm
von tschosef
halli hallo
mit Hilfe von Erich
... naja.... so viel geholfen hab ich da nicht.. du hast das Dateiformat für die Figurenfiles und die Farbtabelle von mir übernommen aus dem Basic modul welches dem "allgemein interessiertem" helfen sollte heb datein erstellen zu können.
Übrigens das alte dateiformat und die alte farbtabelle...
naja... da bin ich dann mal auf die Realisierung der Efekte, Sequenzer usw... gespannt.
Ne ausgabe konnte ich leider bis jetzt nicht hin bekommen. was mach ich falsch?
Sollte der "Softare-Status" mal so weit sein, dann werd ich HE_Laserscan natürlich auch gerne als open sorce Projekt zur verfügung stellen
gruß derweil
Erich
Verfasst: Mo 02 Jan, 2006 6:38 pm
von maxxtc
Hi Erich,
wenn du die alte Version hast (die, die ich dir geschickt habe) geht es nicht. Neu downloaden und installieren.
Bis denne
Chris
Soft
Verfasst: Mo 02 Jan, 2006 6:50 pm
von guido
@MaxxTc
habs gerad mal installiert. Die wenigsten wissen wieviel Arbeit schon in so wenig Oberfläche steckt. Aber überleg bitte ob das die Arbeit wert ist.
Wenn du Lust hast was zu proggen tu dich doch mit Erich zusammen. Was meiner Meinung nach WIRKLICH Fehlt ist ein guter 3D ILDA Editor a la Anarchy Wenn du mit Opel GL schon was gemacht hast sollte das so schwer nicht werden. Dann noch das Linux Tracing-Tool mit einbinden was Arfobs Jungs da gemacht haben ( nich soo doll aber besser als nüx ) und ab dafür. Exportfunktionen können dann ja diverse dazukommen. Auch so mancher LDS-User würd sich freuen und HE-Scan frisst ja ILDAs .
Nichts gegen deinen Ehrgeiz, bitte nicht falsch verstehn.
Verfasst: Mo 02 Jan, 2006 7:03 pm
von maxxtc
Hallo Guide,
danke für die aufmunterden Worte.
Mein Problem ist, dass ich das Zeug mit dem 3D noch nicht ganz verstanden habe.
Ich kann natürlich einen Editor programmieren, der drei Ansichten hat und Z-Werte schreibt. Das ist nicht das Problem. Es hapert eher an der Umsetzung zum Laser. Bei einem 2D-Programm ist es einfach. Da wird ein Punkt nach dem anderen angefahren. Aber wie ist das bei 3D?
Fragen über Fragen.......
P.S.:
Vielleicht sollten sich die Programmierer hier wirklich mal zusammen setzen und eine Open Source Software gemeinsam programmieren.
Da hat dann jeder was davon!
Verfasst: Mo 02 Jan, 2006 7:59 pm
von lasafreak
BOA geil
siet schohn sehr gut aus
komt später ne unterstützung für guidos dac ?
Verfasst: Mo 02 Jan, 2006 8:11 pm
von tl
MaxxTc hat geschrieben:Ich kann natürlich einen Editor programmieren, der drei Ansichten hat und Z-Werte schreibt. Das ist nicht das Problem. Es hapert eher an der Umsetzung zum Laser. Bei einem 2D-Programm ist es einfach. Da wird ein Punkt nach dem anderen angefahren. Aber wie ist das bei 3D?
Ganz einfach, die 3D Koordinaten auf ein 2D System abbilden. Macht z.B. der LFI Player (nen 3D ILDA Opensource-Ausgabeprogramm mit Skriptsprache und Animationen
http://sourceforge.net/projects/lfiplayer3d). Da wirst Du fündig wie so was aussehen könnte...
Verfasst: Mo 02 Jan, 2006 10:32 pm
von tschosef
halli hallo....
jetzt seid mir mal nicht böse, aber wenn ich diese frage lese:
BOA geil
siet schohn sehr gut aus Razz
komt später ne unterstützung für guidos dac ?
dann stellt sich mir die Frage:"was ist an HE_Laserscan so schlecht, und mir bis jetzt noch nicht berichtet worden, dass bedarf an unterstützung für den LPT-DAC besteht??... außerdem wird der LPT DAC ja auch von Mamba unterstützt... Ok... bei Mamba könnte man wenigstens sagen zu teuer...
naja.....
wegen 3 D... ich hab mal vor jahren ein prog geschrieben, da konnte man (leider nur per Text eingabe) 3 D Koordinate eingeben (also x, y, z) und das "Gebilde" dann in "Fluchtpunktperspektive" betrachten... Man konnte um X,Y und Z Achse drehen und zoomen... war ganz witzig....
Ich denke sowas währe mit einem 3D Ilda Editor gemeint, oder?
Die Ausgabe per Direct X oder open GL dürfte wohl ähnlich "leicht" sein...
das tückische ist wohl das umrechnen in die verschiedenen Perspektieven (Fluchtpunkt oder isometrisch usw....)... dazu kommt evtl. bei Bedarf auch noch, dass Elemente andere abdecken könnten... dann wirds echt hakelig.
Meiner meinung nach ist das größte problem aber noch das ILDA File an sich...aber das ist ein anderes Kapitel. (Fragen wie: bevorzugt RGB? oder bevorzugt kleine Dateien? oder.... Konstante Framezeiten annehmen? oder Konstante PPS Zahlen? oder oder oder....
gruß derweil
Erich
Verfasst: Mo 02 Jan, 2006 10:34 pm
von tschosef
alte Version hast
ne, ist die version 0.0.1..... heute runter geladen. oder hätt ich was übersehen?.. mal gucken.
Verfasst: Di 03 Jan, 2006 6:41 am
von gento
PROCEDURE Rechne_3D_in_2D(Winkel_1,Winkel_2,Winkel_3:Word; XK,YK,ZK:Integer; VAR Out_X,Out_Y:Integer);
VAR
x,y,z:Integer;
xa,ya,za:Double;
sr1,sr2,sr3,cr1,cr2,cr3:Double;
BEGIN
SR1:=Sinus[Winkel_1];
SR2:=Sinus[Winkel_2];
SR3:=Sinus[Winkel_3];
CR1:=Cosinus[Winkel_1];
CR2:=Cosinus[Winkel_2];
CR3:=Cosinus[Winkel_3];
X:=-XK;
Y:=YK;
Z:=ZK;
XA:=CR1*X-SR1*Z;
ZA:=SR1*X+CR1*Z;
Out_X:=Trunc(CR2*XA+SR2*Y);
YA:=CR2*Y-SR2*Xa;
Out_Y:=Trunc(SR3*ZA+CR3*YA);
END;
{--------------------------------------------------------------------------}
Aufruf mit:Rechne_3D_in_2D(0,Drehwinkel,0 ,X,Y,Z,Scanner_X,Scanner_Y);
Diese Formel benutze ich >10 Jahre.
Gento
Verfasst: Di 03 Jan, 2006 11:35 am
von tschosef
Moing moing....
Auweh zwick ... mann bin ich dooof
Ich frag mich, wie ich meine Soft auf die Reihe bekommen hab.... ich check nämlich allein vom Aufruf her kaum was...
Das schwierige an Beispielen ist meisten, dass man nicht genau versteht, was der Programmierer mit seinen Abkürzungen (Variabelnahmen) meint...
Ich gebe mal zu.. meine progs sind auch Spagetti code.. aber Variable-Nahmen hab ich..... WOW:.. lieber 20 Zeigen getippt als danach nicht mehr kappieren was ich da gemacht hab
also... sehe ich das so richtig:
PROCEDURE Rechne_3D_in_2D(Winkel_1,Winkel_2,Winkel_3:Word; XK,YK,ZK:Integer; VAR Out_X,Out_Y:Integer);
winkel 1... 2. .... 2 sind die winkel um die x, y und z achse... IM BOGENMASS, oder? jeweils asl WORD (was es in VB schon wieder garnicht gibt).
Xk, Yk und Zk ???? werden wohl die Koordinaten eines Punktes sein, oder? als Integer... Okay...
Var Out_x----Out_Y
Pfff.. hmmmm moment... Okay... sind die zurückgegebenen Werte für die Galvos....
Aha... ich glaub ich habs so weit...
Was bedeutet TRUNC.... Kenn ich nicht (bin doch ein VB-Depp)...
Gruß derweil
Erich
Verfasst: Di 03 Jan, 2006 12:19 pm
von tschosef
halli hallo....
habs schon gefunden... Trunc ist ähnlihc wie INT()... wobei man bei trunc offenslichtlich angeben kann, wieviele kommstellen da hin sollen...
Funktioniert tatsächlich.. ScreenShoot .... echt nett... Danke Gento.
gruß
Erich
Verfasst: Di 03 Jan, 2006 1:39 pm
von maxxtc
Hi zusammen,
ich habe das Ding jetzt auch mal versucht zu programmieren.
Schimpft mich doof, aber wo sollen denn die Winkel herkommen? Wie werden die berechnet?
Danke euch.
Verfasst: Di 03 Jan, 2006 4:23 pm
von tschosef
halli hallo...
bei meinem test kamen die von den 3 Schrollbalken... wenn du ne Software für Laserausgabe hast, dann könnten die zB von Effekten her kommen... oder der User stellt die Blickrichtung ein, oder was auch immer...
Gruß derweil
Erich
Verfasst: Di 03 Jan, 2006 4:25 pm
von john
MaxxTc hat geschrieben:Hi zusammen,
ich habe das Ding jetzt auch mal versucht zu programmieren.
Schimpft mich doof, aber wo sollen denn die Winkel herkommen? Wie werden die berechnet?
Danke euch.
Das werden wohl die Betrachtungswinkel auf die einzelnen Achsen sein, mit denen du das Objekt anschauen möchtest....
John
Verfasst: Di 03 Jan, 2006 6:00 pm
von afrob
void rechne3Din2D(double Winkel_1, double Winkel_2, double Winkel_3, int x, int y, int z, int &xout, int &yout){
double a = 1000;
int temp;
// negativer Winkel: im Uhrzeigersinn drehen
double sin1 = sin(-Winkel_1);
double sin2 = sin(-Winkel_2);
double sin3 = sin(-Winkel_3);
double cos1 = cos(-Winkel_1);
double cos2 = cos(-Winkel_2);
double cos3 = cos(-Winkel_3);
// rotation um die Y-Achse
temp = x;
x = (int)(cos1 * x + sin1 * z);
// y = y;
z = (int)((-sin1) * temp + cos1 * z);
// rotation um die Z-Achse
temp = x;
x = (int)(cos2 * x - sin2 * y);
y = (int)(sin2 * temp + cos2 * y);
// z = z;
// rotation um die X-Achse
temp = y;
// x = x;
y = (int)(cos3 * y - sin3 * z);
z = (int)(sin3 * temp + cos3 * y);
// projektion
xout = (x * a) / z;
yout = (y * a) / z;
}
Grüsse,
afrob
PS: sorry für die Bilder-Bombe; das Board kann keine Formeln darstellen

Verfasst: Di 03 Jan, 2006 8:13 pm
von Ironman
..... und ich weiß jetzt , das ich NIE mit programmieren anfangen werde
Grüße
Hartmut
Verfasst: Di 03 Jan, 2006 8:45 pm
von gento
Eine Procedure die 3 D in 2 D benutzt.
{--------------------------------------------------------------------------}
PROCEDURE Spirale_Dreht(Spiralpunkte,Warte:Word; Regler:Double);
VAR
f,F_s

ouble; {Double l„uft schneller als Real & genauer}
Drehwinkel,Punkt:Integer;
CONST
Radius=32000;
BEGIN
Drehwinkel:=0;
IF Warte>400 THEN Kristall_Weiche_Ein;
Wait:=Warte;
REPEAT;
F:=0;
Inc(Drehwinkel,4);
Drehwinkel:=Drehwinkel MOD 360;
FOR Punkt:=40 TO Spiralpunkte DO
BEGIN
F_s:=Radius/Spiralpunkte*Punkt;
X:=Trunc(Sin(F)*F_s);
Y:=Trunc(Cos(F)*F_s);
F:=F+(Pi/16);
Rechne_3D_in_2D(0,Drehwinkel,0 ,X,Y,0,Scanner_X,Scanner_Y);
IF Punkt>60 THEN
Points_Out(Trunc(Scanner_X*Regler),8000+Trunc(Scanner_Y*Regler*0.5),255,255,255,255,Wait)
ELSE
Fahre_Blank_Hin(Trunc(Scanner_X*Regler),8000+Trunc(Scanner_Y*Regler*0.5),Wait);
END;
UNTIL KeyPressed OR Midi_Pressed;
END;
{------------------------------------------------------------------------}
Mal sehn wer davon ein Ilda erstellen kann.....
Gento
P.S. Auszüge meiner 'Midishow.exe'
AMD 400MHZ
Meine Isakarte
& > 60 K PPS
& DOS

Verfasst: Mi 04 Jan, 2006 9:28 am
von maxxtc
Hi zusammen,
ich habe das Ding nach Gentos Formel mal programmiert. Sieht aber trotzdem etwas komisch aus.
Hmmmm.
Verfasst: Mi 04 Jan, 2006 10:38 am
von jojo
Tip1:
Benenne Deine Programme nicht defaultmässig "Project1".
Denn 100 Leute machen es auch so und man hat alles voll von "Project1".
Es gibt irgendwo einen Knopf "save Project as..".
Tip2:
Benenne Deine Achsen oder Einstellregler nicht "Winkel 1, Winkel 2 ...", sondern wenns geht X,Y.Z. Dann sieht man auch, WO man da gerade dran rumkurbelt.
Ergebnis:
Du hast da irgendwo eine Achse bzw. einen Winkel vergessen oder irgendwas vertauscht.
Egal wo man rumdreht, die vertikalen Linien bleiben immer vertikal.
Kann beim Drehen ja wohl nicht sein, oder?
Deshalb siehts so komisch aus.
Joachim
Verfasst: Mi 04 Jan, 2006 2:48 pm
von maxxtc
Hallo Joachim,
ich habe die Werte extra so benannt, damit man sehen kann, welcher Wert , wo in der Formel berechnet wird.
Den Fehler finde ich trotzdem nicht.....
Verfasst: Mi 04 Jan, 2006 3:01 pm
von afrob
Wo ist dein Quadrat (Koordinaten)? Bei Winkel_1 (Rotation um Y) scheint die Berechnung von z nicht zu stimmen.
Grüsse,
afrob
Verfasst: Mi 04 Jan, 2006 3:27 pm
von maxxtc
Servus.
Also
Picture1.Scale(-32768,32767)-(32767,-32768) ' Punkt 0,0 liegt also genau in der Mitte des Bildes.
Es gibt 2 Quadrate. Eins mit Z = -10000 und eins mit Z = 10000
Das Quadrat ist somit in 10000er Schritten aufgebaut. Also immer
-10000/10000
10000/10000
10000/-10000
usw.
Ich hänge noch ne Datei an, wo die Werte angezeigt werden!
Verfasst: Mi 04 Jan, 2006 3:38 pm
von afrob
In der Liste fehlt mir der Z-Wert. Wie sehen X,Y,Z vor der Projektion aus?
Grüsse,
afrob
Verfasst: Mi 04 Jan, 2006 3:49 pm
von maxxtc
Also nochmal.....
Die x,y,z Werte vor der Berechnung sind immer gleich! Siehe 2 Posts weiter oben.
Es wird immer anhand der Grundwerte berechnet!
Gruß
Chris
Verfasst: Mi 04 Jan, 2006 4:05 pm
von afrob
Ds ist die selbe Datei wie eben.

Schon bei
bzw.
liegt ein Fehler.
Wenn du den Regler für Winkel_1 auf 90° stellst wird die Figur zum Strich, X ist also ~ 0.
cos(90°)=0, sin(90°)=1. Also ist entweder SR1 bzw. sin1 nicht 1 oder z fehlt oder hat den falschen Wert.
Grüsse,
afrob
Verfasst: Mo 19 Feb, 2007 7:14 pm
von gento
Igendwie 'Spinnt' Deine C-Formel @afrob.
So hab ich meine eigene Formel erweitet.
Hier der Download:
http://www.Gento.de/Quadrat_3D.rar
Was falsch ?
Gento
Verfasst: Mo 19 Feb, 2007 7:30 pm
von afrob
Y dreht nicht um die Mitte des Quadrates.
Grüsse,
afrob
Verfasst: Mo 19 Feb, 2007 7:34 pm
von gento
Absicht !
Wenn Y Versatz eingestellt hat.
Gento