Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

05.01.2004, 10:19

Wie: Nächster Punkt auf Ebene zu anderem Punkt

Hallo,

hat jemand eine Idee, wie ich das (möglichst schnell) berechnen könnte?

Gegeben ist eine Ebene A und ein Punkt B. Gesucht ist nun der Punkt C, der
->Die Ebenengleichung erfüllt
->Dessen Distanz zu Punkt B == der Distanz Punkt B-Ebene ist.

Sozusagen den nächsten Punkt auf der Ebene zu B.

Danke,

Chrissi

2

05.01.2004, 16:57

wenn du die ebenengleichung hast,
dann versuchs doch mal so:

C = B + d(B; A)*Na

will heißen, C findest du indem du von B "abstand von B zu A"-mal den normalenvektor von A entlanggehst.

3

05.01.2004, 17:03

ps: du solltest drauf achten, dass du den normalenvektor normailisert hast,
sonst kriegst du den abstand als vielfaches der länge des normalenvektors

4

05.01.2004, 18:22

Hi,

superliebennettenDank... ;D

Also etwa so:

Quellcode

1
2
3
4
5
6
7
void GetNearestPoint(const tbPlane& Plane, const tbVector3& vPoint, tbVector3* pvOut)
{

pvOut=vPoint+tbPointPlaneDistance(vPoint, Plane)*tbVector3Normalize(Plane.n);

return;
};


Danke,

Chrissi

5

05.01.2004, 19:55

ich kenn die triabse engine neicht, aber sieht gut aus.
nur solltest du vielelciht den normalenvektor deiner eben nicht
jedes mal neu normalisieren. weist, scho...sqrt ist eine seeeeehr langsame
funktion. darum verzichte lieber drauf bei jedem frame die wurzel zu ziehn.

23

Werbeanzeige