Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
31.10.2002, 15:04
Simulator



Hey

Wir möchten einen Simulator für elektrische Schaltkreise in C++ programmieren (ähnlich wie Workbench, TinaPro, Neplan, Protel, Crocodile, ...). Das ganze soll auch unter Windows visualisiert werden und die Elemente sollten auf die Eingaben des Benutzer ihren Zustand wechseln (z.B. Schalter on/off).

Wir dachten eigentlich zuerst an eine Baumstruktur mit den Schaltelementen als Blätter (Elemente). Macht man das so? Oder gibt es einen anderen besseren Ansatz für die Grundstruktur?

Besten Dank

--

zum Seitenanfang zum Seitenende Profil || Suche
001
31.10.2002, 15:29
[RMen]OneStone



Nunja, ich würde das so machen:
Jedes Element hat ja eine Bestimmt Menge Andockstellen, die werden dann in einer programminternen Struktur (für die einzelnen Elemente) als Pointer deklariert, immer in Stromflussrichtung. Das letzte Element enthält dann natürlich keinen Pointer zum Ersten (-> Endlosschleife), sondern NULL.

Beispiel:
Quellcode:typedef struct
{
    void * pNextElement;
    int U, I;
} battery_t;

Oder so... =)

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/

zum Seitenanfang zum Seitenende Profil || Suche
002
02.11.2002, 22:19
Onkel Dittmeyer



Im Grundprinzip is das ne Lösung, allerdings wird die Sache noch komplizierter wenn man Analoge Schaltungen hat wie z.B. nen simplen Schwinkreis oso.
Ich weiß ja net wie dus visualisieren willst, ich schätze mal mit Graphen und der User kann dann an bestimmten Stellen in der Schaltung abgreifen usw.
Du könntest das ganze auch noch modularisieren wie man das in Blockplänen macht und für jedes Modul dann pointer auf andere erstellen (z.B. Input -> A-D-Wandler -> Blackbox -> Output). Eine Baumstruktur würde ich nicht nehmen weil eine Schaltung ja auch nicht in Leaves o.Ä. endet.

--


Dieser Beitrag wurde am 02.11.2002 um 22:20 von [dP]ThEpOpE bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
03.11.2002, 22:39
Retro



Ich will nicht zuviel verraten (Konkurrenz..), aber das wirklich relevante sind die Verbindungen.

Ansonsten schau dir einfach mal das normale SPICE-Prinzip an.

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche