| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| new user Registriert seit: Oct 2005
Beiträge: 140
| Punkte, mit demselben Abstand, auf einer Kugel, mit Winkeln bestimmen
Hi, mein Problem hat zwar nichts mit Flash zu tun, aber da ich mit diesem Forum schon gute Erfahrungen gemacht habe, dachte ich mir, ich stelle die Frage doch hier. Es ist etwas schwer zu erklären, aber ich versuchs trotzdem ![]() Es geht darum, dass ich in einem Spiel eine Weltkugel erstellen möchte. Jedoch sollen alle Punkte auf der Kugel nicht durch ihre x,y und z Koordinaten bestimmt sein, sondern durch zwei Winkel und dem Radius. Hinzu kommt, dass alle Punkte, die ich auf der Kugel berechnen will (es sollen beliebig viele sein), den gleichen Abstand (oder zumindest so gut wie) voneinander haben sollen. (also von denen in ihrer Nähe) Mein Ansatz war es, von dem Punkt auszugehen, der auf der z-Achse liegt, und ihn dann um die x-Achse und um die y-Achse zu drehen. Jedoch ist das Ergebnis unbefriedigend, da sich die Punkte an den Polen häufen. Zur veranschaulichung hier der kleine (dirty) Quellcode (Fenstergröße 500x500): Code: var r = 200;
var s = 30;
var c = Math.PI;
lineStyle(2);
for(var x = -c; x < c; x += c/s){
for(var y = -c; y < c; y += c/s){
var xPos = 0;
var yPos = 0;
var zPos = r;
xPos = -zPos*Math.sin(y)*Math.cos(x);
yPos = zPos*Math.sin(x);
zPos = zPos*Math.cos(y)*Math.cos(x);
xPos += 250;
yPos += 250;
zPos += 250;
moveTo(xPos, yPos);
lineTo(xPos+0.5, yPos+0.5);
}
}
stop(); Hoffe ihr könnt mir weiterhelfen, ich selber stecke fest... Gruß PD
__________________ Die Summe aller menschlichen Intelligenz ist eine Konstante. Das Problem ist das Bevölkerungswachtum... Gratiswebserver mit MySQL-Datenbank und vieles mehr dank www.lima-city.de! |
| | |
| | #2 (permalink) |
| i ate pixels Registriert seit: Mar 2004 Ort: Augsburg
Beiträge: 528
|
hm das würde ich mit 360 / n ( punkte auf Kreis ) berechnen Das machst du einmal für einen kreis auf der xy achse und dann für jedes punktepaar für die zx achse. Damit haste gleiche abstände und den winkel somit auch ![]() ansonsten bei Wikipedia nachschauen da wird dir immer geholfen
__________________ GTA ähnliches Auto mit HTML, CSS3 + JavaScript |
| | |
| | #3 (permalink) |
| ChronoGuard Registriert seit: Mar 2002 Ort: Saarbrücken
Beiträge: 2.649
|
Gleichverteilung auf einer Kugel-Oberfläche ist höhere Schule der Mathemathik. Für einen Normalsterblichen kaum nachzuvollziehen. Kannst dir ja das hier mal angucken: http://www.harfesoft.de/aixphysik/statistik/chapter4_2/ Hab mich vor einiger Zeit versucht, es vorerst aber mal auf Eis gelegt. http://www.johnboy-rock.de/test/kugel.html Hier der Thread dazu: Gleichmäßige Verteilung auf einer Kugel Ein "einfacherer" Lösungsweg wäre, sich gleichmäßiger Formen (platonische Körper) zu bedienen, dann sind die Punkte halt immer beschränkt.
__________________ we will stop enhancing the truth in 3, 2, ... |
| | |
| | #4 (permalink) |
| new user Registriert seit: Oct 2005
Beiträge: 140
|
@Sephiroth1104: Genau das habe ich ja gemacht, mit dem Ergebnis, welches oben eingesehen werden kann. @Sephiroth1104: Platonische Körper helfen mir in dieser Hinsicht leider nicht weiter, auch die Gleichverteilund auf einer Kugeloberfläche (wow, wie man nur auf sowas kommt...) hilft mir leider nicht weiter. Ich möchte jeden Punkt durch zwei Winkel und dem Radius angeben können, sodass 1° änderung immer den gleichen abstand bedeutet. (Eine Annäherung würde mir auch schon reichen) Ich werde es noch mit 3 Winkeln und dem Radius versuchen (Willkommen im 4D Raum...) bzw. ein bischen mit den Drehachsen herumspielen. Bin natürlich weiterhin für Ideen und Links offen ![]() Gruß PD PS @Sephiroth1104: Genau soweit bin ich momentan
__________________ Die Summe aller menschlichen Intelligenz ist eine Konstante. Das Problem ist das Bevölkerungswachtum... Gratiswebserver mit MySQL-Datenbank und vieles mehr dank www.lima-city.de! Geändert von PinkDragon (17-06-2008 um 12:31 Uhr) |
| | |
| | #5 (permalink) |
| Der Wunderhund Registriert seit: Jun 2002 Ort: Hattingen
Beiträge: 10.515
|
Wenn ich meinen kurzen Nachforschungen zu diesem Thema glauben darf, kann man das nicht mit beliebig vielen Punkten machen. André Michelle (wer auch sonst ) hat dazu mal was gemacht.http://lab.andre-michelle.com/dynamic-geosphere gruß, gaspode |
| | |
| | #6 (permalink) |
| new user Registriert seit: Oct 2005
Beiträge: 140
|
Das Problem ist, dass ich in einem Koordinatensystem arbeiten möchte, indem die Position nur durch (zwei) Winkel und dem Radius angegeben ist. Es muss zwischen den Punkten immer (möglichst) genau der gleiche Winkel sein. Aber vllt ist es ja möglich, die Rekursion, die hinter so einer Kugel steckt, auf Winkel umzuberechnen... Klingt kompliziert, aber ich werds mal versuchen. EDIT: So, nach langem Überlegen kam ich zu dem Entschluss, dass es so wie ich es mir vorstelle nicht möglich ist. Immer wenn man einen Punkt über zwei Winkel bestimmt, sammeln sich die Punkte an den Enden der 2. Drehachse... Danke für die Tipps und Links, aber ich werde mir eine andere Lösung suchen müssen. Gruß PS
__________________ Die Summe aller menschlichen Intelligenz ist eine Konstante. Das Problem ist das Bevölkerungswachtum... Gratiswebserver mit MySQL-Datenbank und vieles mehr dank www.lima-city.de! Geändert von PinkDragon (17-06-2008 um 17:31 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |