Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mo Jul 21, 2025 20:41

Foren-Übersicht » Programmierung » Mathematik-Forum
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Gleichungen für Körper
BeitragVerfasst: Fr Jun 06, 2008 09:31 
Offline
DGL Member
Benutzeravatar

Registriert: So Jan 07, 2007 21:26
Beiträge: 130
Wohnort: mal hier mal da mal irgendwo
Hi,
ich kenn nun schon die gleichung von kugel und ebene (sind ja auch ganz simple körper).
aber ich wollte mal fragen ob es auch noch für andere körper solche gleichungen gibt und wenn ja wie die dann aussehen ;)

cuz bubble

_________________
Wenn Worte nichts als Worte sind,
dann müssen's Steine sein!
Solange - bis sie pleite sind - schmeißt Fensterscheiben ein!

- Fidl Kunterbunt -


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 06, 2008 09:40 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
An die Mathematiker: Das würde gut ins Wiki passen!
@theBubble: Schöne Frage!

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 06, 2008 14:25 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
kommt halt drauf an, was man haben will.. gleichungen für superellipsoiden hab ich denk im meinem raytracer-projektethread beschrieben... ne würfel hat z.B.
Code:
  1.  
  2. |max( x1, x2, x3)| = 1 .
  3.  


ne hochkanntgestellter würfel
Code:
  1.  
  2. |x1| + |x2| + |x3| = 1.
  3.  


Einfache Rotationsobjekte lassen sich auch sehr leicht in dieser art beschreiben... das billigste ist wohl ne zylinder
Code:
  1.  
  2. |x1|^2 + |x2|^2 = 1
  3.  


Oder oder oder...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 06, 2008 18:22 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Hi,
ich hab mal ein Referat in Mathe über algebraische Flächen gehalten...
Die Visualisierung hab ich mit OpenGL gemacht (Fläche als Punktwolke dargestellt).

Hier habe ich die verschiedenen Körper gefunden, von denen ich manche Implementiert habe.
Außerdem fliegt bei mir noch die PowerPoint Präsentation von dem Referat rum... bei Interesse kann ich sie ja mal Online stellen.
Nun gut... sie beruht auf meinem Wissensstand von der 13 Klasse... :lol:

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 12, 2008 07:09 
Offline
DGL Member
Benutzeravatar

Registriert: So Jan 07, 2007 21:26
Beiträge: 130
Wohnort: mal hier mal da mal irgendwo
@Delphic:

Zitat:
|max( x1, x2, x3)| = 1 .

was macht dieses max()?

@alle:
wenn man sich die galerie von freigeist.cc anguckt, dann hat man z.B.
x^6+y^6+z^6=1
für einen würfel, gibt es einen system mit dem man diese art von gleichungen für vektorrechnungen machen kann?
bzw wie ich dann die gerade in form von x=p0+t*a umformen muss dass ich gleichsetzen kann oder so?

(meine frage bezieht sich ja darauf, weil ich nen raytracer schreibe und immer nur kugeln zu rendern da auch recht langweilig beim testen wird :S)

cuz bubble

_________________
Wenn Worte nichts als Worte sind,
dann müssen's Steine sein!
Solange - bis sie pleite sind - schmeißt Fensterscheiben ein!

- Fidl Kunterbunt -


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 12, 2008 07:20 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
thebubble hat geschrieben:
was macht dieses max()?
Das max sucht das Maximum der Parameter. War uebrigens ein kleiner Fehler drin, die Betragsstriche gehoeren nach innen.

Code:
  1. max(| x1|, |x2|, |x3|) = 1 .
  2.  



thebubble hat geschrieben:
@alle:
wenn man sich die galerie von freigeist.cc anguckt, dann hat man z.B.
x^6+y^6+z^6=1

Vorsicht, das ist ein Wuerfel mit runden Ecken!!!


thebubble hat geschrieben:
für einen würfel, gibt es einen system mit dem man diese art von gleichungen für vektorrechnungen machen kann?
bzw wie ich dann die gerade in form von x=p0+t*a umformen muss dass ich gleichsetzen kann oder so?

(meine frage bezieht sich ja darauf, weil ich nen raytracer schreibe und immer nur kugeln zu rendern da auch recht langweilig beim testen wird :S)

Schau doch mal bei meinem Raytracer Thread vorbei. Da stehen ein paar Gleichungen und Begriffe mit drin, nach denen Du im Netz suchen kannst - jedes Buch ueber den Bau von Raytracern versorgt Dich damit noch schneller, wenn Du noch nicht die Erfahrung hast solche Gleichungen selbst aufzustellen. Ansonsten kann man einen Wuerfel auch mit 4 Ebenen bauen...


Zuletzt geändert von Delphic am Fr Jun 19, 2009 05:54, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 08, 2008 14:14 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Falls jemand den Code zur Verfügung stellen kann, hier wird drauf gewartet: http://wiki.delphigl.com/index.php/Techniken_und_Algorithmen#Geometrie_Objekte

bitte dort ergänzen.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 29, 2009 13:39 
Offline
DGL Member
Benutzeravatar

Registriert: So Jan 07, 2007 21:26
Beiträge: 130
Wohnort: mal hier mal da mal irgendwo
hi,

altes thema aber immer noch das gleiche problem

ich habe folgende geraden gleichung

Code:
  1.    (x1) (p1) (a1)
  2. I: (x2)=(p2)+(a2)*t
  3.    (x3) (p3) (a3)
  4.  

und folgende körpergleichung (wie schon oben)

Code:
  1. II: x^6+y^6+z^6=1


wie muss ich nun I in II einstetzen damit ich nach t umstellen kann?

cuz bubble

_________________
Wenn Worte nichts als Worte sind,
dann müssen's Steine sein!
Solange - bis sie pleite sind - schmeißt Fensterscheiben ein!

- Fidl Kunterbunt -


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 29, 2009 14:16 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
I in II:
Code:
  1. (p1+a1*t)^6+(p2+a2*2)^6+(p3+13*t)^6=1

Auspultiplizieren darfst du selbst. Bekommst ein Polynom vom Grad 6. Kannst du dann numerisch lösen - z.B. mit dem Satz von Sturm die Position der Nullstellen eingrenzen und dann mit Newtonverfahren die Nullstellen rausziehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 29, 2009 15:40 
Offline
DGL Member
Benutzeravatar

Registriert: So Jan 07, 2007 21:26
Beiträge: 130
Wohnort: mal hier mal da mal irgendwo
Jehu endlich weiß ich wie das geht, jetzt vergrößert sich endlich das Spektrum der Körper meines Raytracers

ty ;)

cuz bubble

_________________
Wenn Worte nichts als Worte sind,
dann müssen's Steine sein!
Solange - bis sie pleite sind - schmeißt Fensterscheiben ein!

- Fidl Kunterbunt -


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gleichungen für Körper
BeitragVerfasst: Mo Nov 02, 2009 08:44 
Offline
DGL Member
Benutzeravatar

Registriert: So Jan 07, 2007 21:26
Beiträge: 130
Wohnort: mal hier mal da mal irgendwo
Code:
  1. max(| x1|, |x2|, |x3|) = 1


Das ist ja die Funktion für einen Würfel. Aufgrund der Max-Funktion komme ich aber irgendwie überhaupt nicht mehr klar :(

Wenn ich den Würfel nun eine Position geben möchte muss ich ja eigentlich jedes Xi noch mit Posi subtrahieren. Für eine Schnittpunktberechnung, muss ich dann halt meine Gerade für Xi einsetzen. Danach wird nach t, dem Skalierungsfaktor für den Richtungsvektor umgestellt. Ich hab hier 5 Blätter mit unterschiedlichen Lösungsansetzten und damit auch 5 unterschiedlichen Lösungen, von denen alle falsch sind. :cry:

Kann mir vielleicht jemand zeigen, wie man das umstellen muss, im Internet finde ich auch nichts was mir ein wenig mehr Klarheit verschafft.

cuz bubble

_________________
Wenn Worte nichts als Worte sind,
dann müssen's Steine sein!
Solange - bis sie pleite sind - schmeißt Fensterscheiben ein!

- Fidl Kunterbunt -


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gleichungen für Körper
BeitragVerfasst: Mo Nov 02, 2009 09:48 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
da gibts ein paar anmerkungen: würfel bestehen aus 6 seiten... man könnte also auch 6 quadrate oder 12 dreiecke zum schnitt bringen.

Die Formel mit dem Max ist nichts anderes als die Variante mit den 6 Seiten, denn:
das max macht im Prinzip die Bedingungen unabhängig. Also betrachten wir nur mal eine davon:
Code:
  1. |x1|=1

den betrag lösen wir auf indem wir in zwei fälle zerlegen:
Code:
  1. I)  x1=1
  2. II) -x1=1

Das löst sich leicht auf und gibt Schnittpunkte mit zwei Ebenen I, II. Dann haben wir aber erst eine Bedingung erfüllt. Um den Rest zu prüfen, prüfen wir zusätzlich ob die Schnittpunkte die Bedingungen
Code:
  1. |x2|<=1
  2. |x3|<=1

erfüllen. Wenn ja dann sind das "gute Schnittpunkte", wenn nicht können Sie verworfen werden.

Das Spiel kann jetzt mit |x2|=1 und |x3|=1 statt |x1|=1 wiederholt werden.

Ist jedenfalls die Variante, die die Formulierung mit dem max nahelegt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gleichungen für Körper
BeitragVerfasst: Mo Nov 02, 2009 10:02 
Offline
DGL Member
Benutzeravatar

Registriert: So Jan 07, 2007 21:26
Beiträge: 130
Wohnort: mal hier mal da mal irgendwo
Hmm Quasi ist die "1" die Größe des Würfels oder täusche ich mich?

Wenn ich mit Positionen arbeite müsste ich dann noch Pi von Xi abziehen oder?

_________________
Wenn Worte nichts als Worte sind,
dann müssen's Steine sein!
Solange - bis sie pleite sind - schmeißt Fensterscheiben ein!

- Fidl Kunterbunt -


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Foren-Übersicht » Programmierung » Mathematik-Forum


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.017s | 17 Queries | GZIP : On ]