projekt.thermobjekt@roman.Vogl

May 17, 2006

physik engine zur kollisionserkennung in 3d

Filed under: 3D-Objekt/OpenGL, Softwaredesign, Uncategorized — roman @ 11:19 am

ich entschied mich für die newton physic engine / version 1.52 / gibt es für mac linux u. pc
(freie bibliothek) newton physic engine ist aufgebaut auf OpenGL und enthält eine kollision detection (ideal für mein projekt). -> www.newtondynamics.com

-probleme beim einbinden am mac mit Xcode 2.1:
- newton 1.52 graucht gcc 4.x (bei mac ab XCode 2.x)
-fehlermeldung: error:’size_t’ has not been declared Newton.h:93
error:’size_t’ has not been declared Newton.h:92

typedef void (*NewtonSerialize) (void* serializeHandle, const void* buffer, size_t size);
typedef void (*NewtonDeserialize) (void* serializeHandle, void* buffer, size_t size);

size_t ist eine standart deklarierte variable die für speicherplatzreservierung verwendet wird. sie ist im stddef.h deklariert. Da ich ohne prefixheader arbeite in der diese includiert ist, muss sie in newton.h mit #include eingebunden werden.

-fehlermeldung: ZeroLink: unknown symbol ‘_hightMap_debugCount’
thermobject_C++_v2-1c has exited due to signal 6 (SIGABRT).

hightMap_debugCount ist im common/HeightFieldCollision.cpp declariert : extern dInt32 hightMap_debugCount; das problem hier ist, dass XCode das sogenannte ZeroLink verwendet. ZeroLink (näheres in XCode-Help) dient zum schnellen entwickeln von Programmen. Es legt bei Mehrdateien-Programme objekt-files an *.o, die miteinander wärend der Laufzeit verlinkt werden. Dadurch wird in einen Projekt immer nur die Code-Datei compiliert, die geändert wurde.Es mussen nicht immer die gesamten Datein des ganzen Projektes compilieren werden. ZeroLink unterstützt aber nicht die verwendung von privaten externen symbolen. privat externe symbole sind nur sichtbar in modulen, die das selbe Mach-O file besitzen. darum muss man in

Projekt->Edit Projekt Setting -> Build -> Other Linker Flags -> -no-run-initializers-before-main

eingeben. Dann wird nach statischen initilaisierunge in allen objekt-file’s gesucht, und verlinkt bevor die main-funktion aufgerufen wird.

May 9, 2006

(virtuelle) Zellteilung

Filed under: Uncategorized, konzept, virtueller organismus — roman @ 4:16 pm

Die Zellteilung ist der biologische Prozess, der das Wachstum und die Fortpflanzung aller Lebewesen gewährleistet. Und da das ThermObjekt ebenfalls ein Lebewesen ist, ein virtuelles Lebewesen, wird sein Wachstum und Fortpflanzung ebenfalls durch die Zellteilung gesichert. Die Zellteilung gliedert in die Zellkernteilung(Mitose od. Karyokinese) und der Zellplasmateilung (Cytokinese) bei sog. Eukaryoten. Eukaryoten sind Lebewesen mit Zellkern. Lebewesen ohne Zellkern nennt man Prokaryoten (dazu zählt man Archaeen, Bakterien). Bei diesen Lebewesen findet keine Mitose -Zellkernteilung statt. Die Teilung entsteht durch die Einschnürung der Zellmembran. Eine zweite Form der Zellkernteilung, die Meiose, führt zur Bildung von Keimzellen(Gameten), die der geschlechtlichen Fortpflanzung dienen. Die Zeit zwischen zwei Teilungen nennt man Interphase. Bei geschädigten Zellen, wird der Interphase zum Dauerzustand. Sie teilen sich nicht mehr, sie befinden sich in der G0-Phase.
Zellteilung
Künstliche Befruchtete Eizelle im Stadium der Zellteilung
Der erste Schritt zur Teilung ist die Wachstumsphase, die G1-Phase, wo sich die Zelle unter ATP-Verbrauch (ATP-Adenosintriphosphat -universelle Form unmittelbar verfügbarer Energi in Zellen, und geleichzeitig ein wichtiger Regulator energieliefernder Prozesse) vergrößert und die Zellorganellen vervielfachen. Nach eine bestimmte Zeit beginnt dann die Verdopplung der Zellinhaltsstoffe und der DNA. Da beide Tochterzellen das gleiche Erbgut erhalten soll, müssen die Chromosomen repliziert werden. Das geschieht in der Synthese- oder S-Phase. Daran schließt sich eine Ruhephase an -G2-Phase. bevor die eigentliche Mitose beginnt. Die zwei identischen Tochterstränge eines Chromosoms nennt man Chromatiden. Im Laufe der Mitose wird die Kernmembran aufgelöst, die Schweterchromatiden werden getrennt, an gegenüber liegende Enden der Zelle gebracht und wieder in Kernhüllen verbackt. Alle anderen Zellbestandteile verteilen sich in die zweite Zellhälfte, die Zellmembran schnürt sich in der Mitte ab, und es entstehen zwei Tochterzellen. Bei ausreichender Nahrungsangebot sind Zellen unsterblich: Theoretisch können sie sich unendlich teilen. Im Körper muss die Zellteilung daher beschränkt sein. Tatsächlich dürfen nur spezielle Stammzellen den Nachschub für das jeweilige Gewebe bilden, und zwar genau in dem Maß, wie Zellen gestorben sind. Der Zeitlich Ablauf einer Zellteilung ist je nach Zelltyp unterschiedlich, im Mittel dauert dieser Prozess ca. 16 Stunden.

May 1, 2006

alternative überlegung für die sensorik des interfaces

Filed under: Interface Design, Microcontroller/Sensorik, Uncategorized — roman @ 12:48 am

ursprünglich war die idee, dass jeder einzelne Fingerspritze mit einen eigenen 3-Achsen Beschleunigungssensor ausgestattet wird. Mit versuchen von 2-Achsen Beschleunigungssensoren, kam ich zu den entschluß, dass diese art der umsetzung unmöglich ist. Das Problem bei den Beschleunigungssensoren ist, dass sie relativ arbeiten und nicht einen Zustand regestrieren, sonder nur zustandsänderungen. Das nächste Problem ist, dass sie beschleunigungen regestrieren in x,y und z achse, aber nicht ob es sich bei der beschleunigung um eine drehung oder eine translation handelt. Es ist also nicht möglich eindeutige Positionsbestimmung mit einen 3-Achsen-Beschleunigungssenor durchzuführen. Darum stehen in moment folgende Alternative zur Verfügung: es wird die hand mit einen 3-Achsen Beschleunigungsensor und einen 3-Achsen-Rotationssenor ausgestattet, der die Position der gesamten Hand im Raum regestrieren soll. Die rotation (beugung) der einzelnen Fingergelenkte werden mit mittels Drehpotentiometer oder Biegesenoren oder Dehnmessstereifen abgenommen, um dann die Positionen der einzeilnen Fingerkuppeln berechnen zu können.