# Java 3D: Alpha, wie benutzten?



## Developer_X (7. Feb 2009)

Hi, ich weiß, die Klasse Alpha ist vieler weise nutzbar, z.B. sie kann dinge rotieren lassen, usw...
kann mir einer bitte ein Applet oder eine Applikation schreiben, in der ein simpler Ball sich durch Alpha, von einem festgelegten Punkt, zu einem anderen Festgelegten Punkt sich bewegt, und die Schnelligkeit der Bewegung, außerdem  sollte der Ball, nachdem er den zweiten Punkt berührt hat, 
wieder die Animation wiederholen. Kann mir einer helfen?
Danke schon mal im Voraus, 
Developer_X


----------



## 0x7F800000 (7. Feb 2009)

Developer_X hat gesagt.:
			
		

> Kann mir einer helfen?


Das was du beschreibst sieht doch ziemlich genauso, wie die erste Funktion auf dem Dritten Plot aus. Reicht's nicht, den Beispielcode da einfach rauszukopieren?

<imho> manoman, bin ich froh dass ich mich nicht für dieses J3D entschieden hab :roll: Warum soll man den leuten sowas wie die Steuerung der Zeit abnehmen wollen? Was hat es denn mit dem Zeichenvorgang zu tun :autsch: Die mischen sich da in irgendwelche Sachen ein, die sie überhaupt nichts angehen... :? </imho>


----------



## Developer_X (7. Feb 2009)

was Java3D!
und Alpha
kann mir einer ein Beispiel gebN?
Bitte


----------



## Illuvatar (7. Feb 2009)

Andrey hat gesagt.:
			
		

> <imho> manoman, bin ich froh dass ich mich nicht für dieses J3D entschieden hab :roll: Warum soll man den leuten sowas wie die Steuerung der Zeit abnehmen wollen? Was hat es denn mit dem Zeichenvorgang zu tun :autsch: Die mischen sich da in irgendwelche Sachen ein, die sie überhaupt nichts angehen... :? </imho>


Nur als Anmerkung: Das ist nur eine (imho nützliche) Hilfsklasse. Wenn du die Zeit selber "steuern" () willst, kannst du das natürlich.



> was Java3D!
> und Alpha
> kann mir einer ein Beispiel gebN?
> Bitte


Äh... nochmal auf Deutsch bitte :autsch:


----------



## Developer_X (7. Feb 2009)

Kann mir einer aus diesem forum eine Beispielsklasse für die Verwendung von Alpha geben?
und zwar eines Alphas, bei dem ein objekt von punkt a zu punkt b gelangen soll

PS:
Verzeihung ich drückte mich vorhin im Idolektischen Deutsch aus.


----------



## 0x7F800000 (7. Feb 2009)

Illuvatar hat gesagt.:
			
		

> Nur als Anmerkung: Das ist nur eine (imho nützliche) Hilfsklasse. Wenn du die Zeit selber "steuern" () willst, kannst du das natürlich.


Ne, ich weiß nicht, hab mir diese Beispiele da aus dem Tutorial angeschaut, da ist mir in den Sinn gekommen, dass das erste ein Prototyp von Pong auch auf einem Oszilloskop "programmiert" wurde^^ :shock: 
Ne, wer's praktisch findet: bitte sehr... Aber wie sieht es da aus, wenn man in so ein "Alpha"-Ding jetzt zig tausend mit runge-kutta integrierte bewegungen von teilchen, die miteinander alle kollidieren, reinstopfen muss? ???:L Kann's mir grad irgendwie schwer vorstellen :bahnhof: 



> Äh... nochmal auf Deutsch bitte :autsch:


keine ahnung. ich will nicht mal wissen, was dieses "idolektische Deutsch" sein soll, ihren Zweck erfüllt diese mysteriöse Sprache jedenfalls nicht ???:L



> Kann mir einer aus diesem forum eine Beispielsklasse für die Verwendung von Alpha geben?
> und zwar eines Alphas, bei dem ein objekt von punkt a zu punkt b gelangen soll


In dem tutorial wird doch eine Sägezahn-Alpha erstellt, wo hast du denn schwierigkeiten damit, den passenden codeabschnitt daraus zu kopieren? ???:L


----------



## Illuvatar (7. Feb 2009)

Andrey hat gesagt.:
			
		

> Ne, wer's praktisch findet: bitte sehr... Aber wie sieht es da aus, wenn man in so ein "Alpha"-Ding jetzt zig tausend mit runge-kutta integrierte bewegungen von teilchen, die miteinander alle kollidieren, reinstopfen muss? ???:L Kann's mir grad irgendwie schwer vorstellen :bahnhof:


* :### Wiki :### *

Da wird man garantiert kein Alpha dafür verwenden 
Kurzversion: In J3D gibt es _Behaviors_. Wenn man die nicht verwendet, gibt es Probleme wegen Asynchronität mit dem J3D-Thread (z.B. wie das vom OP beschriebene, oder irgendwelche nicht reproduzierbaren Exceptions, oder...). Die Behaviors können über WakeupCriterions dem J3D-Thread mitteilen, wann sie aufgerufen werden wollen. Zum Beispiel WakeupOnElapsedFrames, oder WakeupOnCollisionEntry. Um das zu vereinfachen, gibt es eine Menge vordefinierter Unterklassen von Behavior, eine wichtige Teilmenge davon sind die Interpolators, davon gibts wiederum die Unterklasse TransformInterpolator. Die Dinger verändern eben kontinuierlich die Transformationsmatrix (da gibts dann noch mehr Unterklassen, die das alles ziemlich einfach machen, aber man kann auch halbwegs komplizierte Sachen anstellen wenn man mag), bzw. sie definieren eine Funktion [0,1] -> (matrix). Und *nur* für diese Interpolators braucht man jetzt die Alphas. Ein Alpha definiert dann eine Funktion von der Zeit auf [0,1]. Auch mit einem Alpha kann man einiges anstellen wenn man will, aber worum es mir geht: man kann auch eigene Behaviors schreiben, die komplett unabhängig von Alphas sind.

Edit: Oh je, das hätte doch die Kurzversion werden sollen^^


----------



## 0x7F800000 (8. Feb 2009)

Illuvatar hat gesagt.:
			
		

> Oh je, das hätte doch die Kurzversion werden sollen^^


besten Dank für einen zwar nicht wirklich verständlichen, aber umso eindrucksvolleren Einblick in die Welt von J3D... :shock:
Mir gefällt die Ganze Geschichte aus einem ganz bestimmten Grund nicht: wie sich meine Teilchen Bewegen, wie sie Kollidieren und was sie sonst anstellen ist mein Model. 3D-Grafik ist das View. Dieses View sollte sich aus allem, was auch nur irgendwie mit dem Model, der Physik oder der Zeit zu tun hat vollständig raushalten. Deswegen kann ich überhaupt nicht nachvollziehen, wieso bei Java3D überhaupt irgendwas in Richtung Animation geht, oder wieso es da Klassen wie WakeupOnCollisionEntry mit dem Stichwort *Collision* gibt... Das ist doch ziemlich klar Sache der Physikengine... ???:L Oder wie?


----------



## Developer_X (8. Feb 2009)

ok


----------

