Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - fosb

Pages: [1]
1
German corner / Frage zur Skalierung der Primitives
« on: May 01, 2011, 07:08:10 pm »
Hi,


ich verstehe die Skalierung bei den Primitives nicht so wirklich:

In welcher Einheit findet die Skalierung statt?
Wie muss ich mir das vorstellen?

Wenn ich eine  Sphere erstelle
und einen (flachen) Zylinder - also eine Scheibe - um den gleichen Punkt
per

Code: [Select]
Object3D sphere = Primitives.getSphere(15, 0.5f);
sphere.setOrigin(new SimpleVector(100, 0, 0));

Object3D cylinder = Primitives.getCylinder(20, 1f, 0);
cylinder.setOrigin(new SimpleVector(100, 0, 0));


Dann habe ich eine Kugel mit einem Radius und eine Scheibe mit dem doppelten Radius.

Aber in welcher Einheit findet das ganze statt?


Mein Problem ist:

Ich habe vor in meine World Kugeln als Planeten random einzufügen.
Ich möchte sie so einfügen, dass ein bestimmter Radius um den Planeten
frei bleibt.
Da das Ganze auf einer 2D Ebene stattfinden soll, wollte ich das machen mit der Formel

( xQ - xP )² + ( yQ - yP )² <= r²


Für P ( xP| yP ) als Mittelpunkt und Q ( xQ | yQ ) als zu untersuchender Punkt.
(Wenn das Ergebnis der linken Seite <= r² ist, ist der Punkt auf der Kreisscheibe. )


Um das ganze mal visuell sehen zu können habe ich testweise die 'Scheibe' in meine World eingefügt,
um dann zu entscheiden wie groß eigentlich der freie Radius um den Planeten sein soll.


Aber wie groß ist der Radius und welche Einheit hat er?

Ich hoffe mir kann jemand helfen damit und das die Frage halbwegs verständlich ist.

Danke und Gruß

fosb


2
German corner / Linie auf Y-Achse nicht sichtbar / Grid zeichen
« on: March 09, 2011, 10:33:21 pm »
Noch eine Frage:

Wenn aus diesem Topic
http://www.jpct.net/forum2/index.php/topic,1091.0.html

diesen Code

Code: [Select]
public Object3D createLine3D(SimpleVector from, SimpleVector to)
{
Object3D object=new Object3D(4);

SimpleVector delta=to.calcSub(from);
SimpleVector zaxis=delta.getRotationMatrix().getZAxis();
zaxis=zaxis.normalize();
zaxis.rotateY(1.571f);
SimpleVector from1=new SimpleVector(from);
from1.add(zaxis);
SimpleVector to1=new SimpleVector(to);
to1.add(zaxis);
object.addTriangle(from, 0, 0, from1, 0, 1, to1, 1, 1);
object.addTriangle(to1,1,1,to,1,0,from,0,0);
from1=new SimpleVector(from);
from1.y-=2f;
to1=new SimpleVector(to);
to1.y-=1f;
object.addTriangle(from, 0, 0, from1, 0, 1, to1, 1, 1);
object.addTriangle(to1,1,1,to,1,0,from,0,0);
object.build();
object.setCulling(Object3D.CULLING_DISABLED);
return object;
}

benutzte um eine Linie auf der Y-Achse zu zeichnen, ist diese nicht sichtbar.
(Wenn ich die Linie leicht schräg zeichne, z.B. den Anfang und das Ende auf der x-Achse leicht versetzt wird die Linie gestrichelt dargestellt)

Woran liegt das und kann ich das Problem beheben?


Danke nochmals

3
German corner / Object3D Objekte zu einem Objekt3D zusammenfügen
« on: March 09, 2011, 10:16:43 pm »
Hi,

ich bin noch ziemlich neu und am Anfang mit jpct,
sowie im Grafikbereich...

Mich würde Interessieren ob ich Object3D Objekte zu einem Objekt zusammenfügen kann,
so dass ich in einer Methode mehrere Object3Ds erzeugen und als ein Objekt3D zurückgeben kann.


Vielen Dank

fosb

Pages: [1]