You are here: Startseite Users hartmut_bohnacker Programmiersprachen 3 ButtonLab 2.1

ButtonLab 2.1

Tags
Backlinks
» Tags: "ButtonLab 2.1" is tagged as
» Backlinks: These Wikipages link to "ButtonLab 2.1"

Ein Labor um verschiedene Buttons mit einem Abstandssensor auszuprobieren.

Die Bedienung eines Buttons mithilfe eines Abstand Sensors unterscheidet sich in mehreren Punkten von der gewohnten Maus/Touch Interaktion.
Da es auf diesem Gebiet noch keine Standarts gibt, haben wir ein Button Labor für Abstandssensoren in Processing/Eclipse entwickelt. Hier lassen sich verschiedene Grundlegende Einstellungen untersuchen.
Dabei sind neben mehreren GUI Elementen auch eine Möglichkeit entstanden, wie der Mappingbefehl verändert werden kann um die Transition zwischen den Status genau

einstellen zu können.

Buttons einstellen

Die Kurven bestimmen, wie ein Status in den nächsten morpht. Diese Kurven lassen sich vollständig anpassen.

Wurden vier Status ausgewählt kann man sie im "Button testen" Modus ausprobieren.

Button testen

 

Im Folgenden wird erklärt, wie man solche Bezierkurven Funktionen erstellt.

Durch das verwenden der Bezier Kurve und der bezierpoint funktion kann der mapping befehl verändert werden. Im ButtonLab wurden immer zwei bezier Kurven hintereinander gelegt, um die Kurve genauer einstellen zu können. Das Prinzip sieht folgendermaßen aus.

Bezier mapping

float t = map ( input, inputLow, inputHigh, 0, 1 );
float x = bezierPoint( x1, x2, x3, x4, t );
float y = bezierPoint( y1, y2, y3, y4, t );

valueMap = map( y, y1, y2, targetValueLow, targetValueHigh );

 

 

Wenn man mehrere Bezier Kurven aneinander legt, muss man die gesamte Länge kennen, um gleichmäßig mappen zu können. Mit dieser Funktion kann man die ungefähre Länge einer Bezier Kurve berechnen.

Aus zwei aneinanderliegenden BezierKurven wird der Mittelpunkt berechnet. mX1 - mX2 und mX3 und mX4 sind die Start und Endpunkte der Kurven.

float l1 = getBezierLength(x1, y1, Acnx1, Acny1, Acnx2, Acny2, x2, y2);
float l2 = getBezierLength(x3, y3, Acnx3, Acny3, Acnx4, Acny4, x4, y4);
float l = l1 + l2;
         
         mX1 = map(x1,70,683,40,0 );
         mX4 = map(x4,70,683,40,0 );

         mX2 = map(l1,0,l,mX1,mX4 );
         mX3 = mX2;

 

// Die Länge wird annäherunsweise betimmt.

float getBezierLength(float x1, float y1, float ax1, float ay1, float ax2, float ay2, float x2, float y2) {
        float oldx = x1;
        float oldy = y1;
        float sum = 0;
       

// wird das maximum der for schleife erhöht, wird die Länge genauer berechnet
        for (int i = 1; i<=20; i++) {
            float t = map(i, 0,20, 0,1);
            float nextx = bezierPoint(x1, ax1, ax2, x2, t);
            float nexty = bezierPoint( y1, ay1, ay2, y2, t);
            sum += dist(oldx, oldy, nextx, nexty);
            oldx = nextx;
            oldy = nexty;
        }

        return sum;
       
    }

Eclipse

http://ig.hfg-gmuend.de/Members/antonio_kraemer/ButtonLab2.1.zip/view

http://ig.hfg-gmuend.de/Members/antonio_kraemer/GUIclasses.zip/view

Processing

http://ig.hfg-gmuend.de/Members/antonio_kraemer/mapCostum2.pde/view

http://ig.hfg-gmuend.de/Members/antonio_kraemer/lengthOFbezier.pde/view

 

//

antonio.kraemer@hfg

patric.sterrantino@hfg

marcel.mueller@hfg

(0 Words, 0 Weblinks, 0 Pictures and 0 Video) - Seite Drucken
Page created by antonio_kraemer. Last modification on 01.06.2011 13:54
© 2008 Hochschule für Gestaltung, Schwäbisch Gmünd. Impressum
0
» Post-it
jb
17:08, 26.11.2012

Again: Das digitale Klassenzimmer: [link]:article_id=228744

12:27, 31.08.2012

Retweetet diesen Tweet und gewinnt eine von 2 Freikarten für die push.conference in München am 24. Nov. [link]

09:29, 09.07.2012

Praktikumsplatz ab sofort bei schnelle-bunte-bilder in Berlin.
[link]

17:07, 05.06.2012

push.conference ist heute online gegangen. Fixes Studentenkontingent inklusive. [link]

jb
14:03, 07.05.2012

Disney Research's Touché system detects your touch on most things [link]

10:44, 14.02.2012

UX-Designer sind eine der bestbezahltesten IT-Jobs in 2012 [link]

16:13, 08.12.2011

predicting the future of computing [link]

09:35, 09.11.2011

Sehr lesenswerter Artikel zum Thema Touch-Interfaces.

[link]

15:56, 04.11.2011

ERGOSIGN München sucht einen Praktikanten (m/w): [link]

17:40, 27.10.2011

Games, Life & Utopia Conference an der FH Potsdam. Alle sind eingeladen. [link]

08:27, 27.10.2011

Zurück nach Gmünd. Heute um 15:30 mit meinem Vortrag »How to start up a design studio«

jb
14:00, 26.09.2011

Erdbebenwarngerät auf Arduino-Basis:

[link]

11:39, 16.08.2011

decoded conference 2011 wieder in München. 1 Tag. 6 Sprecher. Early Birds mit 15% Studentenrabatt sind noch zu haben [link]

00:27, 04.08.2011

US debt problem visualized [link]

jbo
12:42, 14.07.2011

Complexity vs Complicated — [link]

jbo
09:39, 06.07.2011

Einfache Tweenings in HTML/CSS – [link]

08:49, 04.07.2011

Hmmm. Lots of data waiting to get visualized... [link]

18:04, 17.06.2011

An Infographic about the Anatomy of a Computer Virus
[link]

15:25, 08.06.2011

Nokia Maps Berlin sucht UX-designer/Visual designer als Verstärkung. Go here: [link] and search for RES000001O9

10:46, 07.06.2011

[link] powerful Augmented Reality Picture tracking.