kreis zeichnen < LaTeX < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 07:34 Di 01.06.2010 | Autor: | csak1162 |
Also ich möchte im Prinzip einen Einheitskreis zeichnen und mit sinus cosinus etc beschriften
das problem ist, dass der kreis immer zu klein ist er wird nie größer, egal was ich eingebe
was stimmt da nicht???
[mm] \setlength{\unitlength}{1mm}
[/mm]
[mm] \begin{picture}(100,50)
\put(50,25){\circle{30}}
\end{picture}
[/mm]
danke lg
|
|
|
|
> Also ich möchte im Prinzip einen Einheitskreis zeichnen
> und mit sinus cosinus etc beschriften
> das problem ist, dass der kreis immer zu klein ist er wird
> nie größer, egal was ich eingebe
>
> was stimmt da nicht???
>
[mm] \setlength{\unitlength}{1mm}
[/mm]
[mm] \begin{picture}(100,50)
\put(50,25){\circle{30}}
\end{picture}
[/mm]
>
>
> danke lg
Hallo csak1162,
mit deiner Frage machst du mich aufmerksam auf eine
Möglichkeit von LaTeX, die mir bisher absolut noch nicht
bekannt war - danke für den Hinweis !
Beim Rumbasteln an deinem Beispiel habe ich auch fest-
gestellt, dass man den Kreis zwar noch verkleinern, aber
nicht mehr wesentlich vergrößern kann ...
> [mm]\setlength{\unitlength}{3mm}[/mm]
> [mm]\begin{picture}(200,200)
\put(110,125){\circle{30}}\put(165,125){\circle{15}}\put(205,125){\circle{5}} \put(260,125){\circle{40}}\put(320,125){\circle{600}}
\end{picture}[/mm]
(Quelltext beachten; der letzte Kreis sollte eigentlich viel
größer sein !)
Nach einer kurzen Suche im Netz bin ich aber im Dokument
picture_umgebung
auf folgenden Text gestoßen, der wohl die Ursache des
Problems benennt:
"Für die Kreise gibt es Einschränkungen bezüglich der Größe.
Kreise stehen dabei für Durchmesser von 1pt bis 16pt in den
Abstufungen von 1pt sowie von 20pt bis 40pt in den Abstu-
fungen von 4pt zur Verfügung. Gefüllte Kreise sind nur für
die Durchmesser 1pt bis 15pt in den Abstufungen von 1pt
verfügbar."
LG Al-Chw.
|
|
|
|
|
hi csak !
(das klingt ja fast wie hijack ...)
Ausser dem circle-Befehl gibt es noch die Möglichkeit,
Bézierkurven zu zeichnen. Für diese besteht keine
Größenbeschränkung (weshalb für Kreise eine besteht,
verstehe ich eigentlich nicht ...), und einen Kreis könnte
man natürlich durch ein paar geeignete Bézier-Bögen
ganz gut approximieren. Falls es noch möglich ist,
einen neuen Befehl durch vorhandene Befehle mit
Parametern zu definieren - und das scheint mit dem
Befehl [mm] \backslash{newcommand} [/mm] tatsächlich zu gehen -
könnte man sich also einen eigenen Befehl
[mm] \backslash{kreis(xm,ym,r)} [/mm]
zusammenschustern, der dann auch größere Kreise dar-
stellen würde.
Wollen wir das zusammen versuchen ?
LG Al-Chw.
[mm] \begin{picture}(100,50)
\setlength{\unitlength}{1mm}
\blue{\qbezier[300](130,0)(128,28)(100,30)
\qbezier[300](100,30)(72,28)(70,0)
\qbezier[300](70,0)(72,-28)(100,-30)
\qbezier[300](100,-30)(128,-28)(130,0)}
\end{picture}
[/mm]
Dies ist noch nicht perfekt - aber es sind auch erst vier
nicht optimierte Bézier-Teilbögen (einer pro Quadrant).
Nähme man 6 oder 8 Teilbögen, würde das Ergebnis
schon deutlich besser.
|
|
|
|
|
[mm] \begin{picture}(2,2)
\setlength{\unitlength}{5cm}
\qbezier[1](-1.4,0)(-1.4,0)(-1.4,0)
\red{
\qbezier[200](1,0)(0.9942,0.4118)(0.7071,0.7071)
\qbezier[200](0.7071,0.7071)(0.4118,0.9942)(0,1)
\qbezier[200](1,0)(0.9942,-0.4118)(0.7071,-0.7071)
\qbezier[200](0.7071,-0.7071)(0.4118,-0.9942)(0,-1)
\qbezier[200](-1,0)(-0.9942,0.4118)(-0.7071,0.7071)
\qbezier[200](-0.7071,0.7071)(-0.4118,0.9942)(0,1)
\qbezier[200](-1,0)(-0.9942,-0.4118)(-0.7071,-0.7071)
\qbezier[200](-0.7071,-0.7071)(-0.4118,-0.9942)(0,-1)
}
\end{picture}
[/mm]
siehe Quelltext !
Ich habe den Einheitskreis nun durch 8 Bézierbögen ersetzt,
von denen jeder einen Sektor von 45° abdeckt. Die Koordinaten
des Kontrollpunktes für jeden einzelnen Bogen sind so berechnet,
dass der Mittelpunkt des Bogens so wie dessen Endpunkte auch
auf dem Einheitskreis liegen.
Nun bliebe natürlich noch die Aufgabe, einen LaTeX-Befehl
[mm] \backslash{kreis}(xM,yM,Radius) [/mm] zu kreieren, der dann beliebig große Kreise
an beliebigen Positionen zeichnet.
LG Al
|
|
|
|
|
Hat jemand etwas Erfahrung mit dem Befehl [mm] \backslash{newcommand} [/mm] , mit
welchem man eigene TeX - Befehle kreieren kann ?
Ich habe noch nie sowas gemacht, möchte aber gern für
die vorliegende Fragestellung eine Routine erstellen,
welche auf die Eingabe [mm] \backslash{kreis}(x,y,r) [/mm] den entsprechenden
Kreis aus Bézierbögen zusammensetzt und zeichnet.
LG Al-Chw.
|
|
|
|
|
Hallo!
Der Befehl newcommand ist eigentlich so eine Art "erweitertes Suchen und Ersetzen":
1: |
| 2: | \newcommand{\einhalb}{$\frac{1}{2}$}
| 3: |
| 4: | \begin{document}
| 5: |
| 6: | Teilt man eins durch zwei, bekommt man \einhalb
| 7: |
|
Willst du Parameter mitgeben, geht das so:
1: |
| 2: | \newcommand{\meinBruch}[2]{$\frac{#1}{#2}$}
| 3: |
| 4: | \begin{document}
| 5: |
| 6: | Teilt man vier durch fünf, bekommt man \meinBruch{4}{5}
| 7: |
|
In eckigen Klammern wird die Anzahl der Parameter festgelegt, die Parameter können anschließend mit #i angesprochen werden.
Allerdings ist sie Anzahl der Parameter auf 9 beschränkt.
Und ich denke mal, mit newcommand kannst du auch mehrzeiligen code definieren, um deinen Kreis zu erzeugen.
|
|
|
|
|
Guten Abend Event_Horizon,
vielen Dank für deine Antwort, aber ungefähr so weit
habe ich die Syntax des Befehls auch schon begriffen.
Aber bei der Umsetzung für das Grafik-Beispiel hapert es noch.
Nützlich fände ich, wenn mir jemand eine Quelle angeben
könnte, wo ich mir ein paar Beispiele ansehen kann, wie
"newcommand" z.B. im Kontext von rechnerischen und grafischen
Befehlen eingesetzt werden kann. Mit den Zahlenwerten, die für
Mittelpunktskoordinaten und Radius eingegeben werden, muss
auch ein wenig gerechnet werden. Z.B. sollte ich aus den einge-
gebenen Werten #1 , #2 und #3 Zahlenwerte wie etwa
#1+#3
#1+0.9942*#3
#2+0.4118*#3
berechnen lassen können, um diese dann in den qbezier-Befehl
einsetzen zu können. Mit den gewöhnlichen Operationszeichen
wie "+" und "*" funktioniert dies aber offensichtlich nicht.
Vielleicht weiß jemand etwas weiter oder kann mir eine Seite
empfehlen, wo ich einschlägige Beispiele finde ?
LG Al-Chw.
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 23:11 Di 01.06.2010 | Autor: | rainerS |
Hallo!
> Guten Abend Event_Horizon,
>
> vielen Dank für deine Antwort, aber ungefähr so weit
> habe ich die Syntax des Befehls auch schon begriffen.
> Aber bei der Umsetzung für das Grafik-Beispiel hapert es
> noch.
> Nützlich fände ich, wenn mir jemand eine Quelle angeben
> könnte, wo ich mir ein paar Beispiele ansehen kann, wie
> "newcommand" z.B. im Kontext von rechnerischen und
> grafischen
> Befehlen eingesetzt werden kann. Mit den Zahlenwerten, die
> für
> Mittelpunktskoordinaten und Radius eingegeben werden, muss
> auch ein wenig gerechnet werden. Z.B. sollte ich aus den
> einge-
> gebenen Werten #1 , #2 und #3 Zahlenwerte wie etwa
>
> #1+#3
>
> #1+0.9942*#3
>
> #2+0.4118*#3
>
> berechnen lassen können, um diese dann in den
> qbezier-Befehl
> einsetzen zu können. Mit den gewöhnlichen
> Operationszeichen
> wie "+" und "*" funktioniert dies aber offensichtlich
> nicht.
>
>
> Vielleicht weiß jemand etwas weiter oder kann mir eine
> Seite
> empfehlen, wo ich einschlägige Beispiele finde ?
Vergiss die picture-Umgebung, die sollte längst der Vergessenheit anheimfallen. Nimm TikZ.
Viele Grüße
Rainer
|
|
|
|
|
> Vergiss die picture-Umgebung, die sollte längst der
> Vergessenheit anheimfallen. Nimm
> TikZ.
>
> Viele Grüße
> Rainer
Hallo Rainer,
mein Ziel war, ein Problem der picture-Umgebung (die
Beschränkung der Kreisradien auf einen kleinen Bereich)
durch Mittel zu beheben, die eigentlich in picture und TeX
selbst bereitliegen (nämlich die Bézierkurven und die
Möglichkeit, neue Prozeduren zu definieren).
Gereizt hat mich daran in erster Linie die mathematische
Frage, wie man einen Kreis durch wenige quadratische
Bézier-Bögen für grafische Zwecke ausreichend genau
approximiert. Diese Frage habe ich eigentlich auch schon
gelöst.
In TikZ existiert das entsprechende Problem (dass man
Kreise mit größeren Radien nicht darstellen kann) aber
wahrscheinlich gar nicht mehr - mathematisch gesehen
kann man ja einen Kreis wirklich deutlich einfacher als
via Bézierkurven beschreiben. Insofern interessiert mich
TikZ nun im Moment auch (noch) nicht gewaltig, da ich
für zeichnerische Zwecke meistens ohnehin andere Hilfs-
mittel benütze. Kreise kann ich z.B. auch aus freier Hand
so zeichnen, dass man sie oft kaum von solchen unter-
scheiden kann, die mit dem Zirkel gezogen wurden ...
LG Al-Chw.
|
|
|
|
|
Doch noch eine Frage:
kann man denn TikZ-Grafiken so ohne weiteres in das hiesige
TeX (von matheraum.de) einfügen ?
Die Fragen, wie man in TikZ Rechnungen und Grafiken pro-
grammiert, bleiben eigentlich weiter bestehen !
(siehe https://matheraum.de/read?t=688671)
Zeichnet TikZ tatsächlich beliebig große Kreise, und kennt TikZ
z.B. auch die Bézierkurven
(siehe Quelltext von https://matheraum.de/read?t=688671)
wie sie in der picture-Umgebung vorkommen ?
LG Al-Chw.
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 19:38 Mi 02.06.2010 | Autor: | rainerS |
Hallo!
> Doch noch eine Frage:
>
> kann man denn TikZ-Grafiken so ohne weiteres in das
> hiesige
> TeX (von matheraum.de) einfügen ?
Ich vermute, das geht nicht, denn afür müsste ja das kompleete Paket in die Maschinerie des Metheraums eingebunden sein.
> Die Fragen, wie man in TikZ Rechnungen und Grafiken pro-
> grammiert, bleiben eigentlich weiter bestehen !
Es gibt ein sehr ausführliches Handbuch (mehrere 100 Seiten)
>
> (siehe https://matheraum.de/read?t=688671)
>
> Zeichnet TikZ tatsächlich beliebig große Kreise, und
> kennt TikZ
> z.B. auch die Bézierkurven
>
> (siehe Quelltext von
> https://matheraum.de/read?t=688671)
>
> wie sie in der picture-Umgebung vorkommen ?
Beides und noch vieles mehr.
Viele Grüße
Rainer
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:48 Mi 02.06.2010 | Autor: | rainerS |
Hallo!
> > Vergiss die picture-Umgebung, die sollte längst der
> > Vergessenheit anheimfallen. Nimm
> > TikZ.
> >
> > Viele Grüße
> > Rainer
>
>
>
> Hallo Rainer,
>
> mein Ziel war, ein Problem der picture-Umgebung (die
> Beschränkung der Kreisradien auf einen kleinen Bereich)
> durch Mittel zu beheben, die eigentlich in picture und
> TeX
> selbst bereitliegen (nämlich die Bézierkurven und die
> Möglichkeit, neue Prozeduren zu definieren).
> Gereizt hat mich daran in erster Linie die mathematische
> Frage, wie man einen Kreis durch wenige quadratische
> Bézier-Bögen für grafische Zwecke ausreichend genau
> approximiert. Diese Frage habe ich eigentlich auch schon
> gelöst.
Ich will nur darauf hinweisen, dass die picture-Umgebung eine Notlösung und Krücke war und ist: als LaTeX in den frühen 80ern entstand, gab es keine vernünftige Möglichkeit, grafische Objekte darzustellen oder einzubinden; und daher bastelte Leslie Lamport diese Lösung: die einzelnen Kreise und schrägen Linienstücke sind Zeichen in einem speziellen Zeichensatz, die dann geschickt positioniert werden. Nur diejenigen Kreisradien oder Geradensteigungen, die es auch in dem Zeichensatz gibt, lassen sich auch darstellen. Die Bezierkurven werden übrigens aus lauter einzelnen (rechteckigen) Punkten zusammengesetzt.
Spätestens seit Mitte der 90er gibt es brauchbare Methoden, Grafiken in LaTeX-Dokumente einzufügen. Das ist weitaus einfacher, als die picture-Umgebung zu benutzen - die nur noch der Rückwärtskompatibilität wegen vorhanden ist.
>
> In TikZ existiert das entsprechende Problem (dass man
> Kreise mit größeren Radien nicht darstellen kann) aber
> wahrscheinlich gar nicht mehr - mathematisch gesehen
> kann man ja einen Kreis wirklich deutlich einfacher als
> via Bézierkurven beschreiben. Insofern interessiert mich
> TikZ nun im Moment auch (noch) nicht gewaltig, da ich
> für zeichnerische Zwecke meistens ohnehin andere Hilfs-
> mittel benütze. Kreise kann ich z.B. auch aus freier
> Hand
> so zeichnen, dass man sie oft kaum von solchen unter-
> scheiden kann, die mit dem Zirkel gezogen wurden ...
Eben.
TikZ ist ein sehr raffiniertes Paket zum Zeichnen von Kurven, Flächen, Grafen, etc. Es hat manchmal seine Vorteile, die grafischen Objekte direkt in LaTeX spezifizieren zu können.
Ein anderes Paket ist PSTricks, das PostScript bentutz, um grafische Elemente darzustellen.
Viele Grüße
Rainer
|
|
|
|
|
Hallo Rainer,
شكرا للنصائح!
Al
|
|
|
|