AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

OOP - Atome, Moleküle, ...

Ein Thema von Blutiger Anfänger · begonnen am 15. Jul 2004 · letzter Beitrag vom 15. Aug 2004
Antwort Antwort
Seite 2 von 3     12 3   
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#11

Re: OOP - Atome, Moleküle, ...

  Alt 15. Jul 2004, 21:10
@Toxman: wie stellst du dir ein Molekül vor? Kann sein, dass ich da jetzt was missverstanden hab, aber für mich klingt es so als seien deine Atome immer linear aufgebaut?! Wie würdest du beispielsweise Glycerin in deinem Array unterbringen?
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#12

Re: OOP - Atome, Moleküle, ...

  Alt 15. Jul 2004, 21:28
Ich ernenne das C-Atom ganz oben zum Chefatom.
Array[0]:C,0,-1 // eins drunter
[1]:C,0,-2 // zwei drunter
[2]:H,0,1 // ein H drüber
[3]:H,-1,0 usw. // ein H nach links usw.
Falls es 3-D werden soll, gibt's eben eine Angabe mehr. Damit habe ich dann eine genaue Beschreibung der Atomzentren.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Blutiger Anfänger
(Gast)

n/a Beiträge
 
#13

Re: OOP - Atome, Moleküle, ...

  Alt 15. Jul 2004, 21:28
Zitat von xineohp:
moin,

wie willst du bitte ein Molekül als Strukturformel darstellen, wenn du die Bindungswinkel ignoriert?
Irgendwie musst du doch die Beziehungen zwischen den Molekülen darstellen/einbeziehen?!
In welcher Strukturformel hast du jemals eine Berücksichtigung der Bindungswinkel bemerkt? Ich meine in 3D-Modellen okay - aber in Strukturformeln schreibt das jeder nach gusto und vorzugsweise in 90°-Winkeln.

Zitat von MathiasH:
also von einem solchen raster würde ich dir abraten, das stößt viel zu schnell an seine grenzen, wenn es daran geht Moleküle darzustellen die ein klein wenig komplizierter sind als H20
Okay.

Zitat von MathiasH:
ka, wie man das am besten OOP macht, aber im Prinzip muss es ja recht ähnlich aussehen als mit arrays und records:

atom:
Ordungszahl
econfig: Elektronenkonfiguration (schon mal sowas gesehen : 1s² 2s² 2p³ ?) mit einem solchen muster müsste man das recht gut speichern können. Ladung ist da ja bereits inmpliziert
weitere Eigenschaften z.B. radius, Farbe, Schmelzpunkt. Diese könnte man allerdings auch aus einer externen Tabelle/Array/Datenbank laden
Die Elektronenkonfiguration ist erstens auch aus einer externen Tabelle möglich (was ich bevorzugen würde zu einem Objekt mit 180 Eigenschaften) - aber sie ist nicht notwendig. Ja ich bin im Bilde. Ich war bei einer Landesolympiade Chemie schon erfolgreich.

Zitat von MathiasH:
molekül:
array of molek_childs;

molek_childs:
atom: TAtom;
x, y(, z) für Position (relativ oder absolut)
connections: array of DWord (zu welchen atomen hat es verbindungen (id im array);

So nuj ist aber mal selberdenken angesagt, findest du nicht?
Na wenn du meinst. Ich frage immer erst dann, wenn ich nicht mehr weiter weiß - und ich habe mir schon länger als eine Woche den Kopf darüber zerbrochen.

Zitat von xineohp:
Prinzipiel würde ich als Datenstruktur einen Baum preferieren:
Delphi-Quellcode:
tAtom = class;

tbindung = class
  Art: integer;// einfach-, doppel-, dreifach-Bindung
  PartnerAtom: tAtom;
  // Winkel
  // Länge
end;

tAtom = class
  Symbol: string;
  Ordnungszahl: integer;
  // etc.
  Bindungen: array of tBindung;
end;
wenn tAtom.Bindungen = nil, dann ist es ein einzelnes Atom, andernfalls ein Molekül

(allerdings dürfte diese Art von Datenstruktur nicht alle Anforderungen der OOP-Kapselung erfüllen )
Der Ansatz ist schon recht charmant. Du meinst also, daß ich nicht nur die Atome selbst als Objekte betrachten sollte, sondern auch die Bindungen? ... werde das wohl mal überdenken müssen.

Zitat von xineohp:
@Toxman: wie stellst du dir ein Molekül vor? Kann sein, dass ich da jetzt was missverstanden hab, aber für mich klingt es so als seien deine Atome immer linear aufgebaut?! Wie würdest du beispielsweise Glycerin in deinem Array unterbringen?
Eben, das war eine der Sachen die ich meinte. Und es gibt ja nicht nur Atome mit 4 Valenzen. Im Grunde ist für mich nur wichtig, daß die Darstellung danach halbwegs okay ist (nicht ständig Ecken wo keine nötig sind) und daß ich von endständigen funktionellen Gruppen die Position (relativ zu den einzelnen anderen Gruppen) berechnen kann. Es geht um eine verbesserte Gruppenbeitragsmethode.

Oliver
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#14

Re: OOP - Atome, Moleküle, ...

  Alt 15. Jul 2004, 22:37
Zitat von Blutiger Anfänger:
...Es geht um eine verbesserte Gruppenbeitragsmethode.

Oliver
Was zum Teufel ist das ?

Und bei der ganzen Theorie habt ihr noch die Isotope vergessen.
Gruß
Hansa
  Mit Zitat antworten Zitat
ripper8472

Registriert seit: 17. Aug 2003
275 Beiträge
 
#15

Re: OOP - Atome, Moleküle, ...

  Alt 16. Jul 2004, 01:40
wie wärs wenn du ein TMolekül so aufbaust, dass es ein array mit allen im molekül enthaltenen atomen hat und eine liste mit allen bindungen (pseudocode, aus dem handgelenk, nur ein konzept):
Code:
TAtom = record
  Ordnungszahl:integer;
end
TBindung=record
Partner1, Partner2:^TAtom;
end;

TMol = record
  Atome:array of TAtom;
  Bindungen: array of TBindung;
end;
damit dürftest du so ziemlich alles irgendwie konstruieren können. also erst alle atome ins array packen und dann in die bindungen immer schön pointer eintragen.

gruß, Christoph
Christoph
  Mit Zitat antworten Zitat
Blutiger Anfänger
(Gast)

n/a Beiträge
 
#16

Re: OOP - Atome, Moleküle, ...

  Alt 16. Jul 2004, 13:38
Danke an alle für die Vorschläge und Hinweise.
  Mit Zitat antworten Zitat
Benutzerbild von cchris
cchris

Registriert seit: 16. Jun 2003
Ort: Taucha
71 Beiträge
 
Delphi 2005 Personal
 
#17

Re: OOP - Atome, Moleküle, ...

  Alt 11. Aug 2004, 19:23
Wie wollt ihr in eurem Raster z.B.Einen Benzolring darstellen?

cu Chris
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#18

Re: OOP - Atome, Moleküle, ...

  Alt 12. Aug 2004, 13:27
Gnaz einfach: Nimm mal ein Karo-Papier und mal einen Benzol-Ring drauf. Jetzt legst du den Ursprung eines Koordinatensystems an ein C-Atom und gibst den Ort der anderen Atome relativ zu diesem Atom an. Das kannst du dann in einem Array of Array of integer speichern und fertig.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von cchris
cchris

Registriert seit: 16. Jun 2003
Ort: Taucha
71 Beiträge
 
Delphi 2005 Personal
 
#19

Re: OOP - Atome, Moleküle, ...

  Alt 12. Aug 2004, 14:30
Array of Array? warum nimmst du dann nicht nen drei oder vierdimensionales?
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#20

Re: OOP - Atome, Moleküle, ...

  Alt 12. Aug 2004, 14:35
Zitat:
vierdimensionales?
Ich hab noch kein 4D-Molekül gesehen. (Nicht dass ich schon mal eins gesehen hätte)
3D: Ich würd sagen, dass ist recht schwierig darzustellen und die 2D Darstellung reicht in den meisten Fällen gut aus.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz