Autor | Beitrag |
---|
000 01.08.2001, 19:50 Seeker |
Also: Ich möchte einen Kreis in einem Koordinatensystem in beliebig viele Teile aufteilen und mir denn die einzelnen Koordinaten vorrechnen lassen. Hier die Details: Gegeben: Der Kreis soll nun in X gleichmäßige Teile aufgeteilt werden. (Wie eine Torte) Ich habe also zunächst den Umfang des Kreises berechnet: Hoffe, mir kann jemand helfen |
Profil || Suche |
001 01.08.2001, 20:37 Mazze |
Wenn der Mittelpunkt des Kreises die Mitte des Koordinatensystems ist, also M(Kreis) = (0/0) Bei 8 Teilen ist es auch einfach, weil da x und y gleich groß sind: Nimm einfach den Satz des Pythargoras! Naja....ich hoffe das war ein Denkansatz! BattleTech-MOD: |
Profil || Suche |
002 01.08.2001, 22:46 tommsch |
n..anzahl der teilungen alpha = 360/n x = cos(alpha)*d "Wenn schon Sklave, dann überzeugter Sklave" - Steindl über techn. Zeichner |
Profil || Suche |
003 02.08.2001, 13:40 Seeker |
Puuh. |
Profil || Suche |
004 02.08.2001, 18:58 Seeker |
Tja, klang logisch, klappt aber nicht: Also; so sieht mein Quelltext aus:
Er malt auch alles wunderbar - nur leider werden die Kreise zwar auf dem weißen Ring, nicht aber in den Richtigen Abständen angezeigt... |
Profil || Suche |
005 02.08.2001, 22:10 Prefect |
Wenn ich das hier richtig sehe, verwendest du nen konstanten Radius. D.h. wenn sich das Programm richtig verhält, müßten auf der Kreislinie des größeren Kreises 10 Kreise in gleichmässigem Abstand entstehen. Wenn du willst, dass sich die Kreise genau berühren, mußt du zunächst den dafür notwendigen Radius berechnen. Ich würde jetzt hier ganz gern ne Skizze machen, aber im Text geht das leider nicht, also versuch ich das mit Worten beschreiben. Du hast den großen Kreis, und darin eingezeichnet ein Segment. Der Winkel beim Mittelpunkt sei Alpha = 360° / n Wenn du jetzt die beiden Punkte des Segmentes auf der Kreislinie verbindest erhältst du ein gleichschenkliges Dreieck aus den beiden Radien r und der Verbindungslinie c. Es gilt, die Länge der Linie c zu finden, oder genauer gesagt c/2, da der Radius der kleineren Kreise = c/2 sein soll. Also halbiere c/2 und errichte das Lot. Dadurch kriegst du zwei identische rechtwinklige Dreiecke. Der spitze Winkel am Zentrum des großen Kreises ist Alpha/2. Wir wissen (je nach Schulklasse ;), dass in den kleineren Dreiecken der Radius r die Hypothenuse und c/2 die Gegenkathete zu Winkel Alpha/2 ist. Außerdem: sin Winkel = Gegenkathete / Hypothenuse cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
Profil || Suche |
006 02.08.2001, 23:13 Gollum |
ich glaub die sin und cos funktionen wollen den winkel nicht in grad sondern in radians wissen. andererseits weiß ich nicht ob das in vb überhaupt so is... bei den funktionen sin/cos aus math.h von c is jedenfalls so... jo. ich hoffe ich konnte auch irgendwie helfen :) cu --[url="http://www.thelordoftherings.com/cgi-bin/get-image.pl?ID=alan-lee-058 "]-N/A-[/url]
|
Profil || Suche |
007 02.08.2001, 23:28 tommsch |
in vb sind alle winkel radiant, (hat gollum eh scho gschriebn) "Wenn schon Sklave, dann überzeugter Sklave" - Steindl über techn. Zeichner |
Profil || Suche |