C++Guns – RoboBlog blogging the bot

27.04.2011

katerFEMpresenter

Filed under: Allgemein — Thomas @ 12:04

Hab mir ein Programm geschrieben welches die FEM Netze anzeigen kann, die wir auf der Arbeit benutzen.

Eckdaten:
-geschrieben in C++. Für GUI QT. Für die Netze eine eigene Lib
-beliebig viele Netze in eigenem Fenster ladbar
-stufenlos zoomen
-Ausschnittsweise zoomen
-scrollen
-unterschiedliche colorierungen.
-tiefencolorierung
-"goto" funktion fuer elmente und nodes
-screenshot
-render elment und node nummer
-recent file list

Hier ein paar Bilder:

Hauptfenster

Hauptfenster

color elements

color elements

color nodes

color nodes

color depth

color depth

graph

graph


more content coming soon

25.04.2011

Libre/ Open Office

Filed under: Allgemein — Thomas @ 12:04

Es ist nicht möglich in Libre/ Open Office ein Graph mit X Error Bars zu plotten. Haben die nie implementiert. Das steht seit mindestens 2005 auf ihrer Liste
http://openoffice.org/bugzilla/show_bug.cgi?id=42946
Wir leben im 21. Jahrhundert und ich hab jetzt ne halbe Stunde meines Leben verschwendet herauszufinden das es nicht geht. Und da schauen mich die Leute an warum ich sowas komisches wie gnuplot/latex nutze. Einmal in die Fresse hauen bitte.

19.04.2011

Portal Cake

Filed under: Allgemein — Thomas @ 13:04

Happy Birthday to me :P

portalcake

04.04.2011

Etwas über C, Assember und Performance

Filed under: Allgemein — Tags: , — Thomas @ 21:04

Angenommen, ihr habt folgenden Code

int main()
{

  int i = 0;
  for(; i < 255; i++)
  {
    if(i != 10)
      printf("a");
    else
      printf("b");
  }

  return 0;
}

Angenommen, man ändert if(i != 10) zu if(i == 10). Läuft der Code schneller? Bei diesem Beispiel: Nein.

Ich habe mir den erzeugten ASM Code ausgeben lassen (--save-temps) und die Anzahl der Vergleiche und Sprünge verglichen. Beide male jeweils zwei. Schaltet man nun die Compileroptimierung ein (-O3), ändert sich der Code gewaltig. Es gibt nun ein Vergleich und ein Sprung für den Fall wenn die Variable i gleich 10 ist und zwei Vergleiche und ein Sprung wenn sie ungleich 10 ist. Ändert man den Code nun entsprechend, bleibt das Ergebnis gleich.

Wer es nicht glaub kann ja gern selbst den ASM Code sich anschauen ;) Das gilt aber nur für exakt dieses Beispiel. Schaltet man nun irgendwelche andere Optimierungen ein, oder benutzt Arrays statt der Laufvariable i, sieht alles wieder anders aus.

Interessant wäre es mal selbst Assembler Code zu schreiben der diese Aufgabe mit möglichst wenig Vergleiche und Sprünge in der Summe über die gesamte Laufzeit bewältigt.

02.04.2011

Radioaktivitätsmessnetz

Filed under: Allgemein — Thomas @ 21:04

Gugst du hier
http://odlinfo.bfs.de/

Aktor - rebuild

Filed under: Allgemein — Tags: — Thomas @ 21:04

Der letzte Aufbau war schon ganz gut, aber nicht perfekt. Z.B. ist die obere Platte zu kurz. Wir haben sie länger gemacht, so dass sie an zwei Stellen mit Klettband an der Hand fixiert werden kann. Einmal vor und einmal hinter dem Daumen. Allerdings ist sie schon fast zu lang geworden. Sie stört am Handgelenk und and den ersten Gelenken der Finger.

Das Klettband muss etwas schräg montiert werden. Und allgemein sollte man die Platte an die Form der Hand anpassen.

Die Befestigung der Servomotoren ist jetzt auch einfacher. Es sollte sogar noch Platz für ein dritten Motor da sein. Und vllt. noch eine dicke LED. Dann kann man den Datenhandschuh gleich als Taschenlampe benutzen :) Ich hab mir auch schon eine ausgesucht. Spannungsregler und Temperaturüberwachung ist gleich alles mit drauf auf der Platine. Dazu noch eine Linse mit 7° oder 15°.

Irgendwann muss da noch ein Servocontroller drauf. Und eine 5V Spannugsversorgung. 6 Servos ziehen ja schon ordentlich viel Strom. Aber wo das alles Platz finden soll, kann ich noch nicht sagen.

datenhandschuh_aktor3

Powered by WordPress