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

Anonymous

unregistriert

1

01.04.2005, 10:24

Kugelfunktion

Hi,

ich habe eine Kugel mit dem Radius R. Meine Frage ist nun, welchen Radius hat die Kugel an der Höhe x? Die Höhe 0 ist einfach (0), r auch (r), und 2r auch (0), aber was ist dazwischen?

Anonymous

unregistriert

2

01.04.2005, 10:28

Re: Kugelfunktion

Zitat von »"n00b"«

Hi,

ich habe eine Kugel mit dem Radius R. Meine Frage ist nun, welchen Radius hat die Kugel an der Höhe x? Die Höhe 0 ist einfach (0), r auch (r), und 2r auch (0), aber was ist dazwischen?


Oh, ich glaube, ich habe etwas verwechselt. Ich meine nicht den Radius an der Höhe x sondern den Umfang...

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

01.04.2005, 11:02

Wenn ich Dich richtig verstehe, willst Du die Kugel in Scheiben zerlegen und quasi den Umfang einer beliebigen Scheibe wissen?
Deine Höhe x liegt also im Bereich 0 bis 2r .
Für eine Berechnung dieser Art ist es aber immer geiler etwas symmetrisches zu haben, also der Bereich -r bis +r wäre sehr cool ;) .
Also defininieren wir uns einfach eine Variable z = x - r , wobei x die betrachtete Höhe ist und r der Radius der Kugel, klar.
Da cos² + sin² = 1 erhälst Du eine kleine Formel für den Radius s einer Scheibe in Deiner Kugel: s = sqrt(1 - z²) .
Der Umfang dieser Scheibe ist nun trivial: U = 2 PI s

Ich hoffe, das war jetzt nicht zu verwirrend ;)

Anonymous

unregistriert

4

01.04.2005, 11:12

Wow...

also einfach nur

C-/C++-Quelltext

1
    return sqrtf(1 - (fPos-fSphereRadius)*(fPos-fSphereRadius));

Anonymous

unregistriert

5

01.04.2005, 11:45

Mal ne kleine Frage zwischen durch. Der Radius und die Höhe müssen doch im Bereich 1,-1 sein...

serial chiller

Frischling

Beiträge: 61

Wohnort: Rheinbach ;-(

Beruf: berufs chiller

  • Private Nachricht senden

6

01.04.2005, 20:58

Quellcode

1
-r<=x<=+r
:)

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

04.04.2005, 13:11

Zitat

Mal ne kleine Frage zwischen durch. Der Radius und die Höhe müssen doch im Bereich 1,-1 sein...

Sorry, war das ganze Wochenende unterwegs...
Ja, ich habe auf die schnelle nicht weit genug gedacht. Die Formel, die ich angegeben hatte, bezog sich nur auf eine Kugel mit dem Radius 1.
Folgende Beziehung sollte allgemein gültig sein:
s = sqrt(r² - z²) , mit z = x - r
Die Symbole haben selbe Bedeutung, wie vorher. Es wurde lediglich die 1 unter der Wurzel durch das r² ersetzt.

Werbeanzeige