Nothing Special   »   [go: up one dir, main page]

DE60106301T2 - Verfahren und system für die ausfuhr von datenverbänden zu zweidimensionalen oder dreidimensionalen geometrischen entitäten - Google Patents

Verfahren und system für die ausfuhr von datenverbänden zu zweidimensionalen oder dreidimensionalen geometrischen entitäten Download PDF

Info

Publication number
DE60106301T2
DE60106301T2 DE60106301T DE60106301T DE60106301T2 DE 60106301 T2 DE60106301 T2 DE 60106301T2 DE 60106301 T DE60106301 T DE 60106301T DE 60106301 T DE60106301 T DE 60106301T DE 60106301 T2 DE60106301 T2 DE 60106301T2
Authority
DE
Germany
Prior art keywords
program
data
display
modeling
geometric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60106301T
Other languages
English (en)
Other versions
DE60106301D1 (de
Inventor
Francois Le Masne
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Okyz SAS
Original Assignee
Okyz SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=8860110&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60106301(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Okyz SAS filed Critical Okyz SAS
Application granted granted Critical
Publication of DE60106301D1 publication Critical patent/DE60106301D1/de
Publication of DE60106301T2 publication Critical patent/DE60106301T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/32Image data format

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Numerical Control (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Computer And Data Communications (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)

Description

  • Die vorliegende Erfindung betrifft in allgemeiner Weise die Ausgabe von Informationsdaten und insbesondere die Ausgabe von Daten, die mit geometrischen Entitäten in Zusammenhang stehen, von einem Datenverarbeitungsprogramm von der Art einer Software zum computerunterstützten Entwurf (CAD bzw. CAO) oder eines Videospiels.
  • Die Technik und die Systeme zur Modellierung und/oder Manipulation von geometrischen Entitäten, wie CAD und die Videospiele, sind gegenwärtig in allen Industriebereichen sehr verbreitet, von der Idee an, die Produkte, wie Automobilfahrzeuge oder Luftschiffe, durch den Computer zu unterstützen, bis hin zu Bewegungsspielen in virtueller 3D-Qualität, beim Durchlauf von Simulationsprogrammen, wie Flugsimulatoren.
  • Obwohl im Einzelnen die Technik der CAD verhältnismäßig jung, weniger als zwanzig Jahre alt, ist, hat die Notwendigkeit einer ab den älteren CAD-Systemen ansteigenden Kompabilität die Erhaltung von historischen Datenstrukturen verbessert, wobei die durch die modernen Datenverarbeitungssysteme dargebotenen Möglichkeiten trotz der schnellen Entwicklung der Datentechnologie nur sehr beschränkt ausgenutzt wurden.
  • Andererseits ist, ob auf dem Gebiet der CAD oder dem der Videospiele, das Format dieser angewandten Datenstrukturen universell geeignet, das soll heißen, dass es für die betroffene Software oder mindestens für den betroffenen Softwareherausgeber geeignet ist. Aber diese Grafiksoftwares stellen mindestens auf dem Gebiet von CAD im Allgemeinen Wirkungsmöglichkeiten zur Einführung verschiedener Formate für Daten dar, die mit geometrischen Entitäten verbunden sind.
  • Im Gegensatz dazu sind die Herausgeber dieser Softwares, welche auch immer, aus offensichtlichen Gründen der Erhaltung des Kundenkreises wenig geneigt, die Spezifikationen der von ihnen verwendeten Datenformate zu veröffentlichen, und sie sind in derselben Gedankenfolge im Allgemeinen ziemlich zurückhaltend, wenn sie Anwendungsmittel vorschlagen sollen, die die Ausgabe der Gesamtdaten gemäß ihren Softwares gegenüber einer Konkurrenzsoftware erlauben.
  • Diese Tatsache hat zur Folge, dass es sehr schwierig ist, die durch diese Softwares benutzten Daten von einem Datensystem zur Modellierung und/oder Manipulation von geometrischen Daten zu einem ähnliches Datensystem in vollständiger Weise zu übertragen. Dennoch ergibt sich diese Übertragung häufig als nötig, beispielsweise, um Daten zwischen verschiedenartigen CAD-Systemen zu übertragen, solche, wie sie bei verschiedenen Unterlieferanten eines Ordnungsgebers zutreffen, gesehen vom Innern des gleichen Unternehmens, wie diejenigen, die insbesondere aus allgemein historischen Gründen in großen Unternehmen auftreten, die seit langem CAD verwenden.
  • Ebenso kann man voraussagen, dass die Entwicklung der Technik von Videospielen mit der Zeit Personen oder Objekte in ein Viedeospiel einführen wird, die dann erneut das Problem der Ausgabe dieses Entitätstyps gemäß einem anderen Videospiel hervorruft.
  • Diese Notwendigkeit der Datenübertragung zwischen verschiedenartigen Systemen zur Modellierung und und/oder Manipulation von mit geometrischen Entitäten verbundenen Daten hat erhebliche Entwicklungskosten für die Anwendungsmittel zur Umwandlung dieser Daten zur Folge, und zwar wegen des Fehlens von genauen Spezifikationen, die das Format der Basen der betroffenen Daten betreffen, und unabhängig davon, ob diese Anwendungsmittel während Verbesserungen oder Änderungen ganz oder teilweise wieder geschrieben werden müssen, die durch die Struktur der Basen der Daten der betroffenen Systeme hervorgerufen werden. Andererseits ist diese Umwandlung im Allgemeinen unvollständig, und zwar wegen des Fehlens von genauen Spezifikationen, die das Format der umzuwandelnden Daten betreffen.
  • Außerdem besteht in den CAD-Systeme verwendenden Unternehmen Bedarf an einer Struktur und einem Format von offenen, bekannten und gut definierten Daten, zugleich als Mittel zum Austausch zwischen verschiedenen CAD-Systemen, doch außerdem Bedarf an der Sicherung einer minimale Unabhängigkeit gegenüber den Herausgebern der Softwares der von diesen benutzten CAD, und zwar in der Weise, dass die Wiederaufnahme von CAD-Daten einer Software in einer anderen unter der Annahme einer Aktivitätseinstellung des Herausgebers der verwendeten CAD-Software gestattet wird.
  • Aus dem Vorstehenden geht hervor, dass Bedarf an einem Verfahren und einem System besteht, die die Ausgabe von mit geometrischen Entitäten verbundenen Daten gemäß einer beliebigen Software zur Modellierung und/oder Manipulation von mit geometrischen Entitäten verbundenen Daten betriebsgerecht und zuverlässig gestatten, ohne irgendeine Kenntnis der Strukturen der durch diese Software verwendeten Daten, ohne irgendeine Änderung dieser Software, welcher Art diese auch immer ist, und ohne Entwicklung einer besonderen Schnittstelle für die betroffene Software.
  • Bei der bekannten Technik gibt es Anwendungsmittel, beispielsweise gLTrace oder glAnalysePro, die die Aufrufe von Funktionen oder einfachen, von einer grafischen Anwendung ausgeführten Grafiken unterbrechen können. Dennoch haben diese Anwendungsmittel nicht die Funktion, die betroffene grafische Anwendung von Fehlern zu befreien und in irgendeiner Weise die Ausgabe von mit geometrischen Entitäten verbundenen Daten gegenüber anderen Systemen der gleichen Art zu erlauben.
  • Die Aufgabe der vorliegenden Erfindung besteht daher darin, ein Verfahren zur Ausgabe von mit geometrischen Entitäten verbundenen Daten zu schaffen, die ein Datenverarbeitungssystem zur Modellierung und/oder Manipulation von geometrischen Entitäten verwenden, wobei dieses Datenverarbeitungssystem zur Modellierung und/oder Manipulation von geometrischen Entitäten mindestens eine Datenprogramme ausführende Zentralverarbeitungseinheit, einen Speicher, der diese Datenprogramme und die mit den geometrischen Entitäten verbundenen Daten während der Dauer der Ausführung dieser Datenprogramme speichern kann, und mindestens eine Speichereinheit aufweist, die mit geometrischen Entitäten verbundene Daten in permanenter Weise speichern kann, wobei dieses Datensystem ferner mindestens ein Programm zur Modellierung und/oder Manipulation von geometrischen Entitäten und mindestens ein Programm zur Anzeige von mit geometrischen Entitäten verbundenen Daten aufweist, wobei dieses mindestens eine Programm zur Modellierung und/oder Manipulation die mit den geometrischen Entitäten verbundenen Daten zum Anzeigen vom genannten mindestens einen Programm zur Anzeige durch Aufruf von Anzeigefunktionen überträgt, die in dem genannten mindestens einen Anzeigeprogramm vorhanden sind, wobei die genannten, durch das genannte Anzeigeprogramm anzuzeigenden Daten durch das mindestens eine Programm zur Modellierung und/oder Manipulation zum genannten, mindestens einen Anzeigeprogramm in der Form von Parametern zum Aufruf der genannten Anzeigefunktionen übertragen werden, die durch das genannte, mindestens eine Programm zur Modellierung und/oder Manipulation von geometrischen Entitäten aufgerufen werden, und wobei die genannten Anzeigefunktionen die Anzeige einer bestimmten Anzahl von mit geometrischen Entitäten verbundenen Daten erlauben. Die Erfindung ist dadurch gekennzeichnet, dass ein Programm zur Ausgabe von mit geometrischen Entitäten verbundenen Daten an die Stelle von mindestens einem der genannten mindestens einen Anzeigeprogrammen gesetzt ist, wobei das genannte Ausgabeprogramm dieselben Funktionen zur Anzeige von mit geometrischen Entitäten verbundenen Daten aufweist wie das genannte, mindestens eine Anzeigeprogramm, wobei die genannten Funktionen zur Anzeige von mit geometrischen Entitäten verbundenen Daten des genannten Ausgabeprogramms die gleichen Parameter aufweisen wie die entsprechenden Funktionen des genannten mindestens einen Anzeigeprogramms, wobei das mindestens eine Programm zur Modellierung und/oder Manipulation von geometrischen Entitäten anstatt entsprechender Funktionen des genannten, mindestens einen Anzeigeprogramms die Funktionen des genannten Ausgabeprogramms in transparenter Art und Weise aufruft.
  • Bei dem Verfahren gemäß der Erfindung kann mindestens eines des genannten mindestens einen Programms zur Modellierung und/oder Manipulation beispielsweise ein Programm vom Typ computerunterstützter Entwurf oder CAD oder auch ein Programm vom Typ Videospiel sein.
  • Außerdem kann bei einem Aufruf des genannten, mindestens einen Programms zur Modellierung und/oder Manipulation von einer der genannten Anzeigefunktionen des genannten Ausgabeprogramms das genannte Ausgabeprogramm in einem geeigneten Format in die genannte, mindestens eine Speichereinheit Daten speichern, die aus einer durch das genannte Ausgabeprogramm durchgeführten Verarbeitung von Aufrufen des mindestens einen Programms zur Modellierung und/oder Manipulation der genannten Anzeigefunktionen des genannten Ausgabeprogramms stammen.
  • Weiterhin kann bei einem Aufruf des genannten, mindestens einen Programms zur Modellierung und/oder Manipulation von einer der genannten Anzeigefunktionen des genannten Ausgabeprogramms das genannte Ausgabeprogramm die Anzeigefunktion des genannten Anzeigeprogramms entsprechend der genannten Anzeigefunktion aufrufen, die in dem genannten Ausgabeprogramm mit denselben Aufrufparametern wie diejenigen aufgerufen werden, die beim Aufruf der genannten Funktion des genannten Ausgabeprogramms vorhanden sind.
  • In diesem Fall kann das genannte, aufgerufene Anzeigeprogramm das genannte Anzeigeprogramm sein, durch das das Ausgabeprogramm ersetzt wurde, oder im Gegensatz ein Anzeigeprogramm sein, das sich von demjenigen unterscheidet, durch das das genannte Ausgabeprogramm ersetzt wurde.
  • Ferner kann das genannte Datenverarbeitungssystem außerdem mindestens eine grafische Anzeigevorrichtung aufweisen, die mit mindestens einem Auffrischungs- und/oder Anzeigespeicher ausgerüstet ist, wobei das genannte, mindestens eine Anzeigeprogramm der genannten, mindestens einen Anzeigevorrichtung die punktförmige Digitalisierung der Aufrufe der Anzeigefunktionen befiehlt, die von dem genannten Anzeigeprogramm empfangen werden, und wobei die genannte Anzeigevorrichtung in dem genannten Auffrischungs- und/oder Anzeigespeicher die genannten Punkte speichert, die aus der genannten Digitalisierung der genannten Aufrufe der Anzeigefunktionen stammen, die von dem genannten, mindestens einen Anzeigeprogramm empfangen werden.
  • In diesem Fall kann das genannte Datenverarbeitungssystem außerdem mindestens einen Grafikbildschirm aufweisen, und in diesem System wird der genannte Auffrischungs- und/oder Anzeigespeicher von der mindestens einen Anzeigevorrichtung erneut ausgelesen, wobei die mindestens eine Anzeigevorrichtung auf dem mindestens einen Grafikbildschirm die genannten Punkte anzeigt, die aus dem genannten Auffrischungs- und/oder Anzeigespeicher erneut ausgelesen werden.
  • Diese Datenausgabe durch diese Ausgabeprogramme kann nun durch eine besondere Grafikanweisung in Gang gesetzt werden, die durch das genannte mindestens eine Programm zur Modellierung und/oder Manipulation des genannten Ausgabeprogramms übertragen wird, wobei die genannte mindestens eine besondere Grafikanweisung die genannte Datenausgabe in Gang setzt, die beispielsweise eine Anweisung ist, die die Beendigung der genannten Digitalisierung der genannten Aufrufe der Grafikfunktionen hervorruft, die in den genannten Punkten in dem genannten Auffrischungs- und/oder Anzeigespeicher empfangen werden.
  • Gemäß einer Abwandlung weist die genannte mindestens eine Anzeigevorrichtung mindestens zwei Auffrischungs- und/oder Anzeigespeicher auf, wobei die genannte, die genannte Ausgabe hervorrufende Anweisung dann eine Anweisung sein kann, die die Umlegungvon einem der genannten mindestens zwei Auffrischungs- und/oder Anzeigespeicher auf einen anderen der genannten mindestens zwei Auffrischungs- und/oder Anzeigespeicher hervorruft.
  • Ferner kann das genannte Ausgabeprogramm bei einem Aufruf einer der genannten Anzeigefunktionen des genannten Ausgabeprogramms durch das genannte Programm zur Modellierung und/oder Manipulation Daten in einem geeigneten Format in den genannten Speicher speichern, die von einer durch das genannte Ausgabeprogramm durchgeführten Verarbeitung von Aufrufen der genannten Anzeigefunktionen des genannten Ausgabeprogramms herrühren. In diesem Fall kann das genannte Datenverarbeitungssystem außerdem ein Anwendungsprogramm ausführen, das die Daten, die durch eine Verarbeitung durch das genannte Ausgabeprogramm hervorgerufen werden, erneut im genannten Speicher ausgelesen werden. Weiterhin kann dann das genannte, den genannten Speicher auslesende Anwendungsprogramm die genannten, erneut aus dem Speicher ausgelesenen Daten in der genannten mindestens einen Speichereinheit in einem geeigneten Format speichern, die von einer Verarbeitung durch das genannte Ausgabeprogramm herrühren.
  • Weiterhin kann das genannte Anwendungsprogramm außerdem die genannten, erneut aus dem genannten Speicher ausgelesenen Daten mit Hilfe geeigneter Aufrufe der Anzeigefunktionen des genannten mindestens einen Anzeigeprogramms anzeigen.
  • Eines des genannten mindestens einen Anzeigeprogramms, durch das das genannte Ausgabeprogramm ersetzt wird, kann beispielsweise der Spezifikation OpenGL der Firma Silicon Graphics Inc. entsprechen. In diesem Fall kann die genannte, die genannte Ausgabe hervorrufende mindestens eine Anweisung die OpenGL-Anweisung „wglSwapBuffers" und/oder die OpenGL-Anweisung „glFlush" sein. Ebenso kann eines des genannten mindestens einen Anzeigeprogramms, durch das das Ausgabeprogramm ersetzt wird, auch der Spezifikation DirectX von Microsoft entsprechen.
  • Üblicherweise werden bei dem Verfahren gemäß der Erfindung die genannten, mit geometrischen Entitäten verbundenen Daten geometrische Daten aufweisen. In diesem Fall können die genannten, geometrischen Daten vom zweidimensionalen und/oder dreidimensionalen Typ sein. Ferner können diese geometrischen Daten dann Punktdaten und/oder Segmentdaten mit zwei Punkten und/oder Daten aufweisen, die Dreiecke und/oder Vierecke und/oder Vielecke betreffen.
  • Ebenso können die genannten, geometrischen Daten mit geometrischen Entitäten vom zeilenförmigen Typ und/oder flächigen Typ und/oder räumlichen Typ verbunden sein. Die genannten, mit geometrischen Entitäten verbundenen, geometrischen Daten können dann außerdem geometrische Daten aufweisen, die mit mindestens einem Normalvektor mit mindestens einer der genannten Entitäten vom zeilenförmigen Typ und/oder flächigen Typ und/oder räumlichen Typ verbunden sind.
  • Ebenso können die genannte, mit geometrischen Entitäten verbundenen Daten Farbdaten und/oder Strukturdaten aufweisen.
  • Die Erfindung schlägt auch ein System zur Ausgabe von mit geometrischen Entitäten verbundenen Daten unter Verwendung eines Datenverarbeitungssystems zur Modellierung und/oder Manipulation von geometrischen Entitäten vor, wobei das genannte Datenverarbeitungssystem zur Modellierung und/oder Manipulation von geometrischen Daten mindestens eine Zentralverarbeitungseinheit, die Datenverarbeitungsprogramme ausführen kann, einen Speicher, der die genannten Datenverarbeitungsprogramme und die mit geometrischen Entitäten verbundenen Daten während der Dauer der Ausführung der genannten Datenverarbeitungsprogramme speichern kann, und mindestens eine Speichereinheit aufweist, die mit geometrischen Entitäten verbundene Daten auf dauerhafte Art und Weise speichern kann, wobei das Datenverarbeitungssystem mindestens ein Programm zur Modellierung und/oder Manipulation von geometrischen Entitäten und mindestens ein Programm zur Anzeige von mit geometrischen Entitäten verbundenen Daten aufweist, wobei das genannte mindestens eine Programm zur Modellierung und/oder Manipulation die mit geometrischen Entitäten verbundenen Anzeigedaten unter Aufruf von im genannten mindestens einen Anzeigeprogramm vorhandenen Anzeigfunktionen zum Anzeigen überträgt, wobei die genannten, durch das Anzeigeprogramm anzuzeigenden Daten von dem genannten mindestens einen Programm zur Modellierung und/oder Manipulation an das genannte mindestens Anzeigeprogramm in der Form von Aufrufparameter der Anzeigefunktionen übertragen werden, die von dem genannten mindestens einen Programm zur Modellierung und/oder Manipulation von geometrischen Entitäten aufgerufen werden, und wobei die Anzeigefunktionen die Anzeige einer bestimmten Menge von mit geometrischen Entitäten verbundenen Daten erlauben; dieses System ist dadurch gekennzeichnet, dass es das Verfahren gemäß einem der vorstehenden Verfahrenspunkte einsetzt.
  • Im Folgenden werden nur als Beispiel zwei Ausführungsarten gemäß der Erfindung anhand der beigefügten Zeichnungen beschrieben, bei denen zeigen:
  • 1 ein Funktionsschema zur Anzeige eines geometrischen Musters auf dem Bildschirm eines Computers mit Hilfe einer Standardbibliothek von Anzeigefunktionen, ohne Verwendung des Ausgabeverfahrens gemäß der Erfindung,
  • 2 ein Funktionsschema zur Anzeige eines geometrischen Musters auf dem Bildschirm eines Computers, wobei das Ausgabeverfahren von mit geometrischen Entitäten verbundenen Daten gemäß der Erfindung verwendet wird,
  • 3 ein Ablaufdiagramm des Verfahrens zur Ausgabe von Daten eines geometrischen Musters gemäß der Erfindung,
  • 4 ein detailliertes Ablaufdiagramm des Blocks 40 der 3 in einer ersten Ausführungsart des Verfahrens gemäß der Erfindung, und
  • 5 ein detailliertes Ablaufdiagramm des Blocks 40 der 3 in einer zweiten Ausführungsart des Verfahrens gemäß der Erfindung.
  • Das Verfahren gemäß der Erfindung wird in einem Datenverarbeitungssystem 1 zur Modellierung und/oder Manipulation von mit geometrischen Entitäten verbundenen Daten ausgeführt.
  • Dieses Datenverarbeitungssystem 1 erlaubt mittels eines nicht dargestellten Anwenders 2 den Betrieb eines Programms 11 zur Modellierung und/oder Manipulation von mit geometrischen Entitäten verbundenen Daten, das das Verfahren gemäß der Erfindung im Datenverarbeitungssystem 1 in Gang oder nicht in Gang setzt. Das Datenverarbeitungssystem 1 erlaubt außerdem die Anzeige von Grafiksignalen auf einem Grafikbildschirm 14, die von einer grafischen Anpassungskarte 13 herrühren, die durch eine Grafikfunktionsbibliothek 12 gesteuert wird.
  • In der folgenden Beschreibung kann das Programm 11 zur Modellierung und/oder Manipulation von mit geometrischen Entitäten verbundenen Daten auch aus Einfachheitsgründen auf die Grafikanwendung 11 bezogen sein.
  • Bei der bevorzugten Ausführungsart der Erfindung ist das zur Durchführung des Verfahrens der Erfindung verwendete Datenverarbeitungssystem 1 ein Computer, der das Betriebssystem Windows von Microsoft verwendet, und in diesem Betriebssystem ist das Programm 12 zur Anzeige von geometrischen Daten eine Grafik-API (steht für Advanced Programming Interface oder Schnittstelle zur fortschrittlichen Programmierung), das über eine Ausgabebibliothek mit dynamischer Verbindung oder DLL (Dynamic Link Library) eingefügt ist, die beispielsweise mit der Spezifikation OpenGL der Firma Silicon Graphics Inc. übereinstimmt. Diese DLL ist üblicherweise im Verzeichnissystem von Windows angeordnet und wird „opengl32.dll" genannt.
  • Die Bibliothek OpenGL weist mehrere hundert Funktionen auf, wobei der Komplex der OpenGL-Funktionen, die als Beispiel in dieser Beschreibung entweder mit oder ohne Anwendung des Verfahrens gemäß der Erfindung verwendet werden, auf einen hinsichtlich der OpenGL-Funktionen sehr verminderten Unterkomplex absichtlich beschränkt worden ist, damit ein vernünftiger Umfang dieser Beschreibung bewahrt werden kann. Dennoch muss von nun an verstanden werden, dass das Prinzip der Erfindung nicht auf die in dieser Beschreibung dargestellten OpenGL-Funktionen beschränkt ist, sondern dass es gleichermaßen auf alle in der Spezifikation OpenGL angegebenen Funktionen anwendbar ist.
  • Anhand der 1 wird nun das Funktionsprinzip der Anzeige eines geometrischen Musters 10 auf dem Grafikbildschirm 14 ohne Verwendung des Ausgabeverfahrens von Daten gemäß der Erfindung beschrieben.
  • Wenn die Grafikanwendung 11 wunschgemäß ein geometrisches Muster 10 auf dem Grafikbildschirm 14 anzeigt, ruft sie Grafikfunktionen auf, die in der DDL der Grafik-Schnittstelle 12 angeordnet sind. Diese Grafik-Schnittstelle 12 sendet Anweisungen vom vektoriellen Typ an die Grafikkarte 13 über die mit dieser verbundene Steuersoftware 13.
  • Die genannten, geeigneten Informationsbildschirme sind durch Kathodenstrahlröhren oder ähnliche Vorrichtungen gebildet, die die Anzeige durch eine videoartige Abtastung bewirken, was zur Folge hat, dass es nötig ist, ein binäres Bild der angezeigten Grafikdaten zu speichern, bis eine visuelle Dauerhaftigkeit der angezeigten Grafikdaten für den Anwender 2 erzielt werden kann. Dieses binäre Bild, das aus einer bestimmten Anzahl von Bits für die auf dem Bildschirm 14 anzeigbaren Punkte zusammengesetzt ist, wird in einem internen Speicher der Grafikkarte 13 gespeichert, der Auffrischungs- oder Anzeigespeicher genannt wird. Die visuelle Beständigkeit der Daten für den Anwender 2 wird durch die Grafikkarte 13 erhalten, indem dieses binäre Bild mehrere zehn mal je Sekunde wieder gelesen wird und gelesene Informationen der Videosignale teilweise erzeugt werden, die für das gespeicherte Bild im Auffrischungsspeicher der Grafikkarte 13 typisch sind. Diese Videosignale werden durch die Grafikkarte 13 zum Grafikschirm 14 gesendet, auf dem sie die Anzeige des Bilds hervorrufen, das in binärer Form im Auffrischungsspeicher der Grafikkarte 13 gespeichert ist.
  • Eine Grafikanwendung 11 zeigt wunschgemäß ein geometrisches Muster 10 auf dem Computerbildschirm 14 und bewirkt dann eine Reihe von Aufrufen von Grafikfunktionen, die in der OpenGL-DLL 12 vorhanden sind. In der Spezifikation OpenGL wird diese Aufrufreihe von Grafikfunktionen durch den Aufruf einer besonderen Funktion beendet, die die Fertigstellung der Umwandlung der Anweisungen bewirkt, die Binärpunkt für Binärpunkt zur Karte 13 gesendet werden, wobei diese Binärpunkte auf dem Grafikbildschirm 14 angezeigt werden.
  • Um beispielsweise ein geometrisches Muster aus einem Streifen mit zwei Dreiecken T1 und T2 anzuzeigen, laufen diese durch die Punkte ABC bzw. BCD mit folgenden Koordinaten:
    • A : (0,10,0),
    • B : (0,10,–10),
    • C : (0,0,0),
    • D : (0,0,–10).
  • Die Grafikanwendung 11 bewirkt den Aufruf von Grafikfunktionen gemäß der OpenGL-DLL 12:
    • glBegin(GL_DREIECK_STRIP),
    • glVertex3fv(0.000,10.000,–10.000),
    • glVertex3fv(0.000,0.000,0.000),
    • glVertex3fv(0.000,0.000,–10.000),
    • glEnd(),
    • wglSwapBuffers().
  • In dieser Aufrufreihe zeigt der Aufruf glBegin(GL_DREIECK_STRIP) den Anfang eines Dreieckstreifens und der Aufruf glEnd() das Ende an. Die Funktion glVertex3fv erlaubt das Definieren eines der Scheitelpunkte der Dreiecke durch deren drei Koordinaten x, y und z.
  • Wenn alle vorstehenden Elemente durch die Grafikanwendung 11 zur Grafik-API 12 über die Aufrufe der oben stehenden Funktionen übertragen worden sind, bewirkt die Grafikanwendung 11 die Fertigstellung der Anzeige der Elemente, die in vorstehender Weise mit Hilfe einer geeigneten Funktion der Grafik-API 12, wie die Funktion „glFlush" oder die Funktion „wglSwapBuffers", übertragen wurden, die in diesem Beispiel vorstehend gezeigt sind. Diese Funktionen rufen alle beide die Fertigstellung der Umwandlung der in vorstehender Weise empfangenen Grafikanweisungen in ein Bild aus Bits im laufenden Auffrischungsspeicher der Grafikkarte 13 hervor, wodurch die Anzeige der empfangenen Grafikanweisungen beendet wird, die in vorstehender Weise auf dem Grafikbildschirm 14 empfangen wurden.
  • Die Anweisung „wglSwapBuffers" bewirkt außerdem die Umsetzung der beiden Speicher vom Raster der Grafikkarte 13 in demjenigen Fall, in dem diese Grafikkarte 13 zwei besitzt.
  • Im Fall des beschriebenen Anzeigebeispiels bewirkt der Empfang der Anweisung „wglSwapBuffers" das Entstehen der wirksamen Anzeige von Grafikanweisungen auf dem Grafikbildschirm 14, die durch die Grafikanwendung 11 der Grafikkarte 13 über die Grafik-Schnittstelle 12 übertragen werden. Ein solches Ereignis hat zur Wirkung, dass die Anzeige des geometrischen Musters 10, das aus zwei Dreiecken T1 und T2 auf dem Grafikbildschirm 14 gebildet ist, fertiggestellt wird.
  • Bei der folgenden Betrachtung der 2 und 3 wird nun die Ausgabe eines geometrischen Musters beschrieben, das nach dem Verfahren gemäß der Erfindung verwendet wird.
  • Wenn die Installation des Programms zur Ausgabe von Grafikdaten nach dem Verfahren gemäß der Erfindung vorgenommen wird, wird das ursprüngliche, im Verzeichnissystem von Windows vorhandene „opengl32.dll"-DLL 12 in „opengl32bis.dll" umbenannt, und sie wird durch eine DLL 15 ersetzt, die nach dem Verfahren gemäß der Erfindung eingesetzt und in gleicher Weise wie das Original, nämlich „opengl32,dll", benannt wird. Diese DLL 15 gemäß der Erfindung stellt die gleichen Funktionen dar, die der Spezifikation OpenGL als Ursprungs-DLL 12 entsprechen, d.h., dass sie die gleichen Schnittstellenfunktionen mit denselben Namen und denselben Parametern wie die ursprüngliche OpenGL-DLL 12 bietet.
  • Wenn ein nicht dargestellter Anwender 2 wunschgemäß die Daten eines geometrischen Musters 10 ausgibt, das durch die Grafikanwendung 11 erzeugt wird, nimmt er vorzugsweise die DLL in Betrieb, die nach dem Verfahren gemäß der Erfindung wie die oben beschriebene verwirklicht ist. Er bringt dann das geometrische Muster zur Anzeige, wozu die Grafikanwendung 11 erforderlich ist. In gleicher Weise wie die im Fall der Verwendung des Datenverarbeitungssystems 1 ohne Anwendung des Verfahrens gemäß der Erfindung vorstehend beschriebene, wenn die Grafikanwendung wunschgemäß ein geometrisches Muster auf dem Bildschirm anzeigt, verwendet die Grafikanwendung die DDL 15, die „opengl32.dll genannt wird und im Betriebssystem Windows liegt, d.h., dass sie Funktions- und Grundaufrufe bewirkt, die der in dieser DLL 15 enthaltenen Spezifikation OpenGL entsprechen.
  • Wenn berücksichtigt wird, dass im Augenblick der Installation des Ausgabeprogramms von Daten, die mit geometrischen Entitäten gemäß der Erfindung verbunden sind, die DLL 12 durch die das Verfahren gemäß der Erfindung in Gang setzende DLL 15 ersetzt worden ist, ruft dann die Grafikanwendung in transparenter Weise die in der DLL 15 dargestellten Funktionen und Grundfunktionen, die das Verfahren gemäß der Erfindung durchführen, anstelle der Funktionen und Grundfunktionen auf, die in der ursprünglichen DLL 12 dargestellt sind.
  • Gemäß einer Abänderung kann die „opengl32.dll" genannte DLL 15 nur für eine besondere Anwendung 11 zur Modellierung oder zur geometrischen Manipulation installiert sein, wobei die DLL 15 allein im Verzeichnis der besonderen Anwendung 11 installiert wird. Wenn tatsächlich das Betriebssystem Windows eine auf eine Anwendung 11 bezogene DLL 15 sucht, sucht es zuallererst diese DLL 15 in dem gleichen Verzeichnis, in dem sich die Anwendung 11 befindet. In Ermangelung dessen sucht das Betriebssystem Windows darauf diese DLL 15 in den vorbestimmten Verzeichnissen des Systems 1, das u.a. das Systemverzeichnis enthält, in dem das Betriebssystem Windows installiert ist.
  • Wenn nun das Verfahren gemäß der Erfindung ausgeführt und das oben beschriebene Beispiel wieder aufgenommen wird, empfängt die DLL 15 des Verfahrens gemäß der Erfindung anstelle der ursprünglichen DLL OpenGL 12 die von dieser festgelegten Grafikfunktionsaufrufe. Bei den aktuellen Realisierungsarten der Erfindung überträgt dann die DLL 15 der Erfindung die empfangenen Funktionsaufrufe zur ursprünglichen DLL 12, d.h., dass sie die der DLL 12 entsprechenden Funktionen mit den gleichen Parametern wie diejenige aufruft, die bei den von der Grafikanwendung 11 stammenden Aufrufen empfangen werden.
  • Daher empfängt die DLL 15 der Erfindung folgende Funktionsaufrufe:
    • glBegin(GL DREIECK STRIP)
    • glVertex3fv(0.000,10.000,0.000)
    • glVertex3fv(0.000,10.000,–10.000)
    • glVertex3fv(0.000,0.000,0.000)
    • glVertex3fv(0.000,10.000,–10.000)
    • glEnd()
    • wglSwapBuffer().
  • Zur Ausgabe von mit geometrischen Entitäten verbundenen Daten speichert und verwaltet das in der DLL 15 gemäß der Erfindung enthaltene Programm in seinem Speicher 16 eine bestimmte Anzahl von Tabellen der mit geometrischen Entitäten verbundenen Daten, nämlich in nicht beschränkender Weise eine Tabelle „Punkte" von Punkten und eine Tabelle „Dreiecke" von Dreiecken. Anfangs sind diese beiden Tabellen leer, d.h., dass die Elementanzahl NPunkte der Tabelle Punkte und die Elementanzahl NDreiecke der Tabelle Dreiecke beide Null sind.
  • Das Programm der DLL 15 beginnt mit der Stufe 30, in der es die Anzahl NPunkte der Punkte und die Anzahl NDreiecke der Dreiecke auf den Wert 0 initialisiert; dann erwartet diese Stufe den Empfang einer Grafikanweisung aus der Richtung der Grafikanwendung 11. Während des Empfangs der Anweisung glBegin(GL_DREIECK_STRIP) gelangt das Verfahren gemäß der Erfindung zur Stufe 31, in der es prüft, ob der Wert des Parameters der Anweisung GL_BEGIN der vorbestimmte Wert GL_DREIECK_STRIP ist, der den Anfang einer Folge von Grafikanweisungen anzeigt, die einen Streifen aus Dreiecken durch deren Scheitelpunkte definieren. Wenn die Antwort negativ ist, kehrt das Verfahren zur Stufe 30 zurück. Wenn die Antwort in der Stufe 31 positiv ist, d.h. wenn der Parameterwert GL_DREIECK_STRIP ist, gelangt das Verfahren zur Stufe 32, in der es eine Grafikanweisung erwartet.
  • Während des Empfangs einer Grafikanweisung prüft das Verfahren der Erfindung in der Stufe 33, ob die empfangene Anweisung eine Anweisung glVertex3fv ist; im Fall des vorliegenden Beispiels ist die Antwort positiv, und während des Empfangs des Aufrufs glVertex3fv(0.000,10.000,0.000) gelangt das Verfahren der Erfindung dann zur Stufe 34. In der Stufe 34 erhöht dann das Programm 15 die Anzahl NPunkte der empfangenen Punkt um eins, d.h., dass es die Anzahl NPunkte von dessen ursprünglichem Wert Null auf den Wert 1 bringt. Es speichert dann in der Tabelle Punkte die empfangenen Punkte, d.h., dass es immer noch in der Stufe 34 außerdem den ersten bzw. den zweiten bzw. den dritten Parameter der empfangenen Anweisung glVertex3fv beim Auftreten der Werte 0.000, 10.000 und 0.000 in den Stellen der Koordinaten x, y und z des ersten Punkts in der Tabelle Punkte speichert. Das Verfahren der Erfindung gelangt dann zur Stufe 35.
  • In der Stufe 35 prüft das Verfahren der Erfindung, ob die Anzahl NPunkte der empfangenen Punkte unter 3 liegt. Wenn die Antwort positive ist, kehrt das Verfahren der Erfindung zur Stufe 32 zurück, andernfalls gelangt das Verfahren der Erfindung zur Stufe 36.
  • Wenn die Antwort in der Stufe 33 negativ ist, zeigt dies an, dass mindestens drei Punkte durch die vorhergehenden Anweisungen glVertex3fv übertragen worden sind. Gemäß der Spezifikation OpenGL für den Dreieckstreifen GL_DREIECK_STRIP zeigt dies an, dass ein Dreieck des Streifens, das durch die drei letzten empfangenen Punkte gebildet ist, bestimmt worden ist.
  • Daher erhöht das das Verfahren gemäß der Erfindung durchführende Programm der DLL 15 in der Stufe 36 folglich die Anzahl der empfangenen Dreiecke um eins, d.h., dass es die Anzahl NDreiecke der empfangenen Dreiecke um eins erhöht. Es speichert dann die Anzahlen n1, n2 und n3 von Punkten, die das so empfangene Dreieck bilden, d.h. gemäß der Spezifikation OpenGL die drei letzten empfangenen Punkte, in denjenigen Stellen, die der Tabelle der Dreiecke entsprechen, d.h., dass es die Anzahlen NPunkte-2, NPunkte-1 und NPunkte der drei letzten empfangenen Punkte in den Stellen n1, n2 und n3 der Stelle der Anzahl NDreiecke der Tabelle Dreiecke speichert.
  • Das Programm kehrt dann zur Stufe 32 zurück, um dort auf andere, mögliche, durch die Grafikanwendung 11 übertragene Punkte des Dreieckstreifens zu warten.
  • Das Programm der Erfindung wiederholt die Stufen 32 bis 36 bis zur Stufe 33, in der die Antwort negativ sei.
  • Bei dem beschriebenen Beispiel empfängt die DLL 15 nach dem Erhalt von vier Punkten über die vier Anweisungen „glVertex3fv" keine weitere Anweisung „glVertex3fv", doch empfängt sie stattdessen eine Anweisung „glEnd". Daher ist die Antwort in der Stufe 33 negativ, und die DLL 15 gelangt zur Stufe 37.
  • In der Spezifikation OpenGL bedeutet die Anweisung „glEnd", dass die durch die vorangehende Anweisung glBeginn begonnene Folge von Grafikanweisungen beim Auftreten des Dreieckstreifens GL_DREIECK_STRIP beendet ist.
  • In der Stufe 37 prüft die DLL 15, ob der letzte empfangene Funktionsaufruf ein Aufruf der Funktion „glEnd" war. Wenn die Antwort negativ ist, dann kehrt das in der DLL 15 enthaltene Programm zur Stufe 32 zurück. Wenn die Antwort der Prüfung in der Stufe 37 positiv ist, gelangt das Programm der DLL 15 zur Stufe 38. Bei dem beschriebenen Beispiel erfolgt dieses, wenn die Grafikanwendung 11 die Anweisung „glEnd" nach den vier Anweisungen „glVertex3fv" sendet.
  • In der Stufe 38 wartet das in der DLL 15 enthaltene Programm der Erfindung auf eine Anweisung aus der Richtung der Grafikanwendung 11, und dann gelangt es, wenn eine solche Anweisung empfangen worden ist, zur Stufe 39.
  • In der Stufe 39 prüft das Programm der DLL 15, ob die empfangene Grafikanweisung eine Anweisung OpenGL „wglSwapBuffers" oder „glFlush" ist. Wenn die Antwort negativ ist, d.h., wenn die empfangene Anweisung weder eine Anweisung „wglSwapBuffers" noch eine Anweisung „glBuffers" ist, dann wird das Programm der DLL 15 gemäß dem Verfahren der Erfindung beendet. Wenn die Antwort in der Stufe 39 positiv ist, gelangt das Programm der DLL 15 zur Stufe 40.
  • In dem beschriebenen Beispiel sendet die Grafikanwendung 11 dann nach dem Senden der Anweisung „glEnd" die Anweisung „wglSwapBuffers" zum Programm 15, doch könnte die Anweisung „glFlush" genau so gut verwendet werden.
  • So wie es vorstehend im Fall des Betriebs des Datenverarbeitungssystems 1 ohne Verwendung des Verfahrens der Erfindung angegeben wurde, rufen diese Anweisungen die Fertigstellung der Umwandlung der Grafikanweisungen und deren genannte, geeignete Anzeige auf dem Bildschirm 14 hervor, und diese Anweisungen weisen dann implizit die Mitteilung auf, dass die in vorstehender Weise übertragenen Anweisungen ein zusammenhängendes Ganzes bilden, weil sie doch auf dem Bildschirm 14 angezeigt werden müssen, ohne auf weitere Grafikanweisungen zu warten.
  • Daher werden diese Anweisungen bei den Ausführungsarten der Erfindung für die Festlegung, dass die in vorstehender Weise empfangenen Grafikanweisungen ein zusammenhängendes Ganzes bilden, und für das folgende Hervorrufen der Ausgabe der Grafikanweisungen an die Speichereinheit 18 verwendet.
  • Wenn daher die Antwort in der Stufe 39 auf die Prüfung positiv ist, d.h., wenn eine Anweisung „wglSwapBuffers" oder „glFlush" empfangen worden ist, bilden die in vorstehender Weise durch das Programm 15 empfangenen Anweisungen ein zusammenhängendes Ganzes, und das das Verfahren der Erfindung ausführende Programm 15 gelangt dann zur Stufe 40, in der ein 3D-Raider 17 genanntes Modul 17 die Ausgabe der Tabellen Punkte und Dreiecke in Richtung der Speichereinheit 18 in den Speicher 16 bewirkt.
  • Bei dem Verfahren gemäß der Erfindung ist der die Tabellen Punkte und Dreiecke speichernde Speicher 16 ein Speicher, der im Computer aufgeteilt ist, der das Verfahren gemäß der Erfindung durchführt und der anzeigt, dass in diesen Speicher durch die DLL 15 eingeschrieben werden kann, wobei der Speicher gleichzeitig durch das Modul 17 3D-Raider 17 wieder gelesen wird.
  • Bei einer ersten Realisierungsart der Erfindung werden die Tabellen Punkte und Dreiecke in die Einheit 18 in Form von einfachen Terxtkarteien ausgegeben, wobei die Punkte und Dreiecke in gleichnamigen Karteien in der Speichereinheit 18 gespeichert sind.
  • Unter Bezug auf die 4 wird nun ferner die Arbeitsweise des Moduls 3D-Raider 17 gemäß einer ersten Realisierungsart des Verfahrens der vorliegenden Erfindung beschrieben.
  • Bei dieser ersten Realisierungsart erstellt und öffnet das Modul 3D-Raider 17 in der Stufe 41 eine Punkteausgabekartei, die bei dem beschriebenen Beispiel „Punkte" genannt wird, in der Speichereinheit 18, das Modul initialisiert die Anzahl i der in der Kartei „Punkte" gespeicherten Punkte auf den Wert 0 und gelangt dann zur Stufe 42.
  • In der Stufe 42 prüft das Modul 3D-Raider 17, ob die Anzahl i der gespeicherten Punkte in der Kartei „Punkte" unter der Anzahl der Punkte NPunkte liegt, die im geteilten Speicher vorhanden sind. Wenn die Antwort in der Stufe 42 positiv ist, gelangt das Modul 3D-Raider 17 zur Stufe 43. In der Stufe 43 erhöht das Modul 3D-Raider 17 den Wert der Anzahl i um eins, dann schreibt es den neuen Wert der Anzahl i in die Kartei „Punkte" und dann über dieselbe Zeile die drei Koordinaten x, y und z des Punkts der Nummer i ein, der nach dem Eingang i der im geteilten Speicher 16 gespeicherten Tabelle „Punkte" entsprechend kopiert wird. Das Modul 3D-Raider 17 gelangt dann zur Zeile in der Kartei „Punkte" und kehrt dann zur Stufe 42 zurück.
  • Wenn die Antwort in der Stufe 42 negativ ist, gelangt das Modul 3D-Raider 17 zur Stufe 44. In der Stufe 44 schließt das Modul 3D-Raider 17 die Kartei „Punkte" und gelangt dann zur Stufe 45. In der Stufe 45 erstellt und öffnet das Modul 3D-Raider 17 über die Speichereinheit eine Kartei zur Ausgabe von Dreiecken, die im beschriebenen Beispiel „Dreiecke" genannt wird, und initialisiert dann den Wert der Anzahl i der in die Kartei „Dreiecke" eingeschriebenen Dreiecke auf Null. Dann gelangt sie zur Stufe 46.
  • In der Stufe 46 prüft das Modul 3D-Raider 17, ob die Anzahl i der in der Kartei „Dreiecke" gespeicherten Dreieck unter der Anzahl der Dreiecke NDreiecke liegt, die im geteilten Speicher vorhanden sind. Wenn die Antwort in der Stufe 46 positiv ist, gelangt das Modul 3D-Raider 17 zur Stufe 47. In der Stufe 47 erhöht das Modul 3D-Raider 17 die Anzahl i um eins, dann schreibt sie in die Kartei „Dreiecke" die Nummer i des betreffenden Dreiecks ein, und dann kopiert sie über dieselbe Zeile der Kartei „Dreiecke" die Nummern n1, n2 und n3 der drei Punkte, die das Dreieck der Nummer i bilden, ausgehend vom Eingang i der im geteilten Speicher gespeicherten Tabelle „Dreiecke". Das Modul 17 kehrt dann zur Stufe 46 zurück.
  • Wenn die Antwort in der Stufe 46 negativ ist, gelangt das Modul 3D-Raider 17 zur Stufe 48, oder es schließt die Ausgabekartei „Dreiecke".
  • Die Textkarteien „Punkte" und „Dreiecke", die im Fall des vorhergehenden Beispiels gewonnen wurden, haben dann die Form, die in den Tabellen 1 und 2 unten entsprechend dargestellt ist. Tabelle 1
    1 0.000,10.000,0.000
    2 0.000,10.000,–10.000
    3 0.000,0.000,0.000
    4 0.000,0.000.–10.000
    Tabelle 2
    1 1,2,3
    2 2,3,4
  • Das Verfahren zur Ausgabe von mit geometrischen Entitäten verbundenen Daten gemäß einer ersten Ausführungsart der vorliegenden Erfindung ist nun beendet, und zwar derart, dass das geometrische Muster 10 ausgegeben werden kann, das durch die Grafikanwendung 11 erstellt und/oder manipuliert wird, ohne dass irgendeine Kenntnis des Formats der Daten dieser Anwendung, irgendeine Änderung dieser Anwendung 11 und irgendeine Entwicklung eines besonderen Programms für die Anwendung 11 nötig sind.
  • Bei einer zweiten Ausführungsart der Erfindung ist das verwendete Ausgabeformat das Format DXF (Data eXchange Format) der Firma AutoDesk, das das Bezugsformat des Markts auf dem Gebiet der Ausgabe von mit geometrischen Entitäten verbundenen Daten ist.
  • Das Format DXF ist ein Textformat aufgrund einer Information durch die Zeile. Die Zeilen sind in Paaren gruppiert, wobei die erste Zeile des Paars ein ganzes, numerisches Datenwort ist, das die Art des auf der folgenden Zeile dargestellten Datenworts anzeigt. Wenn daher das numerische Datenwort eine ganze Zahl zwischen 0 und 9 ist, wird das auf der folgenden Zeile dargestellte Datenwort eine Buchstabenkette sein, und wenn das numerische Datenwort eine ganze Zahl zwischen 10 und 59 ist, wird das auf der folgenden Zeile dargestellte Datenwort eine Koordinate von dreidimensionalen Punkten vom mit doppelter Genauigkeit schwankendem Typ sein.
  • Außerdem ist eine Kartei DXF in Abschnitten organisiert. Einem Abschnitt ist ein Zeilenpaar zugeführt, wobei die eine, die Ziffer 0 bildende Zeile eine Buchstabenkette einführt und die andere Zeile von einem Wortschlüssel SEKTION gebildet wird. Dieser Abschnitt wird durch ein Zeilenpaar geschlossen, dessen erste Zeile durch die Ziffer 0 und deren zweite Zeile durch den Wortschlüssel ENDSEK gebildet wird.
  • Eine Kartei DXF weist eine bestimmte Anzahl verschiedener Abschnittstypen, insbesondere den Abschnitt ENTITIES, der Entitäten vom geometrischen Typ beschreibt, und ebenfalls eine bestimmte Anzahl von weiteren Abschnitten auf, unter denen Abschnitte sind, die Parameter oder Klassen definieren, die mit dem Rahmen der vorliegenden Beschreibung übereinstimmen.
  • Der Abschnitt ENTITIES wird durch verschiedene, geometrische Entitäten des geometrischen Musters gebildet, wobei jede Entität durch eine Buchstabenkette eingeführt ist, die den Typ der Entität anzeigt, gefolgt von Parametern, die für die betrachtete Definition der Entität nötig sind.
  • Beispielsweise wird die Definition einer Facette im Raum durch ein Zeilenpaar eingeführt, von dem die erste Zeile von einer Ziffer 0 gebildet ist, die eine Buchstabenkette einführt, gefolgt von einer Zeile, die vom Wortschlüssel 3DFACE gebildet ist.
  • Eine Facette im Raum ist durch drei oder vier Punkte gebildet, die ein Dreieck bzw. ein Viereck bilden, wobei der vierte Punkt als identisch zum dritten Punkt aufgeführt ist, um durch Vereinbarung eher ein Dreieck statt ein Viereck anzuzeigen. Jeder der vier Punkte einer Facette ist durch seine drei Koordinaten x, y und z definiert, und jede der Koordinaten ist, wie vorher angedeutet wurde, durch ein Zeilenpaar definiert, von dem die erste Zeile ein ganzzahliger Indikator zwischen 10 und 59 ist und die zweite Zeile die genannte, geeignete Koordinate ist.
  • In der Spezifikation des Formats DXF betragen die Indikatoren für die Koordinaten x1, y1 und z1 des ersten Punkts der Facette in der Reihenfolge 10, 20 und 30, während die Indikatoren für die Koordinaten x2, y2 und z2 des zweiten Punkts der Facette in der Reihenfolge 11, 21 und 31, die Indikatoren für die Koordinaten x3, y3 und z3 des dritten Punkts der Facette in der Reihenfolge 12, 22 und 32 und die Indikatoren für die Koordinaten x4, y4 und z4 des vierten Punkts der Facette in der Reihenfolge 13, 23 und 33 betragen.
  • Mit anderen Worten ist der numerische Indikator der Koordinate x des Punkts j für den Punkt der Nummer j, für die j-Variante von 1 bis 4 einer Facette, der numerische Indikator der Koordinate y des Punkts j ist 19+j, und der numerische Indikator der Koordinate z des Punkts j ist 29+j.
  • Genauer gesagt erstellt und öffnet das Modul 3D-Raider 17 unter Bezugnahme auf die 5 gemäß der zweiten Ausführungsart der vorliegenden Erfindung in der Stufe 51 eine Ausgabekartei, die in dem beschriebenen Beispiel „DXF" genannt wird, und dann gelangt dieses Modul zur Stufe 52. In der Stufe 52 schreibt das Modul 3D-Raider 17 in die Zeilen oben auf der Kartei im Format DXF, nämlich in die vier folgenden Zeilen, ein:
    0
    SEKTION
    2
    ENTITÄTEN
  • Dann initialisiert das Modul die Anzahl i der beschriebenen Facetten auf 0 in der Kartei „DXF". Das Modul 3D-Raider 17 gelangt nun zur Stufe, die auf der Stufe 53 beruht. In der Stufe 53 prüft das Modul 3D-Raider 17, ob die Anzahl i der beschriebenen Facetten unter der Anzahl der im geteilten Speicher gespeicherten Dreiecke liegt.
  • Wenn die Antwort in der Stufe 53 positiv ist, wenn nämlich die Anzahl der vorher in die Kartei DXF eingeschriebenen Dreiecke unter der Anzahl NDreiecke der im geteilten Speicher 16 gespeicherten Dreiecke liegt, dann gelangt das Modul 3D-Raider 17 zur Stufe 54. In der Stufe 54 erhöht das Modul 3D-Raider 17 die Anzahl i der vorher in die Kartei eingeschriebenen Dreiecke um eins, und dann schreibt sie in die oberen Zeilen im Format DXF für eine Facette, nämlich in die zwei folgenden Zeilen, ein:
    0
    3DFACE
  • Außerdem initialisiert das Modul 3D-Raider 17 immer noch in der Stufe 54 die Anzahl j der in die Kartei „DXF" eingeschriebenen Punkte der Dreiecke i auf 0. Dann gelangt dieses Modul zur Stufe 55. In der Stufe 55 prüft das Modul 3D-Raider 17, ob die Anzahl j der in der Kartei „DXF" eingeschriebenen Punkte unter 3 liegt. Wenn die Antwort positiv ist, gelangt das Modul 3D-Raider 17 zur Stufe 56.
  • In der Stufe 56 erhöht das Modul 3D-Raider die Anzahl j der in die Kartei „DXF" eingeschriebenen Punkte des Dreiecks i um eins, und sie berechnet eine Zahl n, die Dreiecke.nj gleich ist, d.h., dass n sich mit der Zahl nj des Punkts j des Dreiecks i in gleicher Weise ändert. Das Modul schreibt darauf den Indikator der Koordinate x für den Punkt j der Facette im Format DXF, nämlich den Wert 9+j, über eine erste Zeile aufeinanderfolgend ein, dann die Koordinate x selbst über eine zweite Zeile für den Punkt, dessen Zahl n in vorstehender Weise berechnet worden war.
  • Ebenso schreibt das Modul 3D-Raider 17 immer noch in der Stufe 56 und immer für den Punkt der Zahl n in entsprechender Weise den Indikator 19+j über eine dritte Zeile und die Koordinate Y über eine vierte Zeile sowie dann den Indikator 29+j über eine fünfte Zeile und die Koordinate z über eine sechste Zeile ein. Das Modul 3D-Raider kehrt dann zur Stufe 55 zurück.
  • Der Prozess in den Stufen 55 und 56 wird bis zur Stufe 55 wiederholt, und die Antwort wird negativ, nämlich wenn die Anzahl j der in die Kartei „DXF" eingeschriebenen Punkte des Dreiecks gleich 3 beträgt. An diesem Prozesspunkt wird das Modul 3D-Raider 17 dann die drei Punkte des Dreicks i einschreiben.
  • Wenn i gleich 1 ist, d.h. für das erste Dreick, wird das Modul 3D-Raider 17 dann in die Kartei „DXF" die folgenden Zeilen einschreiben:
    10
    0.0
    20
    10.0
    30
    0.0
    für den Punkt n1=1 des Dreiecks 1, dann die Zeilen:
    11
    0.0
    21
    10.0
    31
    –10.0
    für den Punkt n2=2 des Dreiecks 1, dann die Zeilen:
    12
    0.0
    22
    0.0
    32
    0.0
    für den Punkt n3=3 des Dreiecks 1.
  • Wenn in der Stufe 55 die Anzahl j der in die Kartei „DXF" eingeschriebenen Punkte gleich 3 ist, gelangt das Modul 3D-Raider zur Stufe 57. Am Anfang der Stufe 57 wird das Modul 3D-Raider dann in die Kartei „DXF" die drei Punkte des Dreiecks i in der Form einschreiben, wie sie oben angegeben wurde. Gleichwohl wird gemäß der vier Punkte für eine eine Facette benötigende Spezifikation „DXF", wie vorher erwähnt wurde, der dritte Punkt der Zahl n3 wiederholt, was nach Übereinkunft der DXF bedeutet, dass die beschriebene Facette ein Dreieck ist.
  • Deshalb schreibt das Modul 3D-Raider in der Stufe 57 in die Kartei den Indikator der Koordinate x für den vierten Punkt der Facette, nämlich 13, über eine erste Zeile und dann die Koordinate x über eine zweite Zeile ein. In gleicher Weise schreibt es den Indikator der Koordinate, nämlich 23, über eine dritte Zeile und die Koordinate y über eine vierte Zeile bzw. den Indikator der Koordinate z, nämlich 33, über eine fünfte Zeile und die Koordinate z über eine sechste Zeile ein.
  • In demjenigen Fall, in dem i gleich 1 ist, d.h., für das erste Dreieck, was sich aus dem Ereignis in der Stufe 57 ergibt, schreibt das Modul 3D-Raider 17 in die Kartei „DXF" folgende Zeilen ein:
    13
    0.0
    23
    0.0
    33
    0.0,
    die die Koordinaten des vorhergehenden Punkts der laufenden Facette wiedergeben, nämlich den dritten Punkt des ersten Dreiecks.
  • Am Schluss der Stufe 57 kehrt das Modul 3D-Raider 17 dann wieder zur Stufe 54 zurück, um das folgende Dreieck auszugeben, wobei es den gleichen Prozess verwendet, wie er oben für das erste Dreieck beschrieben wurde, bis die Antwort in der Stufe 54 positiv wird.
  • Wenn die Antwort in der Stufe 54 positiv ist, d.h., wenn alle vorher im geteilten Speicher 16 gespeicherten Dreiecke in die Kartei „DXF" eingeschrieben worden sind, dann gelangt das Modul 3D-Raider 17 zur Stufe 58. In der Stufe 58 schreibt das Modul 3D-Raider 17 die Endabschnittzeilen, nämlich folgende zwei Zeilen ein:
    0
    ENDSEK
  • Dann schreibt es die zwei Zeilen ein, die das Ende der Ausgabekartei im Format DXF anzeigt, nämlich:
    0
    EOF
  • Dann schließt das Modul 3D-Raider 17 immer noch in der Stufe 58 die Kartei „DXF", die folglich dann die in der folgenden Tabelle 3 dargestellte Form aufweist:
  • Tabelle 3
    Figure 00320001
  • Figure 00330001
  • Figure 00340001
  • Das Verfahren zur Ausgabe von mit geometrischen Entitäten verbundenen Daten gemäß der zweiten Ausführungsart der vorliegenden Erfindung ist nun beendet, und daraus ist erkennbar, dass dieses Verfahren die Ausgabe des geometrischen Musters 10 erlaubt, das durch die Grafikanwendung 11 ohne jegliche Kenntnis des Datenformats dieser Anwendung, ohne jegliche Änderung dieser Anwendung 11 und ohne jegliche Entwicklung eines besonderen Programms für diese Anwendung 11 erstellt und/oder manipuliert wird.
  • Selbstverständlich ist das Verfahren gemäß der Erfindung nicht auf das Unterbrechen und die Ausgabe der oben beschriebenen Grafikfunktionen von Punkten und von Dreiecken beschränkt. Insbesondere ist bei dem vorstehend beschriebenen Beispiel die für Erzeugung von Punkten verwendete Funktion die Funktion glVertex3fv gewesen, doch dürfte es für jeden Fachmann in dieser Technik klar sein, dass die vorstehende Beschreibung mit elementaren Anpassungen bei jeder Anweisung der Gruppe glVertex anwendbar ist.
  • Ferner sollte es auf der Grundlage der vorstehenden Beschreibung völlig klar sein, dass das Verfahren gemäß der Erfindung die Ausgabe jeder gewünschten Funktion OpenGL und in nicht beschränkender Weise die Ausgabe von Funktionen erlaubt, die viereckförmige Elemente definieren, die Flächenorientierungsinformationen wie die Senkrechte im Punkt definieren und die Informationen über die Farbe, die Oberflächenstruktur, die Transparenz usw. definieren.
  • Ferner ist das Verfahren nicht auf die Ausgabe von geometrischen, auch einfachen Strukturen beschränkt, wie sie im Beispiel beschrieben wurden, sondern es wird für den Fachmann klar sein, dass das Verfahren gemäß der Erfindung die Ausgabe eines beliebigen, geometrischen Musters aufgrund der Tatsache erlaubt, dass jede, auch eine komplizierte Musterstruktur mit Hilfe von Grundworten von Punkten, Dreiecken, Vierecken usw. angezeigt werden wird und dann unter Verwendung des oben beschriebenen Verfahrens ausgegeben werden kann.
  • In gleicher Weise ist aus offensichtlichen Gründen der Vereinfachung der Beschreibung angenommen worden, dass alle verwendeten, geometrischen Strukturen, insbesondere die Punkte, bestimmte sind und dass es daher keine Suchstelle zum Zerlegen oder Optimieren in irgendeiner Weise gibt, als es die verwendeten Tabellen sind. In der Praxis werden die verdoppelten Elemente selbstverständlich durch ein geeignetes Verfahren unterdrückt, entweder während ihrer Registrierung in den Tabellen Punkte und Dreiecke durch das Programm der DLL 15 oder während ihrer Ausgabe in die Speichereinheit 18 durch das Modul 3D-Raider 17.
  • Ebenfalls ist das Verfahren nicht auf die beschriebenen Ausführungsarten beschränkt, die die Grafikbibliothek OpenGL verwenden, und es dürfte für alle in der Technik bewanderten Personen klar sein, dass das oben beschriebene Verfahren auf jede andere Bibliothek von Anzeigefunktionen 12 anwendbar ist, die für die Modellierungsanwendung oder die Anwendung 10 zur geometrischen Modellierung geeignet ist, wie beispielsweise (nicht beschränkt) auf die Anzeigebibliothek DirectX von Microsoft.
  • Andererseits kann das Verfahren gemäß der Erfindung nur für eine besondere, gewünschte Anwendung 11 durchgeführt werden, vielmehr für den Komplex der Grafikanwendungen, die über das System 1 zur Modellierung und/oder Manipulation eingeführt sind, wobei die DLL 15 installiert ist, die das Verfahren gemäß der Erfindung allein im Verzeichnis der gewünschten Anwendung 11, vielmehr im Verzeichnissystem des Betriebssystems von Windows durchführt.
  • Entsprechend dem Vorstehenden sieht man also, dass das Verfahren gemäß der Erfindung erlaubt hat, die Informationen der Geometrie des Musterbeispiels 10 durch die Anwendung 11 ohne jegliche Änderung dieser Anwendung 11, ohne jegliche Entwicklung eines besonderen Programms für diese Anwendung 11 und ohne jegliche Kenntnis des für diese Anwendung verwendeten Datenformats auszugeben, wobei nur die Funktionen und Grafikgrundelemente als diese Anwendung 11 unterbrochen werden, die für die Anzeige ihrer geometrischen Muster 10 verwendet wird.
  • Wenn darauf geachtet wird, dass das verwendete Datenformat für das Speichern der in die Speichereinheit 18 ausgegebenen, mit geometrischen Entitäten verbundenen Daten entweder ein bekanntes und offenes Format wie das bei der ersten Ausführungsart dargestellte oder ein Standardbetriebsformat wie das Format DXF oder ferner jedes andere Format sein wird, das von einer besonderen Anwendung benötigt wird, dann wird es sehr leicht sein, diese Daten in jedes andere gewünschte geometrische System zur Modellierung oder Manipulation einzugeben.
  • Das Verfahren gemäß der Erfindung ist folglich also für die Anwendung in einer sehr großen Variation von Bereichen geeignet, insbesondere in allen Bereichen, in denen die mit geometrischen Entitäten verbundenen Daten zwischen verschiedenen Systemen ausgetauscht werden müssen, wie es in der gesamten Industrie und im gesamten Dienstleistungsbereich erfolgt, bei denen mit geometrischen Entitäten verbundene Daten verwendet werden, wie etwa in der Industrie und im Dienstleistungsbereich des Automobil- oder Flugzeugbaus, der industriellen Entwicklung, des Bauhandwerks und/oder der Architektur, der Fernsehspiele usw.

Claims (26)

  1. Verfahren zum Ausgeben von mit geometrischen Entitäten in Zusammenhang stehenden Daten unter Verwendung eines Datenverarbeitungssystems (1) zur Modellierung und/oder Manipulation von geometrischen Entitäten (10), wobei das Datenverarbeitungssystem (1) zur Modellierung und/oder Manipulation von geometrischen Entitäten (10) zumindest eine Zentralverarbeitungseinheit, die zum Ausführen von Datenverarbeitungsprogrammen (11, 12, 15) fähig ist, einen Speicher (16), der zum Speichern der Datenverarbeitungsprogramme (11, 12, 15) und von mit geometrischen Entitäten (10) in Zusammenhang stehenden Daten während der Dauer der Ausführung der Datenverarbeitungsprogramme (11, 12, 15) fähig ist, und zumindest eine Speichereinheit (18) aufweist, die zum Speichern von mit geometrischen Entitäten (10) in Zusammenhang stehenden Daten auf dauerhafte Art und Weise fähig ist, wobei das Datenverarbeitungssystem (1) zumindest ein Programm (11) zur Modellierung und/oder Manipulation von geometrischen Entitäten (10) und zumindest ein Programm (12) zur Darstellung von mit geometrischen Entitäten (10) in Zusammenhang stehenden Daten aufweist, wobei das zumindest eine Programm (11) zur Modellierung und/oder Manipulation die mit geometrischen Entitäten (10) in Zusammenhang stehenden Daten zur Darstellung unter Aufrufung von sich in dem zumindest einen Programm (12) zur Darstellung befindlichen Darstellungsfunktionen an das zumindest eine Programm (12) zur Darstellung überträgt, wobei die durch das Programm (12) zur Darstellung darzustellenden Daten von dem zumindest einen Programm (11) zur Modellierung und/oder Manipulation an das zumindest eine Programm (12) zur Darstellung in der Form von Aufrufparametern der Darstellungsfunktionen übertragen werden, die von dem zumindest einen Programm (11) zur Modellierung und/oder Manipulation von geometrischen Entitäten (10) aufgerufen werden, wobei die Darstellungsfunktionen die Darstellung einer bestimmten Menge von mit geometrischen Entitäten (10) in Zusammenhang stehenden Daten ermöglichen, dadurch gekennzeichnet, dass ein Programm (15) zur Ausgabe von mit geometrischen Entitäten (10) in Zusammenhang stehenden Daten durch zumindest eines des zumindest einen Programms (12) zur Darstellung ersetzt wird, wobei das Programm (15) zur Ausgabe die gleichen Darstellungsfunktionen von mit geometrischen Entitäten (10) in Zusammenhang stehenden Daten aufweist wie das zumindest eine Programm (12) zur Darstellung, wobei die Darstellungsfunktionen von mit geometrischen Entitäten (10) in Zusammenhang stehenden Daten des Programms (15) zur Ausgabe die gleichen Parameter aufweisen wie die entsprechenden Funktionen des zumindest einen Programms (12) zur Darstellung, wobei das zumindest eine Programm (11) zur Modellierung und/oder Manipulation von geometrischen Entitäten anstatt entsprechender Funktionen des zumindest einen Programms (12) zur Darstellung auf eine transparente Art und Weise die Funktionen des Programms (15) zur Ausgabe aufruft.
  2. Verfahren gemäß Anspruch 1, bei dem zumindest eines des zumindest einen Programms (11) zur Modellierung und/oder Manipulation ein Programm vom Typ computerunterstützter Entwurf oder CAO ist.
  3. Verfahren gemäß Anspruch 1 oder 2, bei dem zumindest eines des zumindest einen Programms (11) zur Modellierung und/oder Manipulation ein Programm vom Typ Videospiel ist.
  4. Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem das Programm (15) zur Ausgabe bei einem Aufruf einer der Darstellungsfunktionen des Programms (15) zur Ausgabe durch das zumindest eine Programm (11) zur Modellierung und/oder Manipulation Daten in einem geeigneten Format in die zumindest eine Speichereinheit (18) speichert, die bei einer durch das Programm (15) zur Ausgabe durchgeführten Verarbeitung von Aufrufen der Darstellungsfunktionen des Programms (15) zur Ausgabe durch das zumindest eine Programm (11) zur Modellierung und/oder Manipulation entstehen.
  5. Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem das Programm (15) zur Ausgabe bei einem Aufruf von einer der Darstellungsfunktionen des Programms (15) zur Ausgabe durch das zumindest eine Programm (11) zur Modellierung und/oder Manipulation die Darstellungsfunktion des Programms (12) zur Darstellung aufruft, die der Darstellungsfunktion entspricht, die im Programm (15) zur Ausgabe mit den gleichen Aufrufparametern aufgerufen wird, die beim Aufruf der Funktion des Programms (15) zur Ausgabe vorliegen.
  6. Verfahren gemäß Anspruch 5, bei dem das aufgerufene Programm zur Darstellung das Programm (12) zur Darstellung ist, durch das das Programm zur Ausgabe ersetzt wurde.
  7. Verfahren gemäß Anspruch 5, bei dem das aufgerufene Programm zur Darstellung ein Programm (12) zur Darstellung ist, das sich von demjenigen unterscheidet, durch das das Programm zur Ausgabe ersetzt wurde.
  8. Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem das Datenverarbeitungssystem (1) zusätzlich zumindest eine Vorrichtung (13) zur grafischen Darstellung aufweist, wobei die zumindest eine Vorrichtung (13) zur Darstellung zumindest einen Auffrischungs- und/oder Darstellungsspeicher aufweist, wobei das zumindest eine Programm (12) zur Darstellung der zumindest einen Vorrichtung (13) zur Darstellung die punktförmige Digitalisierung der Darstellungsfunktionsaufrufe anordnet, die von dem Programm (12) zur Darstellung empfangen werden, wobei die Vorrichtung (13) zur Darstellung die Punkte in dem Auffrischungs- und/oder Darstellungsspeicher speichert, die bei der Digitalisierung der Darstellungsfunktionsaufrufe entstehen, die von dem zumindest einen Programm (12) zur Darstellung empfangen werden.
  9. Verfahren gemäß Anspruch 8, bei dem das Datenverarbeitungssystem (1) zusätzlich zumindest einen Grafikbildschirm (14) aufweist, und bei dem der Auffrischungs- und/oder Darstellungsspeicher von der zumindest einen Vorrichtung (13) zur Darstellung erneut ausgelesen wird, wobei die zumindest eine Vorrichtung (13) zur Darstellung auf dem zumindest einen Grafikbildschirm (14) die Punkte darstellt, die erneut aus dem Auffrischungs- und/oder Darstellungsspeicher ausgelesen werden.
  10. Verfahren gemäß Anspruch 8 oder 9, bei dem die Ausgabe von Daten durch das Programm (15) zur Ausgabe durch zumindest eine bestimmte Grafikanweisung ausgelöst wird, die von dem zumindest einen Programm (11) zur Modellierung und/oder Manipulation an das Programm (15) zur Ausgabe übertragen wird.
  11. Verfahren gemäß Anspruch 10, bei dem die zumindest eine bestimmte, die Ausgabe von Daten auslösende Grafikanweisung eine Anweisung ist, die die Beendigung der Digitalisierung der Grafikfunktionsaufrufe bewirkt, die an den Punkten im Auffrischungs- und/oder Darstellungsspeicher empfangen werden.
  12. Verfahren gemäß Anspruch 10 oder 11, bei dem die zumindest eine Vorrichtung (13) zur Darstellung zumindest zwei Auffrischungs- und/oder Darstellungsspeicher aufweist, und bei dem die die Ausgabe bewirkende Anweisung eine Anweisung ist, die die Umlegung von einem der zumindest zwei Auffrischungs- und/oder Darstellungsspeicher auf einen anderen der zumindest zwei Auffrischungs- und/oder Darstellungsspeicher bewirkt.
  13. Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem das Programm (15) zur Ausgabe bei einem Aufruf einer der Darstellungsfunktionen des Programms (15) zur Ausgabe durch das Programm (11) zur Modellierung und/oder Manipulation Daten in einem geeigneten Format in den Speicher (16) speichert, die bei einer durch das Programm (15) zur Ausgabe durchgeführten Verarbeitung von Aufrufen der Darstellungsfunktionen des Programms (15) zur Ausgabe entstehen.
  14. Verfahren gemäß Anspruch 13, bei dem das Datenverarbeitungssystem (1) zusätzlich ein Anwendungsprogramm (17) ausführt, das die Daten, die durch eine Verarbeitung durch das Programm (15) zur Ausgabe entstehen, erneut im Speicher (16) ausliest.
  15. Verfahren gemäß Anspruch 14, bei dem das Anwendungsprogramm (17), das den Speicher (16) erneut ausliest, in der zumindest einen Speichereinheit (18) die Daten in einem geeigneten Format speichert, die durch eine Verarbeitung durch das Programm (15) zur Ausgabe entstehen, und die erneut aus dem Speicher (16) ausgelesen werden.
  16. Verfahren gemäß einem der Ansprüche 14 oder 15, bei dem das Anwendungsprogramm (17) die erneut aus dem Speicher (16) ausgelesenen Daten mit Hilfe geeigneter Aufrufe der Darstellungsfunktionen des zumindest einen Programms (12) zur Darstellung darstellt.
  17. Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem eines des zumindest einen Programms (12) zur Darstellung, durch das das Programm (15) zur Ausgabe ersetzt wird, der Spezifikation OpenGL von Silicon Graphics Inc. entspricht.
  18. Verfahren gemäß Anspruch 17, bei dem die zumindest eine die Ausgabe bewirkende Anweisung die OpenGL-Anweisung „wglSwapBuffers" und/oder die OpenGL-Anweisung „glFlush" ist.
  19. Verfahren gemäß einem der Ansprüche 1 bis 16, bei dem eines des zumindest einen Programms (12) zur Darstellung, durch das das Programm (15) zur Ausgabe ersetzt wird, konform zur Spezifikation DirectX von Microsoft entspricht.
  20. Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem die mit geometrischen Entitäten in Zusammenhang stehenden Daten geometrische Daten aufweisen.
  21. Verfahren gemäß Anspruch 20, bei dem die geometrischen Daten vom zweidimensionalen und/oder dreidimensionalen Typ sind.
  22. Verfahren gemäß einem der Ansprüche 20 oder 21, bei dem die geometrischen Daten Punktdaten und/oder Segmentdaten mit zwei Punkten und/oder Daten in Bezug auf Dreiecke und/oder Daten in Bezug auf Vierecke und/oder Daten in Bezug auf Vielecke aufweisen.
  23. Verfahren gemäß einem der Ansprüche 20 bis 22, bei dem die geometrischen Daten mit geometrische Entitäten vom linienförmigen Typ und/oder vom flächigen Typ und/oder vom räumlichen Typ in Zusammenhang stehen.
  24. Verfahren gemäß Anspruch 23, bei dem die mit geometrischen Entitäten in Zusammenhang stehenden geometrischen Daten zusätzlich geometrische Daten aufweisen, die zumindest mit einem Normalvektor auf zumindest eine der Entitäten vom linienförmigen Typ und/oder vom flächigen Typ und/oder vom räumlichen Typ in Zusammenhang stehen.
  25. Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem die mit geometrischen Entitäten in Zusammenhang stehenden Daten Farbdaten und/oder Strukturdaten aufweisen.
  26. System zur Ausgabe von mit geometrischen Entitäten in Zusammenhang stehenden Daten unter Verwendung eines Datenverarbeitungssystems (1) zur Modellierung und/oder Manipulation von geometrischen Entitäten (10), wobei das Datenverarbeitungssystem (1) zur Modellierung und/oder Manipulation von geometrischen Entitäten (10) zumindest eine Zentralverarbeitungseinheit, die zum Ausführen von Datenverarbeitungsprogrammen (11, 12, 15) fähig ist, einen Speicher (16), der zum Speichern der Datenverarbeitungsprogramme (11, 12, 15) und von mit geometrischen Entitäten (10) in Zusammenhang stehenden Daten während der Dauer der Ausführung der Datenverarbeitungsprogramme (11, 12, 15) fähig ist, und zumindest eine Speichereinheit (18) aufweist, die zum Speichern von mit geometrischen Entitäten (10) in Zusammenhang stehenden Daten auf dauerhafte Art und Weise fähig ist, wobei das Datenverarbeitungssystem (1) zumindest ein Programm (11) zur Modellierung und/oder Manipulation von geometrischen Entitäten (10) und zumindest ein Programm (12) zur Darstellung von mit geometrischen Entitäten (10) in Zusammenhang stehenden Daten aufweist, wobei das zumindest eine Programm (11) zur Modellierung und/oder Manipulation die mit geometrischen Entitäten (10) in Zusammenhang stehenden Daten zur Darstellung unter Aufrufung von sich in dem zumindest einen Programm (12) zur Darstellung befindlichen Darstellungsfunktionen an das zumindest eine Programm (12) zur Darstellung überträgt, wobei die durch das Programm (12) zur Darstellung darzustellenden Daten von dem zumindest einen Programm (11) zur Modellierung und/oder Manipulation an das zumindest eine Programm (12) zur Darstellung in der Form von Aufrufparametern der Darstellungsfunktionen übertragen werden, die von dem zumindest einen Programm (11) zur Modellierung und/oder Manipulation von geometrischen Entitäten (10) aufgerufen werden, wobei die Darstellungsfunktionen die Darstellung einer bestimmten Menge von mit geometrischen Entitäten (10) in Zusammenhang stehenden Daten ermöglichen, dadurch gekennzeichnet, dass das System das Verfahren gemäß einem der vorhergehenden Ansprüche einsetzt.
DE60106301T 2001-07-04 2001-07-04 Verfahren und system für die ausfuhr von datenverbänden zu zweidimensionalen oder dreidimensionalen geometrischen entitäten Expired - Lifetime DE60106301T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FR2001/002136 WO2003005201A1 (fr) 2001-07-04 2001-07-04 Procede et systeme d'exportation de donnees associees a des entites geometriques bidimensionnelles ou tridimensionnelles

Publications (2)

Publication Number Publication Date
DE60106301D1 DE60106301D1 (de) 2004-11-11
DE60106301T2 true DE60106301T2 (de) 2005-10-20

Family

ID=8860110

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60106301T Expired - Lifetime DE60106301T2 (de) 2001-07-04 2001-07-04 Verfahren und system für die ausfuhr von datenverbänden zu zweidimensionalen oder dreidimensionalen geometrischen entitäten

Country Status (13)

Country Link
US (2) US7150026B2 (de)
EP (1) EP1402371B1 (de)
JP (1) JP4125673B2 (de)
KR (1) KR100876025B1 (de)
CN (1) CN1318975C (de)
AT (1) ATE278987T1 (de)
CA (1) CA2450941A1 (de)
DE (1) DE60106301T2 (de)
DK (1) DK1402371T3 (de)
ES (1) ES2228910T3 (de)
HK (1) HK1063082A1 (de)
PT (1) PT1402371E (de)
WO (1) WO2003005201A1 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2823896B1 (fr) * 2001-04-23 2003-10-24 E Bourgeois Ets Simulateur de vol adapte a une famille d'aeronefs
DE60106301T2 (de) * 2001-07-04 2005-10-20 Okyz Verfahren und system für die ausfuhr von datenverbänden zu zweidimensionalen oder dreidimensionalen geometrischen entitäten
US7236914B1 (en) * 2002-02-22 2007-06-26 Microsoft Corporation Integrated aircraft flight dynamics prediction and simulation
US7002573B2 (en) * 2003-01-16 2006-02-21 1914 Holding Company Method and system for converting engineering data into 3D modeling data
US20050143654A1 (en) * 2003-11-29 2005-06-30 Karel Zuiderveld Systems and methods for segmented volume rendering using a programmable graphics pipeline
US20070129990A1 (en) * 2005-12-01 2007-06-07 Exent Technologies, Ltd. System, method and computer program product for dynamically serving advertisements in an executing computer game based on the entity having jurisdiction over the advertising space in the game
US7596540B2 (en) * 2005-12-01 2009-09-29 Exent Technologies, Ltd. System, method and computer program product for dynamically enhancing an application executing on a computing device
US8629885B2 (en) * 2005-12-01 2014-01-14 Exent Technologies, Ltd. System, method and computer program product for dynamically identifying, selecting and extracting graphical and media objects in frames or scenes rendered by a software application
US20070296718A1 (en) * 2005-12-01 2007-12-27 Exent Technologies, Ltd. Dynamic resizing of graphics content rendered by an application to facilitate rendering of additional graphics content
US20070168309A1 (en) * 2005-12-01 2007-07-19 Exent Technologies, Ltd. System, method and computer program product for dynamically extracting and sharing event information from an executing software application
US7596536B2 (en) * 2005-12-01 2009-09-29 Exent Technologies, Ltd. System, method and computer program product for dynamically measuring properties of objects rendered and/or referenced by an application executing on a computing device
US20070171222A1 (en) * 2006-01-23 2007-07-26 Autodesk, Inc. Application-independent method for capturing three-dimensional model data and structure for viewing and manipulation
US20080007563A1 (en) * 2006-07-10 2008-01-10 Microsoft Corporation Pixel history for a graphics application
US20110164686A1 (en) * 2008-09-16 2011-07-07 Xiuping Lu Method for delivery of digital linear tv programming using scalable video coding
DE102009058802B4 (de) * 2009-12-18 2018-03-29 Airbus Operations Gmbh Anordnung zur kombinierten Darstellung eines realen und eines virtuellen Modells
EP2523130A1 (de) * 2011-05-11 2012-11-14 Dassault Systèmes Verfahren zum Entwerfen eines geometrischen, dreidimensionalen, modellierten Objekts
CN104346753A (zh) * 2013-08-07 2015-02-11 鸿富锦精密工业(深圳)有限公司 裁切最优化处理系统及方法
US9805517B2 (en) 2014-06-03 2017-10-31 Landmark Graphics Corporation Integrating external algorithms into a flexible framework for imaging visualization data
US10416836B2 (en) * 2016-07-11 2019-09-17 The Boeing Company Viewpoint navigation control for three-dimensional visualization using two-dimensional layouts
CN108259496B (zh) 2018-01-19 2021-06-04 北京市商汤科技开发有限公司 特效程序文件包的生成及特效生成方法与装置、电子设备
CN108388434B (zh) 2018-02-08 2021-03-02 北京市商汤科技开发有限公司 特效程序文件包的生成及特效生成方法与装置、电子设备

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819062A (en) * 1994-12-05 1998-10-06 Motorola Inc. Method for converting design intent into a neutral-file-format for computer aided design applications
US5616876A (en) * 1995-04-19 1997-04-01 Microsoft Corporation System and methods for selecting music on the basis of subjective content
US5793371A (en) * 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data
US5988862A (en) * 1996-04-24 1999-11-23 Cyra Technologies, Inc. Integrated system for quickly and accurately imaging and modeling three dimensional objects
JP4253045B2 (ja) 1996-08-01 2009-04-08 武藤工業株式会社 図面データ修復方法
US5995113A (en) * 1996-08-02 1999-11-30 Hewlett-Packard Company Coloring events in event streams in order to provide information about operation of a software library
JPH10155094A (ja) 1996-09-30 1998-06-09 Ricoh Co Ltd 色変換処理装置およびその方法,動的にリンク可能なプログラムモジュールの拡張方法およびそれを適用した色変換処理方法並びにそれらの方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JPH10301971A (ja) 1997-04-24 1998-11-13 Hiruta Kogyo Kk Cadデータ受渡方法
US5999186A (en) * 1997-05-23 1999-12-07 3-Design L.L.C. Reference based parametric dimensioning method and system
JPH1125154A (ja) * 1997-07-07 1999-01-29 Hitachi Telecom Technol Ltd Cadシステム
US6847384B1 (en) * 1998-05-14 2005-01-25 Autodesk, Inc. Translating objects between software applications which employ different data formats
EP1086412A4 (de) * 1998-06-08 2008-05-07 Microsoft Corp Komprimierung von zeitabhängige geometrie
JP3301971B2 (ja) 1998-08-05 2002-07-15 三洋電機株式会社 集光ユニット及び該集光ユニットを具えた投写装置
FR2782183B1 (fr) * 1998-08-05 2000-10-13 Geofermat Sarl Procede et systeme de traitement d'informations a reference spatiale, notamment d'informations cartographiques, applications et appareils implementant ce procede
US6738065B1 (en) * 1999-08-10 2004-05-18 Oshri Even-Zohar Customizable animation system
US7203946B2 (en) * 1999-10-11 2007-04-10 Hewlett-Packard Development Company, L.P. System and method for intercepting, instrumenting and characterizing usage of an application programming interface
AU2002218004A1 (en) * 2000-10-30 2002-05-15 Translation Technologies, Inc. Computational geometry system, interrupt interface, geometric model comparator, and method
DE60106301T2 (de) 2001-07-04 2005-10-20 Okyz Verfahren und system für die ausfuhr von datenverbänden zu zweidimensionalen oder dreidimensionalen geometrischen entitäten
CN1306444C (zh) * 2001-11-07 2007-03-21 鹿岛建设株式会社 建筑生产信息集成方法
AU2003252129A1 (en) * 2002-07-23 2004-02-09 Imagecom, Inc. System and method for creating and updating a three-dimensional model and creating a related neutral file format

Also Published As

Publication number Publication date
EP1402371A1 (de) 2004-03-31
KR100876025B1 (ko) 2008-12-26
EP1402371B1 (de) 2004-10-06
PT1402371E (pt) 2004-12-31
DK1402371T3 (da) 2005-02-14
ATE278987T1 (de) 2004-10-15
US7150026B2 (en) 2006-12-12
KR20040018425A (ko) 2004-03-03
US7747570B2 (en) 2010-06-29
ES2228910T3 (es) 2005-04-16
HK1063082A1 (en) 2004-12-10
JP4125673B2 (ja) 2008-07-30
CA2450941A1 (fr) 2003-01-16
JP2004534320A (ja) 2004-11-11
US20040189671A1 (en) 2004-09-30
CN1318975C (zh) 2007-05-30
US20070094299A1 (en) 2007-04-26
WO2003005201A1 (fr) 2003-01-16
CN1526098A (zh) 2004-09-01
DE60106301D1 (de) 2004-11-11

Similar Documents

Publication Publication Date Title
DE60106301T2 (de) Verfahren und system für die ausfuhr von datenverbänden zu zweidimensionalen oder dreidimensionalen geometrischen entitäten
DE10053439B4 (de) Grafik-Beschleuniger mit Interpolationsfunktion
DE3750784T2 (de) Generation eines intrapolierten charakteristischen Wertes zur Anzeige.
DE69032932T2 (de) System und Verfahren zum unverfälschten Polygonenzeichnen
DE69122557T2 (de) Bilderzeugung
DE68919024T2 (de) Verfahren und Prozessor zur Abtastumsetzung.
DE68927471T2 (de) Verfahren zur Schattierung eines graphischen Bildes
DE3854543T2 (de) Prioritätsverwaltung eines Tiefendatenpuffers für Echtzeitrechnersysteme zur Bilderzeugung.
DE3855231T2 (de) Prioritätsauflösungssystem zwischen Polygonen mit Antialiasing
DE69130123T2 (de) Anzeigegerät und Verfahren zum Betreiben eines solchen Geräts
DE69534331T2 (de) Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur
DE69431329T2 (de) Verfahren zur Erzeugung von Bilddaten
DE3335162C2 (de) Vorrichtung und Verfahren für graphische Darstellungen mittels Computer
DE3650129T2 (de) Verfahren zur Kantenglättung für Rechnerbilderzeugungssystem.
DE68907383T2 (de) Verfahren und Anordnung zur Umsetzung von Umrissdaten in Rasterdaten.
DE68915006T2 (de) System zum Generieren von Musterdaten.
DE69329565T2 (de) Verfahren und Vorrichtung zur Vorbereitung von Landkartendaten mit regionalen Eigenschaften
DE69534695T2 (de) Verfahren und Vorrichtung zum Erzeugen von Mustern
DE3855234T2 (de) Hochleistungsfähiges graphisches endgerät sowie betriebsverfahren dafür
DE3407983A1 (de) Mehrprozessorrechnersystem zum verarbeiten in einer hierarchischen datenstruktur definierter objektelemente zu einer farbigen abbildung
DE102005050846A1 (de) Perspektiveneditierwerkzeuge für 2-D Bilder
EP1227444A1 (de) Verfahren zur Rasterisierung eines Graphikgrundelements
DE69021939T2 (de) Rechnergestützte Erzeugung beweglicher Bilder.
DE69127554T2 (de) Interpretation der bildposition in einem graphischen system.
DE69129339T2 (de) Graphisches ausgangssystem mit begrenzter aktualisierung.

Legal Events

Date Code Title Description
8363 Opposition against the patent