Erklärung zu Funktion gesucht
Übersicht

SchrolliBetreff: Erklärung zu Funktion gesucht |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
ich würde genere mal wissen, was diese Funktion genau macht? Und wie man das ganze am besten so gestalten kann, dass die Umzuwandelnde Zahl variabl sein darf von der Länge her BlitzBasic: [AUSKLAPPEN]
Gruß und Danke shcon mal, Basti ![]() |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Im prinzip schreibt es den Ascii-Code des Strings (allerdings nur die 4 Zeichen, deswegen macht die Funktion keinen sinn), in 4 Byte einheiten in eine bank, und ließt dann den Float wert drauß aus. Wozu genau das nützlich sein soll, ka.
mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein String wird verkehrt herum in eine Bank gestopft und dann wieder als Float ausgelesen - allerdings nicht zurück gegeben. Einfach in dem Quellcode auf die Roten Schlüsselwörter klicken, um nach zu lesen, was da gemacht wird.
Da BlitzBasic das, was die Funktion angeblich tut allerdings automatisch kann, sehe keinen Sinn darin. Sieht unnötig kompliziert aus. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Schrolli |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also die Zeichen kommen von einem Programm das per UDP TUIO Daten sendet... Eher unwichtig.
Auf jeden Fall sehen die Daten vopr der Funktion wie lauter so kleine Rechtecke aus, dannach wie eine Zahl ![]() Allerdings weis ich nicht wie ichs jetzt am besten mache, das die Umwandlung funktioniert mit einer Variabel langen Zahl... Gruß Schrolli |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, ziemlich wichtig.
Einfach die Bank zu vergrößern wird kaum was bringen, da Float nun mal nur 4 Bytes sind. Was ist eine Variabel lange Zahl bei dir? |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Schrolli |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oke doch wichtig ![]() Das sind mehrere Zahlen mit der länge von 4 - 6 stellen anch dem komma. allerdings hängen diese ganzen zahlen so wie es aussieht als ein String zusammen. Daher müsste ich wahrscheinlich alles auf einmal umwandeln und erst danach an den Leerstellen zerlegen ? Oder an was denk ihr so? MfG Schrolli EDIT aus der TUIO Spezifikation http://www.tuio.org/?specification die Daten sehen so aus, aber alles vor dem ersten wert, also bis SET ist normal auslesbar, nur der Rest sieht so komisch aus. Ich muss diese Werte iwie umwandeln und einzeln einem Type übergeben. Code: [AUSKLAPPEN] /tuio/2Dobj set s i x y a X Y A m r
und hier welche Daten was sind: Code: [AUSKLAPPEN] s Session ID (temporary object ID) int32 i Class ID (e.g. marker ID) int32 x, y, z Position float32, range 0...1 a, b, c Angle float32, range 0..2PI w, h, d Dimension float32, range 0..1 f, v Area, Volume float32, range 0..1 X, Y ,Z Velocity vector (motion speed & direction) float32 A, B, C Rotation velocity vector (rotation speed & direction) float32 m Motion acceleration float32 r Rotation acceleration float32 P Free parameter type defined by OSC message header |
||
- Zuletzt bearbeitet von Schrolli am Di, Jan 18, 2011 17:54, insgesamt einmal bearbeitet
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann unterteile den String in 4 Zeichen lange Teile und schicke die in die Funktion? | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Schrolli |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Aber die einzelnen zahlen sind manchmal länger... variert eben von 0.xxxx bis 0.xxxxxx das ist ja im moment das große Problem an der Sache.
Ich müsste entweder alles Umwandeln, dann am Leerzeichen zerschneiden und einzeln durchjagen, oder... Keine Ahung wie sonst? MfG Basti |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Uninteressant. Int = 4 Bytes, Float = 4 bytes, die Funktion wertet die ersten 4 Zeichen (Bytes) aus. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Schrolli |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Soweit habe ich es schon verstanden das hier nur 4 Bytes gewandelt werden.
Allerdings übergebe ich die zu wandelnden Daten per mid(1,4) und das zweite dann ab mid(4,4) usw... Wenn Jetzt aber nicht alle gleich lang sind, dann kann es ja sein, dass er nicht am Anfang einer Zahl beginnt, wenn du verstehst was ich meine. Alle Zahlen befinden sich ja in EINEM String So sieht zB ein solcher String aus, allerdings in einer komischweise nicht leserlichen Form. Das wird er erst nach dieser Funktion. Wieso auch immer. Code: [AUSKLAPPEN] 0.1548 0.15798 0.12455 0.124578 0.1245
MfG Basti |
||
- Zuletzt bearbeitet von Schrolli am Di, Jan 18, 2011 18:08, insgesamt einmal bearbeitet
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich wäre der Meinung, wenn ein Stück keine 4Bytes lang ist, kann es keine Zahl (zumindest der angegeben Variante) sein.
Wie sieht jetzt ein String aus? So, oder genau so nicht? Ist das ein Null-Terminierter String? Hast du eine Referenz, um heraus zu finden, ob du es richtig machst? |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Schrolli |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also was bei mir ankommt sieht im moment so aus
Das ist der Teil der laut Spezifikation nach dem SET parameter kommt. MfG Basti |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hin und her, kein Problem:
BlitzBasic: [AUSKLAPPEN] Local st$=IntTokrypString(666) + IntTokrypString(42) + FloatTokrypString$(1.5) + FloatTokrypString$(Pi) |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Schrolli |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kann dem Code nicht ganz folgen? Die ersten beiden Funtionen entsprechen denen, welche in dem Script auch enthalten sind. Aber die unteren? Und wie würde mir das helfen.
MfG Basti |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die unteren sind die Umkehrfunktionen - mit denen bilde ich den Teststring, da ich ja nicht deine Daten habe.
Dann zerteile ich den wieder in 4er Stücke und bekomme wieder die Zahlen heraus, die ich am Anfang hatte - funktioniert also alles bestens. Wenn es bei dir nicht so funktioniert, übersehe ich etwas bzw. dein Datenformat ist noch etwas anders. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Schrolli |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
BlitzBasic: [AUSKLAPPEN]
Es scheint als lassen sich alle Zahlen auslesen, außer die Y Koordinate stelle ich gerade fest. Verstehe jedoch nicht wieso. MfG |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Laut deiner Angabe kommt x vor y.
- Funktionen die du öfters brauchst wie GraphicsHeight() 1x in Variablen Speichern; Schneller, übersichtlicher. - Funktionen können Werte zurück geben. Wozu ist rFloat da? |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Schrolli |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nach dem drehen von X und Y wird jetzt meine X Bewegung als eine Y Bewegung interpretiert... iwas ist da beim senden verdreht? Das ist aber anscheinend ein offizielles Probelm wie ich in einem englischen Forum gelesen habe.
Allerdings ist die Y Koordinate immer 600 also graphicsheight() MfG Edit: der Code ist von hier: http://nuigroup.com/forums/viewthread/7448/ Ich versuche das ganze gerade anzupassen, bis jetzt habe ich eigentlich auch alle Variablen rausbekommen bis auf Y da kommt komischweise immer meine Fenster Hähe raus? |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group