Äußeren Punkt auf einer Kugel finden anhand XYZ von Punkt

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

Xaymar

ehemals "Cgamer"

Betreff: Äußeren Punkt auf einer Kugel finden anhand XYZ von Punkt

BeitragMi, Dez 23, 2009 3:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Titelzeile ist zu kurz >_>

Ich möchte anhand von XYZ werten eines Punktes berechnen wo dieser anhand von XYZR werten einer Kugel auf der Außenhülle liegen würde.
Das Problem: Der Punkt kann in und außerhalb der Kugel liegen.

Kann mir da wer weiterhelfen?
Warbseite

Mr.Keks

BeitragMi, Dez 23, 2009 3:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe leider nicht gaaaanz verstanden, was du meinst.
Geht es um Koordinaten-Umrechnung? Dann: http://de.wikipedia.org/wiki/Kugelkoordinaten
Oder willst du nur wissen, ob ein Punkt auf/in/außerhalb einer Kugel liegt? Dann musst du nur |P-M| = R betrachten (mit Punkt P, Kugelradius R und Kugelmittelpunkt M...)
MrKeks.net

Der Eisvogel

BeitragMi, Dez 23, 2009 10:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich würde die Distanz vom Mittelpunkt der Kugel zu deiner Koordinate berechnen, diese dann per Dreisatz o.ä. auf den Radius deiner Kugel bringen, und das gleiche machst du dann mit den Koordinaten.
Pseudo-Code: [AUSKLAPPEN]
r#=RadiusderKugel
dis#=DistanzzumMittelpunktderKugel
x=x/dis*r
y=y/dis*r
z=z/dis*r


Oder du berechnest die Winkel des Vektors Mittelpunkt der Kugel --> XYZ und berechnest mit diesen Winkeln und dem Raidus die neuen Koordinaten.

Ich persönlich bevorzuge die erste Methode. Ich hoffe beide Funktionieren. xD

EDIT: Hab was korrigiert.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

TimBo

BeitragMi, Dez 23, 2009 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Moment .

also gegeben ist ein Punkt xyz
und gegeben ist eine Kugel xyzr

jetzt willst du wissen, auf welche Koordinaten sich der Punkt auf der Oberfläche der Kugel befinden würde, wenn der Abstand der Radius wäre ?

oder habe ich die Aufgabe schon falsch verstanden ?

Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Xaymar

ehemals "Cgamer"

BeitragMi, Dez 23, 2009 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke ein Bild sagt mehr
user posted image
Auf dem bild sieht man eine Linie und einen Kreis. Hier ists einfach herauszufinden welche winkel ich nehmen muss, da es ja nur "Pitch" gibt. Jetzt brauch ich aber noch "Yaw" und da scheiterts bei meiner Berechnung.

Aus "Pitch" und "Yaw" kann ich ja dann den äußeren Punkt berechnen. Mir fehlt halt nur Yaw.
Warbseite

Goodjee

BeitragMi, Dez 23, 2009 15:57
Antworten mit Zitat
Benutzer-Profile anzeigen
jetzt verstehe ich es noch weniger Very Happy
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Der Eisvogel

BeitragMi, Dez 23, 2009 16:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich kapier es auch nicht wirklich. Kannst du vlt mal ein Beispiel geben. Werte?
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Xaymar

ehemals "Cgamer"

BeitragMi, Dez 23, 2009 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin irgendwie nicht gut im erklären ^^

neuer Versuch:
Ich habe einen Punkt/Vektor der irgendwo im Raum liegen kann und eine Kugel die auch irgendwo im Raum liegen kann. Nun möchte ich den Punkt zur Oberfläche des Kreises zwingen. Und zwar so, dass, wenn ich den Radius erhöhe, er irgendwann wieder auf dem vorigen Punkt landen würde, d.h. Auf eine Sphere mappen.
Und das gelingt mir derzeit nicht, immoment macht der punkt eher akrobatische Kunststücke, als da zu sein wo er hin soll

Edit:
Mal ein Beispiel:
Punkt liegt bei 5/5/5
Kugel liegt bei 5/6/5 und hat den Radius 5
Theoretisch sollte der Punkt nun auf 5/1/5 wandern. Bei mir tut er aber nach 10/6/3 wandern.
Warbseite

Holzchopf

Meisterpacker

BeitragMi, Dez 23, 2009 16:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann nimmst du einfach den Vektor vom Kugelmittelpunkt zum Punkt, teilst diesen durch seine Länge (Sqr(dx*dx +dy*dy +dz*dz) ) und multiplizierst ihn wieder mit dem Kugelradius.

mfG

Edit:
Und ja, diesen Vektor addierst du dann zum Ortsvektor des Kugelmittelpunktes (also die Position) und dann hast du die neue Position des Punktes.
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Jan_

Ehemaliger Admin

BeitragMi, Dez 23, 2009 16:53
Antworten mit Zitat
Benutzer-Profile anzeigen
P=Punkt
K=Kugel
R=Radius

Entfernung=SQR((XP-XK)^2+(YP-YK)^2+(ZP-ZK)^2)

XR=(XP-XK)/Entfernung*Radius
YR=(YP-YK)/Entfernung*Radius
ZR=(ZP-ZK)/Entfernung*Radius

--> vektor von Kugel zu punkt normalisieren und dann mal radius des Punktes
between angels and insects

Xaymar

ehemals "Cgamer"

BeitragMi, Dez 23, 2009 17:01
Antworten mit Zitat
Benutzer-Profile anzeigen
oh so geht das:/ ich hab das auf 2 ebenen gemappt und da die winkel rausgelesen.
steht ja schon in Der_Eisvogels Beitrag Sad
Danke für die hilfe
Warbseite

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group