-
Die
Erfindung betrifft ein Verfahren zum Positionieren eines Cursors
in Bezug auf eine Referenzposition auf einer Anzeigevorrichtung
eines Computersystems gemäß dem Oberbegriff
von Anspruch 1, ein Computersystem gemäß dem Oberbegriff von Anspruch
12 und ein Computerprogramm gemäß dem Oberbegriff
von Anspruch 14.
-
Somit
betrifft die vorliegende Erfindung allgemein Hilfsmittel für die rechnergestützte Entwicklung und
für die
rechnergestützte
Fertigung (CAD/CAM-Hilfsmittel)
und insbesondere die Positionierung von Objekten in CAD/CAM-Programmen oder -Umgebungen.
-
Verfahren
zum Zeichnen und zum Ändern der
Größe von Objekten
in CAD/CAM-Programmen sind bereits früher vorgeschlagen worden. Beispielsweise übersetzt
ein typisches CAD/CAM-Programm beim Zeichnen eines Objekts auf eine
Anzeigevorrichtung Positionierungssignale und -bewegungen eines
Cursors auf einer Anzeigevorrichtung in das Koordinatensystem des
Programms und in den Maßstab
des Programms (zusammen "Koordinatensystem"). Eine Veranschaulichung
dessen ist, wenn der Anwender auf ein Rechteck auf der Anzeigevorrichtung
klickt und es zieht, wobei das Rechteck auf der Anzeigevorrichtung
lediglich als 2 Zoll mal 1 Zoll erscheinen kann, während es
im Koordinatensystem des Programms einen Raum von 20 Fuß mal 10
Fuß darstellen
kann. Während
der Anwender mit dem Cursor ein Rechteck auf der Anzeigevorrichtung
erzeugt oder die Größe eines
vorhandenen Rechtecks mit dem Cursor auf der Anzeigevorrichtung ändert, zeigt
das Programm dem Anwender typischerweise die momentane Größe des Rechtecks
im Koordinatensystem des Programms an. Die Größenrückkopplung ermöglicht dem
Anwender, die Größe von Objekten
in dem CAD/CAM-Programm schneller und genauer zu definieren.
-
Obgleich
es Werkzeuge gibt, die dem Anwender bei der Größenbestimmung und Größenänderung
von Objekten in einer CAD/CAM-Umgebung helfen, gibt es nicht viele
Hilfsmittel, die dem Anwender bei der Positionierung von Objekten
in Bezug auf andere Objekte helfen. Ein verwendetes Verfahren, das
ermöglicht,
dass ein Anwender ein Objekt in Bezug auf ein vorhandenes Objekt
positioniert, erfolgt mit Koordinateneingaben von einer Tastatur
oder von Dialogfeldern. Unter Verwendung dieses Verfahrens definiert
der Anwender zuerst einen Referenzpunkt und gibt daraufhin im Koordinatensystem
des Programms eine Versatzentfernung von dem Referenzpunkt ein,
wo sich das neue Objekt befinden sollte, und erzeugt daraufhin das
neue Objekt.
-
1A veranschaulicht einen
Prozess des Positionierens von Objekten in Bezug auf einen Referenzpunkt. 1A enthält eine Bildschirmanzeige 10 eines
typischen CAD/CAM-Programms. Die Bildschirmanzeige 10 enthält das Objekt 15 mit
dem Referenzpunkt 20 und dem Cursor 25. Außerdem enthält die Bildschirmanzeige 10 das
Fenster 30 mit dem Dialogfeld 35 für den horizontalen
Versatz und mit dem Dialogfeld 40 für den vertikalen Versatz und
das Objekt 45 mit dem Punkt 50.
-
Wie
in 1A veranschaulicht
ist, verwendet der Anwender typischerweise den Cursor 25,
um einen Referenzpunkt an einem Objekt wie etwa den Referenzpunkt 20 am
Objekt 15 zu lokalisieren. Nachfolgend öffnet der Anwender ein Fenster
wie etwa das Fenster 30, das das Dialogfeld 35 für den horizontalen
Versatz und das Dialogfeld 40 für den vertikalen Versatz enthält. Der
Anwender definiert unter Verwendung einer Tastatur in dem entsprechenden
Dialogfeld einen Wert für
den horizontalen Versatz und einen Wert für den vertikalen Versatz vom
Referenzpunkt 25. Die Versatzwerte werden zu den Koordinaten
des Referenzpunkts 25 addiert, wobei auf der Anzeige z.
B. der resultierende Punkt 50 definiert wird. Wenn der
Punkt 50 definiert worden ist, erzeugt der Anwender in
Bezug auf den Punkt 50 wie gezeigt neue Objekte wie etwa
das Objekt 45.
-
Ein
Nachteil bei diesem Verfahren ist, dass der Anwender ständig mit
den Händen
zwischen den Eingabevorrichtungen hin und her greifen und seine Augen
ständig
zwischen den Eingabevorrichtungen und der Anzeige hin und her bewegen
muss. Zum Beispiel verwendet der Anwender anfangs die Maus, um den
Referenzpunkt zu definieren, anschließend verwendet er die Tastatur,
um die Eingaben einzugeben, um anschließend zu der Maus zurückzukehren, um
das Objekt zu definieren. Diese Art der Hin- und Herbewegung verringert
die Produktivität
des Anwenders. Ein weiterer Nachteil ist, dass der Anwender in einigen
Programmen gelegentlich gezwungen ist, sich kryptische Zeichenkombinationen
(z. B. dx = 5, 2, 2.0, 1.2 usw....) einzuprägen, um diese Aufgabe auszuführen.
-
Ein
weiteres Verfahren, um dem Anwender beim Positionieren von Objekten
in Bezug auf andere Objekte zu helfen, erfolgt unter Verwendung
von Konstruktionslinien oder einer Konstruktionsgeometrie. Um z.
B. einen horizontalen Versatz und einen vertikalen Versatz von einem
Referenzpunkt zu bestimmen, erzeugt der Anwender ein temporäres Rechteck,
dessen Abmessungen gleich dem horizontalen Versatz und dem vertikalen
Versatz sind. Nachdem das tempo räre
Rechteck gezeichnet worden ist, wird das gewünschte Objekt in Bezug auf
einen Punkt an dem temporären
Rechteck erzeugt. Nachdem das gewünschte Objekt erzeugt worden ist,
wird das temporäre
Rechteck gelöscht.
-
1B veranschaulicht einen
wie eben beschriebenen Prozess zum Positionieren von Objekten in
Bezug auf einen Referenzpunkt. 1B enthält eine
Bildschirmanzeige 60 eines typischen CAD/CAM-Programms.
Die Bildschirmanzeige 60 enthält ein Objekt 65 mit
einem Referenzpunkt 70 und einem Cursor 75, ein
temporäres
Rechteck 80 mit den Punkten 85 und 90 sowie
ein Objekt 95.
-
Wie
in 1B gezeigt ist, verwendet
der Anwender typischerweise den Cursor 75 zum Lokalisieren
eines Referenzpunkts in Bezug auf ein Objekt oder an einem Objekt
wie etwa des Referenzpunkts 70 am Objekt 65. Nachfolgend
lokalisiert der Anwender den Cursor 75 am Referenzpunkt 70 und
erzeugt das temporäre
Rechteck 80. Der Anwender stellt die horizontale Größe 86 und
die vertikale Größe 87 des temporären Rechtecks 80 gleich
dem gewünschten horizontalen
und vertikalen Versatz vom Referenzpunkt 70 ein. Somit
enthält
das temporäre
Rechteck 80 den Punkt 85, der mit dem Referenzpunkt 70 zusammenfällt, und
einen Punkt 90, der einen gewünschten Zielpunkt definiert.
Daraufhin erzeugt der Anwender das Objekt 95 oder bewegt
ein vorhandenes Objekt 95 so, dass das Objekt 95 wie
veranschaulicht einen Punkt besitzt, der mit dem Punkt 90 zusammenfällt, woraufhin
er das temporäre
Rechteck 80 löscht.
-
Ein
Nachteil bei diesem Verfahren ist, dass der Anwender die Übung durchlaufen
muss, Konstruktionslinien oder eine Geometrie zu erzeugen, und daraufhin,
wenn er mit dem Positionieren der Objekte fertig ist, die Konstruktionslinien
oder die Geometrie löschen
muss. Ein weiterer Nachteil ist, dass es nach dem Löschen der
Konstruktionslinien oder der Geometrie keinen einfachen Weg gibt,
ohne neue Konstruktionslinien oder eine neue Geometrie zu erzeugen,
zu bestimmen, ob die Versätze
oder die Abmessungen der Konstruktionslinien oder der Geometrie
richtig sind, so dass die Anordnung der Objekte in Bezug auf die
Referenzpunkte fehleranfällig
sein kann.
-
Von
der Software Designer 4.0 von Micrografx Inc., 8144 Walnut Hill
Lane, Dallas, TX 75231, ist ein Verfahren zum Positionieren eines
Cursors in Bezug auf eine Referenzposition auf einer Anzeigevorrichtung
eines Computersystems unter Verwendung einer Zeigervorrichtung bekannt,
das die folgenden Schritte umfasst: Bewegen des Cursors an den Kreuzungspunkt
eines vertikalen und eines horizontalen Lineals in der linken oberen
Ecke der Anzeige, Drücken
der linken Maustaste, Bewegen des Cursors an eine Position auf der
Anzeigevorrichtung, während
die Maustaste gedrückt
gehalten wird, und Auswählen
der Position als Referenzposition durch Loslassen der Maustaste
("Ziehen und Ablegen" des Ursprungs des
Lineals), woraufhin auf der Anzeigevorrichtung mehrere Versatzwerte
angezeigt werden, die der relativen Position des Cursors zu der
neu ausgewählten
Referenzposition entsprechen.
-
Aus
T. Stellmann; G. V. Krishan und R. Rhea: "Inside AutoCAD 12", Thomson Publishing, Bonn, 1994, ist
ein Verfahren zum Positionieren eines Cursors in Bezug auf eine
Referenzposition auf einer Anzeigevorrichtung eines Computersystems
unter Verwendung einer Zeigervorrichtung bekannt, in dem ein Objekt
ausgewählt
wird und daraufhin eine Referenzposition an einer nicht vom Anwender
ausgewählten Position
zugewiesen wird, die auf bestimmten Beschränkungen beruht, so dass mehrere
Versatzwerte angezeigt werden können,
wenn der Cursor zu mehreren Cursorpositionen bewegt wird.
-
Benötigt werden
Verfahren, die ermöglichen, dass
ein Anwender bei verringerter Verwendung der Tastatur und der Maus
und ohne die Augen vom Bildschirm nehmen zu müssen, Objekte in Bezug auf
andere Objekte in einer CAD/CAM-Programmumgebung schnell und genau
erzeugt und positioniert.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
Erfindung ist in den Ansprüchen
definiert.
-
Die
vorliegende Erfindung schafft Verbesserungen für CAD/CAM-Umgebungen, die ermöglichen,
dass der Anwender auf sehr intuitive und interaktive Weise Objekte
in Bezug auf andere Objekte schnell und genau positioniert. Der
Anwender kann mit einer Zeigervorrichtung einen Referenzpunkt an einem
Objekt direkt auswählen
und Punkte in Bezug auf den Referenzpunkt lokalisieren.
-
Ein
weiteres Verständnis
des Wesens und der Vorteile der Erfindung kann mit Bezug auf die
verbleibenden Teile der Beschreibung und der Zeichnungen realisiert
werden.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1A veranschaulicht einen
Prozess des Positionierens von Objekten in Bezug auf einen Referenzpunkt;
-
1B veranschaulicht einen
weiteren Prozess des Positionierens von Objekten in Bezug auf einen
Referenzpunkt;
-
2 ist ein Blockschaltplan
eines Systems gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung;
-
3 ist ein Ablaufplan von
Ausführungsformen
des Prozesses des Positionierens eines Cursors in Bezug auf einen
Referenzpunkt auf der Anzeigevorrichtung;
-
4 ist ein ausführlicherer
Ablaufplan einer Ausführungsform
des Prozesses des Bestimmens einer Position eines Cursors auf der
Anzeigevorrichtung;
-
5a und 5b veranschaulichen eine Ausführungsform
eines Schritts in der vorliegenden Erfindung;
-
6a–6c veranschaulichen
eine Ausführungsform
des Schritts in der vorliegenden Erfindung, der auf die 5a und 5b folgen kann;
-
7a und 7b veranschaulichen eine Anzeige von
Versätzen
gemäß verschiedenen
Koordinatensystemen;
-
8a und 8b veranschaulichen Verwendungen von
Ausführungsformen
der vorliegenden Erfindung;
-
9 ist ein Ablaufplan einer
weiteren Ausführungsform
des Prozesses des Bestimmens einer Position eines Cursors auf der
Anzeigevorrichtung;
-
10a–10d veranschaulichen
eine Ausführungsform
des Schritts in der vorliegenden Erfindung;
-
11a und 11b veranschaulichen Positionen auf der
Anzeigevorrichtung, wo Objekte unter Verwendung eines definierten
Gitterabstands in Bezug auf eine Referenzposition positioniert werden können; und
-
12 veranschaulicht eine
weitere Ausführungsform
der vorliegenden Erfindung.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORM
-
Systemüberblick
-
2 ist ein Blockschaltplan
eines Systems 100 gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung. Das System 100 enthält einen
Monitor 110, einen Computer 120, eine Tastatur 130 und
eine Maus 140. Der Computer 120 enthält die bekannten
Computerkomponenten wie etwa einen Prozessor 150 und Speicherablagevorrichtungen
wie etwa einen Schreib-Lese-Speicher (RAM) 160 und ein
Plattenlaufwerk 170 sowie einen Systembus 180,
der die obigen Komponenten verbindet. Die Maus 140 ist
lediglich ein Beispiel einer graphischen Eingabevorrichtung, die
auch als eine Zeigervorrichtung bekannt ist, wobei ein Digitalisiertablett 190 eine
weitere ist. Der RAM 160 und das Plattenlaufwerk 170 sind
Beispiele berührbarer
Medien zur Speicherung von Computerprogrammen, wobei weitere Typen
berührbarer
Medien Disketten, Wechselfestplatten, optische Speichermedien wie
etwa CD-ROMs und Strichcodes sowie Halbleiterspeicher wie etwa Flash-Speicher,
Nur-Lese-Speicher (ROMs) und batteriegestützte flüchtige Speicher umfassen.
-
In
einer bevorzugten Ausführungsform
enthält
das System 100 einen Computer auf der Grundlage eines Mikroprozessors
der 586-er Klasse, auf dem das Betriebssystem Windows NT von der
Microsoft Corporation sowie die Software ImagineerTM von der
Intergraph Corporation läuft.
Die Software ist zum Zeitpunkt der Einreichung nicht verfügbar.
-
2 repräsentiert lediglich eine Art
eines Systems zur Verkörperung
der vorliegenden Erfindung. Für
den Durchschnittsfachmann auf dem Gebiet ist leicht offensichtlich,
dass zur Verwendung in Verbindung mit der vorliegenden Erfindung
viele Systemarten und -konfigurationen geeignet sind.
-
Ausführliche
Beschreibung
-
3 ist ein Ablaufplan von
Ausführungsformen
des Prozesses des Positionierens eines Cursors in Bezug auf eine
Referenzposition auf der Anzeigevorrichtung.
-
Anfangs
wird ein Cursor auf der Anzeigevorrichtung an einer Position positioniert,
an der der Anwender interessiert ist, wobei eine Zeigervorrichtung wie
etwa eine Maus verwendet wird (Schritt 200). Nachfolgend
wählt der
Anwender, vorzugsweise wieder unter Verwendung der Zeigervorrichtung,
die Position als eine Referenzposition aus (Schritt 201).
-
Nachdem
die Referenzposition ausgewählt worden
ist, bewegt der Anwender den Cursor auf der Anzeigevorrichtung an
mehrere Punkte (Schritt 202). Während der Anwender den Cursor
auf der Anzeigevorrichtung an jeden der mehreren Punkte bewegt, werden
dem Anwender auf der Anzeigevorrichtung die Versatzwerte angezeigt
(Schritt 203). Die Versatzwerte enthalten die Positionsdifferenz
zwischen jedem der mehreren Punkte und der Referenzposition. Üblicherweise
werden diese Versätze
dem Anwender in Einheiten des Koordinatensystems des momentanen
Dokuments angezeigt.
-
Der
Anwender beobachtet typischerweise die Versatzwerte auf der Anzeigevorrichtung,
wobei er, wenn er mit besonderen Versatzwerten zufrieden ist, diejenige
Cursorposition auf der Anzeige auswählt, die den besonderen Versatzwerten
zugeordnet ist (Schritt 204). Mit anderen Worten, der Anwender
bewegt den Cursor auf der Anzeige, bis der Cursor an besonderen
Versatzwerten in einer Entfernung von der Referenzposition positioniert
ist.
-
Nachdem
der Cursor auf der Anzeigevorrichtung an einer gewünschten
Cursorposition positioniert worden ist, kann der Anwender ein neues
Objekt auf der Anzeigevorrichtung erzeugen. Somit wird dieses neue
Objekt in Bezug auf die Referenzposition positioniert (Schritt 205).
-
Alternativ
kann der Anwender mit dem Cursor einen Punkt an einem vorhandenen
Objekt auf der Anzeigevorrichtung auswählen, bevor die gewünschte Cursorposition
ausgewählt
worden ist (Schritt 206). Daraufhin bewegt der Anwender
den Punkt an dem vorhandenen Objekt auf der Anzeigevorrichtung (Schritt 207),
bis der Punkt an dem vorhandenen Objekt um die besonderen Versatzwerte entfernt
von der Referenzposition positioniert ist. Somit wird das vorhandene
Objekt in Bezug auf die Referenzposition positioniert (Schritt 208).
-
Die
Versatzwerte können
dem Anwender unter Verwendung der Einheiten der Anzeigevorrichtung,
z. B. der Anzahl der Versatzpixel auf der Anzeigevorrichtung, angezeigt
werden. Außerdem
können die
Versatzwerte unter Verwendung des Koordinatensystems der Anzeigevorrichtung,
typischerweise eines x-y-Koordinatensystems, angezeigt werden. Alternativ
können
die Versatzwerte in das Koordinatensystem des Dokuments übersetzt
werden, so dass die Versatzwerte anstelle einer Anzahl der Pixel Versatz
auf der Anzeigevorrichtung Zoll, Fuß, Meter, Grad usw. sein können. Außerdem können die
Versatzwerte in einem vom Anwender definierten Koordinatensystem
angezeigt werden, so dass die Versatzwerte anstatt lediglich eines
x-y-Koordinatenversatzes
ein gedrehtes x-y-Koordinatensystem, ein Polarkoordinatensystem,
ein Kugelkoordinatensystem usw. sein können. Weitere Einzelheiten
werden unten beschrieben.
-
4 ist ein ausführlicherer
Ablaufplan einer Ausführungsform
des Prozesses des Bestimmens einer Position eines Cursors auf der
Anzeigevorrichtung.
-
In
der folgenden Beschreibung bezieht sich der Begriff "Position" auf eine Position
in einem Koordinatensystem der Anzeigevorrichtung, während sich der
Begriff "Ort" auf einen Ort in
einem Koordinatensystem eines Dokuments (typischerweise aus einem Anwendungsprogramm
heraus) bezieht. Beispielsweise wird eine Position auf der Anzeigevorrichtung auf
einen Ort in einem Dokument abgebildet.
-
Anfangs
wird ein Cursor unter Verwendung einer Zeigervorrichtung wie etwa
einer Maus an einer ersten Position auf der Anzeigevorrichtung positioniert
(Schritt 210). In der bevorzugten Ausführungsform der vorliegenden
Erfindung fällt
die Position typischerweise mit einer Position eines Referenzpunkts
an einem Objekt auf der Anzeigevorrichtung zusammen. Die Referenzposition
kann eine Position auf der Oberfläche des Objekts sein oder kann
sich auf das Objekt beziehen und kann z. B. der Schwerpunkt, die
Drehachse usw. sein. Daraufhin wird die erste Position einem ersten
Ort in einem durch das Anwendungsprogramm definierten Koordinatensystem
zugeordnet (Schritt 220). Außer der Software, die die Cursorposition
in ein spezifisches Koordinatensystem des Anwendungsprogramms übersetzt, kann
dieser Schritt herkömmliche
Cursortreiber nutzen.
-
Nachfolgend
wird der Cursor von der ersten Position an eine zweite Position
bewegt (Schritt 230). In der bevorzugten Ausführungsform
der vorliegenden Erfindung ist die zweite Position einfach eine
beliebige Position auf der Anzeigevorrichtung, die nicht mit der
ersten Position zusammenfällt.
Dieser Schritt wird typischerweise mit der Zeigervorrichtung ausgeführt. Daraufhin
wird jeder zweiten Position auf der Anzeige ein zweiter Ort in dem
Koordinatensystem des Anwendungsprogramms zugeordnet (Schritt 240).
Dieser Schritt kann wieder wie oben beschrieben herkömmliche
Cursortreiber nutzen. In der bevorzugten Ausführungsform der vorliegenden
Erfindung ist der zweite Ort ebenfalls einfach eine beliebige Position
auf der Anzeige, die nicht mit dem ersten Ort zusammenfällt.
-
Im
Gegensatz zu dem Konstruktionsgeometrieverfahren im Hintergrundabschnitt
ist keine Konstruktionsgeometrie wie etwa ein Konstruktionsrechteck
erforderlich. Stattdessen werden der ersten Position und der zweiten
Position auf der Anzeigevorrichtung typischerweise nicht dasselbe
Objekt wie etwa ein Konstruktionsrechteck oder eine Konstruktionslinie
zugeordnet und diese Positionen liegen nicht an demselben Objekt.
Mit anderen Worten, da typischerweise keine Konstruktionsgeometrie
verwendet wird, kann typischerweise nicht gesagt werden, dass die erste
Position und die zweite Position an dem gleichen Objekt liegen.
-
Nachfolgend
werden Versatzwerte zwischen dem ersten Ort und dem zweiten Ort
in dem Koordinatensystem bestimmt (Schritt 250). Das Koordinatensystem
kann vorgegeben sein oder durch den Anwender ausgewählt werden.
In der bevorzugten Ausführungsform
wird ein rechtwinkliges zweidimensionales Koordinatensystem verwendet,
wobei aber alternative Koordinatensysteme einschließlich eines Polarkoordinatensystems,
eines orthogonalen dreidimensionalen Koordinatensystems, eines Kugelkoordinatensystems
usw. vorgesehen sind. Daraufhin werden die durch das Koordinatensystem
definierten resultierenden Versatzwerte dem Anwender, typischerweise
auf einer Anzeigevorrichtung, angezeigt (Schritt 260).
Für ein
zweidimensionales Koordinatensystem sind die Versatzwerte typischerweise
ein Zahlenpaar, z. B. {x, y} und {r, θ}, während sie für ein dreidimensionales Koordinatensystem
ein Zahlentripel, z. B. {x, y, z} und {r, θ, ρ}, sind.
-
Die 5a und 5b veranschaulichen eine Ausführungsform
eines Schritts in der vorliegenden Erfindung. 5a veranschaulicht eine Anzeigevorrichtung 270 eines
Objekts 280 mit einer Ecke 290 in einem Anwendungsprogramm.
Außerdem
wird dem Anwender ein Cursor 300 angezeigt. In der bevorzugten
Ausführungsform
der vorliegenden Erfindung positioniert der Anwender den Cursor 300 an
einer ersten Position (Referenzposition) 310 auf der Anzeigevorrichtung,
wo ein Objekt angezeigt wird. Die Position 310 ist hier
die erste Position, wobei aber irgendein Punkt an dem Objekt wie
etwa der Schwerpunkt, ein Punkt des Objekts usw. ebenfalls ausgewählt werden
kann.
-
Daraufhin
wird wie zuvor beschrieben der ersten Position 310 auf
der Anzeigevorrichtung wie in 5b gezeigt
ein erster Ort 290 in dem Koordinatensystem der Anwendung
zugeordnet. In der bevorzugten Ausführungsform der vorliegenden
Erfindung findet dieser Schritt z. B. in Reaktion darauf statt, dass
der Anwender eine Maustaste anklickt. Zur Angabe dessen, dass die
Ecke 290 ausgewählt
worden ist, kann die Anzeigevorrichtung dem Anwender ein Zeigerzeichen 320 anzeigen.
-
Die 6a–6c veranschaulichen
eine Ausführungsform
des Schritts in der vorliegenden Erfindung, der auf die 5a und 5b folgen kann. In 6a wird der Cursor 300 an eine
beliebige zweite Position 340 auf der Anzeigevorrichtung
bewegt. Wie in 6b veranschaulicht
ist, wird diese zweite Position 340 daraufhin auf einen
zweiten Ort 350 in dem Koordinatensystem abgebildet. Anhand
der Differenzen zwischen dem ersten Ort 290 in dem Koordinatensystem
und dem zweiten Ort 350 in dem Koordinatensystem werden
daraufhin die Versätze
bestimmt, wie sie durch das Koordinatensystem definiert sind. 6b veranschaulicht ein Beispiel
eines horizontalen Versatzes 360 in der x-Achse 370 und eines
vertikalen Versatzes 380 in der y-Achse 390. Daraufhin
können
dem Anwender wie in 6c veranschaulicht
die resultierenden Versätze
angezeigt werden. Wie veranschaulicht ist, können dem Anwender mit Hilfe
temporärer
Koordinatensystemlinien 430 und 440, durch ein
Anzeigefeld 450 oder einfach neben dem Cursor 460 der
Betrag 410 des horizontalen Versatzes und der Betrag des
vertikalen Versatzes 420 angezeigt werden. Vorzugsweise
wird dieser Prozess für
die meisten Positionen des Cursors 300 auf der Anzeigevorrichtung
wiederholt, nachdem der erste Ort 290 bestimmt worden ist.
Somit werden dem Anwender die resultierenden Versätze für die meisten
Positionen des Cursors 300 auf der Anzeige in Anwender-"Echtzeit" angezeigt. Alternativ
werden die Versätze
für die
Position des Cursors 300 dem Anwender angezeigt, nachdem
der Cursor während einer
Zeitdauer an einer zweiten Position auf der Anzeigevorrichtung angehalten
worden ist.
-
Die 7a und 7b veranschaulichen eine Anzeige von
Versätzen
gemäß verschiedenen
Koordinatensystemen. Wie zuvor diskutiert wurde, kann die vorliegende
Erfindung gemäß zahlreichen
Koordinatensystemen verkörpert
werden. In 7a ist ein Polarkoordinatensystem
veranschaulicht, wobei die Versätze
in alternativen Ausführungsformen
(461, 462 und/oder 463) gezeigt sind.
In 7b ist ein rechtwinkliges
Koordinatensystem veranschaulicht, das um 40° (470) gedreht worden
ist, wobei die Versätze
in dem gedrehten Koordinatensystem in alternativen Ausführungsformen
(471, 472 und/oder 473) gezeigt sind.
Der Betrag der Drehung für
das Koordinatensystem kann vom Anwender unter Verwendung wohlbekannter
Techniken wie etwa Eingaben oder graphische Manipulation unter Verwendung
einer Zeigervorrichtung ausgewählt
werden. In der bevorzugten Ausführungsform
der vorliegenden Erfindung können
verschiedene Koordinatensysteme austauschbar oder gleichzeitig ausgewählt werden,
um den Versatz in demselben Anwendungsprogramm zu bestimmen. Zum
Beispiel kann der Versatz in 7b in
Polarkoordinaten als R = 1,414, θ =
85°, wie
gezeigt in x-y-Koordinaten oder wie gezeigt in gedrehten x-y-Koordinaten
usw. angezeigt werden.
-
Die
Werte für
die verschiedenen Versätze können typischerweise
einen positiven oder einen negativen Wert haben. Beispielsweise
gibt ein Cursorort links unter einem Referenzort vorzugsweise einen
negativen Versatz in x- und y-Richtung
zurück. Als
ein weiteres Beispiel gibt ein Cursorort unter einem Referenzort
in einem Polarkoordinatensystem vorzugsweise einen positiven Betragswert,
aber einen negativen Winkelwert zurück.
-
Die 8a und 8b veranschaulichen Verwendungen der
Ausführungsformen
der vorliegenden Erfindung. In 8a kann
der Anwender Objekte genau in Bezug auf die Ecke 490 platzieren,
wenn der Versatz zwischen der Ecke 490 und der Cursorposition 500 in
dem Anwendungskoordinatensystem bestimmt werden kann. In 8a wird ein Endpunkt einer
Geraden an einem besonderen horizontalen Versatz 510 und
an einem besonderen vertikalen Versatz 520 in Bezug auf
die Ecke 490 platziert, woraufhin der Anwender den Cursor
auf der Anzeigevorrichtung an eine zweite Position 530 bewegt,
um den anderen Endpunkt der Geraden zu definieren. Alternativ kann
der Anwender erst die Position 530 auswählen und daraufhin die Position 500 als
den zweiten Endpunkt bestimmen.
-
In 8b kann das Anwendungsprogramm für ein Objekt 560 eine
Kombination eines "Ziehen- und
Ablegen"-Merkmals
mit dem oben beschriebenen Positionierungsverfahren verwenden. Wie
in 8b gezeigt ist, kann
ein ausgewählter
Punkt 550 am Objekt 560 als die "zweite Position" für die Positionierungsverfahren
verwendet werden. Nachdem der Referenzpunkt 490 ausgewählt worden
ist, wird der Punkt 550 ausgewählt. Anfangs sind der Punkt 550 und
das Objekt 560 an der Position A, während das Objekt 560 nachfolgend
auf der Anzeigevorrichtung gezogen wird. Wenn der Anwender mit dem
Ort des Punkts 550 an einem besonderen horizontalen Versatz 570 und
an einem besonderen vertikalen Versatz 580 in Bezug auf
den Punkt 590 zufrieden ist, wird das Objekt 560 auf
der Anzeigevorrichtung an der Position A' angeordnet.
-
9 ist ein Ablaufplan einer
weiteren Ausführungsform
des Prozesses des Bestimmens einer Position eines Cursors auf der
Anzeigevorrichtung. Anfangs wird ein Cursor unter Verwendung einer
Zeigervorrichtung wie etwa einer Maus an einer ersten Position auf
der Anzeigevorrichtung positioniert (Schritt 600). In der
bevorzugten Ausführungsform der
vorliegenden Erfindung fällt
die Position typischerweise mit einer Position eines Referenzpunkts an
einem Objekt auf der Anzeigevorrichtung zusammen. Diese erste Position
kann wieder an einem Objekt oder in Bezug auf ein Objekt, z. B.
der Schwerpunkt, eine Drehachse usw., sein. Daraufhin wird der ersten
Position ein erster Ort in einem durch das Anwendungsprogramm definierten
Koordinatensystem zugeordnet (Schritt 610). Außer der
Software, möglicherweise
in einem Anwendungsprogramm, das die Cursorposition in das spezifische
Koordinatensystem des Anwendungsprogramms übersetzt, kann dieser Schritt
herkömmliche
Cursortreiber nutzen.
-
Nachfolgend
wird der Cursor von der ersten Position an eine zweite Position
bewegt (Schritt 620). In der bevorzugten Ausführungsform
der vorliegenden Erfindung ist die zweite Position einfach eine
beliebige Position auf der Anzeigevorrichtung, die nicht mit der
ersten Position zusammenfällt.
Dieser Schritt wird typischerweise mit der Zeigervorrichtung ausgeführt. Daraufhin
wird jeder zweiten Position auf der Anzeigevorrichtung ein zweiter
Ort in dem Koordinatensystem des Anwendungsprogramms zugeordnet (Schritt 630).
Dieser Schritt kann wieder wie oben beschrieben herkömmliche
Cursortreiber nutzen. In der bevorzugten Ausführungsform der vorliegenden
Erfindung ist der zweite Ort ebenfalls einfach eine beliebige Position
auf der Anzeigevorrichtung, die nicht mit dem ersten Ort zusammenfällt.
-
Nachfolgend
werden die Versatzwerte zwischen dem ersten Ort und dem zweiten
Ort in dem Koordinatensystem bestimmt (Schritt 640). Das
Koordinatensystem kann vorgegeben sein oder durch den Anwender ausgewählt werden.
In der bevorzugten Ausführungsform
wird ein rechtwinkliges zweidimensionales Koordinatensystem verwendet,
wobei aber alternative Koordinatensysteme einschließlich eines
Polarkoordinatensystems, eines orthogonalen dreidimensionalen Koordinatensystems
und eines Kugelkoordinatensystems vorstellbar sind.
-
Anhand
der Versatzwerte und der Versatzbeschränkungen wird ein dritter Ort
in dem Koordinatenschritt bestimmt (Schritt 650). Eine
Versatzbeschränkung
beschränkt
in dem gegebenen Koordinatensystem einen Wert für einen Versatz. In der bevorzugten
Ausführungsform
der vorliegenden Erfindung werden die Versatzbeschränkungen
durch den Anwender bestimmt, typischerweise über ein Dialogfeld. Daraufhin
werden die durch das Koordinatensystem definierten sich ergebenden
Versatzwerte einschließlich
der beschränkten
Versätze
dem Anwender, typischerweise auf einer Anzeigevorrichtung, angezeigt
(Schritt 660).
-
Die 10a–10d veranschaulichen
eine Ausführungsform
des Schritts in der vorliegenden Erfindung. In 10a ermöglicht das Dialogfeld 680, dass
der Anwender einen Versatz von der ersten Position (Referenzposition) 690,
z. B. eine Achsendrehung in der x-y-Ebene, an einem Objekt 700 beschränkt. In 10a ist der Wert 1,5. Wie
in 10b veranschaulicht
ist, bewegt der Anwender daraufhin den Cursor 720 an eine
beliebige zweite Position 730 auf der Anzeigevorrichtung.
Diese zweite Position 730 wird daraufhin auf einen zweiten
Ort 740 in dem Koordinatensystem abgebildet. Anhand der
Differenzen zwischen dem ersten Ort 710 in dem Koordinatensystem
und dem zweiten Ort 740 in dem Koordinatensystem werden
daraufhin die Versätze
bestimmt, wie sie durch das Koordinatensystem definiert sind. Dies
ist als 760 von dem horizontalen Versatz und als 770 für den vertikalen
Versatz veranschaulicht.
-
Wie
in 10c veranschaulicht
ist, wird daraufhin in Reaktion auf die Versätze und den beschränkten Versatz
ein dritter Ort 790 in dem Koordinatensystem bestimmt. 10c veranschaulicht ein Beispiel
eines wie in dem Dialogfeld 680 definierten beschränkten horizontalen
Versatzes 800 in der x-Achse 810 und eines veränderlichen
vertikalen Versatzes 820 in der y-Achse 830. Daraufhin
können dem
Anwender eine dritte Position 850, die dem dritten Ort 790 entspricht,
und die resultierenden Versätze 852 und 854 angezeigt
werden. Wie in dem Beispiel angemerkt ist, ist der horizontale Versatz 852 auf
1,5 verriegelt, während
der vertikale Versatz 854 veränderlich und momentan auf 1,0
eingestellt ist.
-
Da
die obigen Schritte für
mehrere Cursorpositionen wiederholt ausgeführt werden, "springt" der Cursor in der
bevorzugten Ausführungsform
der vorliegenden Erfindung nicht wie in den Positionen 730 und 850 gezeigt
drastisch. In der bevorzugten Ausführungsform beschränken die
Beschränkungen
einfach für
den Anwender, wo der Cursor Objekte in dem Anwendungskoordinatensystem
platzieren kann, während
sie andere Cursoraktivitäten
wie etwa das Auswählen
alternativer Funktionen nicht beschränken.
-
Die
Linien 870 und 880 in 10d veranschaulichen Positionen auf der
Anzeigevorrichtung (in dem Koordinatensystem), wo Objekte unter
Verwendung der horizontalen Beschränkung von 1,5 von oben positioniert
werden können.
Falls der Anwender außer
der obigen horizontalen Beschränkung
z. B. die vertikalen Beschränkungen
von 1,125 hinzufügt, veranschaulichen
die Punkte 890–920 die
einzigen vier möglichen
Positionen, wo Objekte in Bezug auf die erste Position 690 lokalisiert
werden können.
Die Linien 870 und 880 können dem Anwender wie in 10d veranschaulicht angezeigt
werden, können ihm
vorzugsweise aber auch nicht angezeigt werden.
-
Die
Linien 940 und 950 in den 11a und 11b veranschaulichen
Positionen auf der Anzeigevorrichtung (in dem Koordinatensystem),
wo Objekte unter Verwendung eines definierten Gitterabstands 970, 980 in
Bezug auf eine Refe renzposition 960 positioniert werden
können.
Die Referenzposition 960 ist z. B. der Schwerpunkt des
veranschaulichten Objekts.
-
In
dieser Ausführungsform
definiert der Anwender anfangs entweder über Tastatureingaben oder mit
einer interaktiven Definition unter Verwendung der Zeigervorrichtung
einen "Gitter"-Abstand 970, 980.
Das Gitter beschränkt
typisch den horizontalen und den vertikalen Abstand des Cursors
in Bezug auf die Referenzposition, in 11a in
Bezug auf die Referenzposition 960. Während der Anwender den Cursor
auf dem Bildschirm bewegt, kann er bemerken, dass die Positionen,
an denen Objekte definiert oder platziert werden können, auf
Plätze
beschränkt
sind, wo sich die Linien 940 und 950 schneiden.
Wie in 11a veranschaulicht
ist, ist der Gitterabstand 980 auf 1,0 eingestellt und
der Gitterabstand 970 ist auf 1,5 eingestellt, so dass
der Ort des Cursors 290 1,0 und 3,0 Einheiten von der Referenzposition 960 entfernt
veranschaulicht ist. Im Gegensatz zum herkömmlichen absoluten Gitterabstand
ermöglicht
die bevorzugte Ausführungsform
der vorliegenden Erfindung eine dynamische Definition des Ursprungs
für das
Gitter. In diesem Beispiel wurde die Position 960 ausgewählt, wobei
aber als Referenzposition alternativ auch die Position 995 hätte verwendet
werden können,
so dass sich die Linien 940 und 950 dementsprechend
verschieben würden.
-
In
einer alternativen Ausführungsform
kann der "Gitter"-Abstand, wie durch
die Linien 1000 bzw. 1010 veranschaulicht ist,
hinsichtlich Vielfachen von Graden und Vielfachen von Betragseinheiten
für ein Polarkoordinatensystem
definiert sein. Somit sind die Positionen, in denen Objekte definiert
oder platziert werden können,
in einem Spinnenwebengitter beschränkt. In 11b ist der Gitterabstand für den Betrag 1010 auf
2,0 eingestellt und ist der Gitterabstand für den Winkel 1010 auf
45 Grad eingestellt, so dass der Ort des Cursors 1005 als
minus 135 Grad (oder plus 225 Grad) veranschaulicht ist.
-
Obgleich
der Anwender weiter auf "Gitter"-Schnittpunkte beschränkt ist,
können
dem Anwender die Versatzwerte in dem Anwendungskoordinatensystem
angezeigt werden. Beispielsweise können Betrag und Grad angezeigt
werden, falls sich der Cursor bei 1020 befindet, wobei
der Anwender aber lediglich Objekte an dem Schnittpunkt der Linien 1000 und 1010 lokalisieren
kann. Alternativ können dem
Anwender lediglich Versatzwerte hinsichtlich Vielfachen des "Gitter"-Abstands angezeigt werden.
-
In
einer nochmals weiteren Ausführungsform kann
der Anwender Objekte an anderen Positionen als an "Gitter"-Schnittstellen lokalisieren.
In diesem Fall werden die dem Anwender angezeigten Versatzwerte
in normalen Zeichen angezeigt, während
der Versatzwert in einer fetten Schrift angezeigt wird, wenn der
Cursor auf einer Gitterlinie ist. Dies ermöglicht dem Anwender zu wissen,
wann der Cursor auf einer Gitterlinie ist, beschränkt aber
nicht die Positionierung des Cursors und der Objekte auf der Anzeigevorrichtung.
Wie zuvor angegeben wurde, kann in einem einzigen Dokument eine
Mischung von Techniken und Koordinatensystemen verwendet werden. Wie
in den 11A und 11B veranschaulicht wurde, werden
die Linien 940, 950, 1000 und 1010 dem
Anwender vorzugsweise nicht angezeigt.
-
12 veranschaulicht eine
weitere Ausführungsform
der vorliegenden Erfindung. In 12 veranschaulichen
die Linien 1040 und 1050 Gitterlinien auf der
Anzeigevorrichtung (in dem Koordinatensystem) in Bezug auf die Referenzposition 1060.
Die Linien 1040 und die Linien 1050 umfassen die
Ausrichtgebiete 1070 bzw. 1080. Außerdem enthält die Anzeigevorrichtung
die Beispielcursorpositionen 1090, 1100, 1110, 1120 und 1130.
-
In
dieser Ausführungsform
beschränken
die "Gitter" nicht die Positionen
für den
Cursor 1090 auf der Anzeigevorrichtung, während die "Gitter" die Cursorpositionierung
ausrichten. Falls die Cursorposition für die Linien 1040 im
Gebiet 1070 und für
die Linien 1050 im Gebiet 1080 in einem Ausrichtbereich
liegen, wird der Cursor automatisch auf der nächsten Ausrichtlinie oder auf
den nächsten
Ausrichtlinien positioniert. Beispielsweise wird der Cursor nicht
ausgerichtet, falls der Cursor am Punkt 1090 positioniert
ist, während
der Cursor auf den Punkt 1110 auf der Gitterlinie 1040 ausgerichtet
(bewegt) wird, falls der Cursor am Punkt 1100 positioniert
ist, und während
der Cursor auf den Punkt 1130 auf den Gitterlinien 1040 und 1050 ausgerichtet
(bewegt) wird, falls der Cursor am Punkt 1120 positioniert
ist. In Reaktion darauf wird dem Anwender jeweils die Cursorposition
für die Cursorposition 1090,
für die
Cursorposition 1110 und für die Cursorposition 1130 angezeigt.
-
Diese
Ausführungsform
hilft dem Anwender, Objekte auf einfache Weise genauer zu platzieren oder
zu bewegen, während
sie dem Anwender ermöglicht,
Objekte in Bezug auf die Referenzposition 1060 an anderen
Positionen als den "Gitter"-Kreuzungspunkten
zu platzieren. Die spezifischen Ausrichtbereiche um die "Gitter"-Linien können vom
Anwender auswählbar
oder vorprogrammiert sein. Vorzugsweise werden dem Anwender keine
der "Gitter"-Linien oder -Gebiete angezeigt.
Diese Linien sind in 12 zur
Klarheit veranschaulicht.
-
Schlussfolgerung
-
In
der vorstehenden Beschreibung wurde die Erfindung mit Bezug auf
spezifische beispielhafte Ausführungsformen
hiervon beschrieben. Viele Änderungen
oder Abänderungen,
beispielsweise die Anwendung der Erfindung in einem dreidimensionalen
Koordinatensystem, indem z. B. zugelassen wird, dass der Anwender
eine erste zweidimensionale Ebene auswählt und daraufhin die oben
offenbarte Erfindung anwendet, die Verbesserung des "Ausricht"-Schemas, um den
Bereich der "Ausrichtung" zu erhöhen, was
ermöglicht,
dass der Anwender Beschränkungen
und Gitterabstände
unter Verwendung der Zeigervorrichtung dynamisch definiert, usw.,
sind leicht vorstellbar.