Wie programmiert man sowas?
Ich möchte mich hier nicht über die Feinheiten der C-Programmierung auslassen. Zumal ich gar kein C-Programmierer bin, sondern ein originärer Pascal-Programmierer auf DOS-Ebene. Ich programmiere also in C wie in
Pascal, das ist ein fürchterliches C, aber am Ende funktionieren die Programme in C erstaunlicherweise immer so wie in Pascal gedacht.

SOndern es geht um die Programmier-Logik.
Und diese Logik müssen diese
CAD Programme ja auch befolgen.
Geometrie ist Geometrie, da gibt es keine Meinungen, sondern nur Tatsachen.
Man legt die ganze 3D-Maschine augenblicklich still, wenn man eine 3D-Rotation macht. Weil in Richtung der Rotationsachse gesehen, ist alles 2D.
Sagen wir mal, wir rotieren eine Struktur mit der Y-Achse. Dann sind die zu rotierenden Koordinaten Z und X.
Und was passiert mit den Y-Werten? Wo bleiben die? Antwort: die bleiben natürlich erhalten, die schleppt man von Projektion zu Projektion UNVERÄNDERT HINTERHER.
Ich hab mich heute etwas sehr schwer getan, aus dem Grund, mit dem jeder C-Progrmmierer aber rechnen muß, daß in der laufenden Bearbeitung der ARbeitsspeicher überschrieben wurde. C ist ja sozusagen Tanz auf dem Drahtseil ohne doppelten Boden. Es gibt die Notwendigkeit, die arc-sin in Grad-sin umzuwandeln, und wenn der Speicherbereich überschrieben ist, produziert das Programm Müll. Bis ich das gemerkt hatte ... Daneben mußte ich für diese Projektion auch noch die Rückumwandlung der Winkelfunktionen in Gradzahlen programmieren, heißt in c asin() oder acos(), kann man aber so nicht verwenden, muß man auch in Gradzahlen umrechnen.
Also progammiertechnisch nicht so ganz einfach, ein paar Bohrungen zu rotieren, hat man es aber einmal gemacht, steht das Programm ja zur Verfügung.
Nun, der Trick bei der zirkulären Musterung, programmiertechnisch gesehen, ist so einfach, aber so einfach nicht zu erkennen.
Zirkuläre Musterung ist natürlich ein völliger neudeutscher UNSINNS-BEGRIFF, worum es hier geht ist die Rotation einer dreidimensionalen Struktur um eine Achse.
Musterung! Das ist doch mal wieder zum ... ich sag es nicht.
Wenn wir rotieren wollen, stehen wir vor dem Problem, daß wir mit den xyz Koordinaten absolut nichts anfangen können.
Jedenfalls ich konnte damit nichts anfangen.
Der Trick ist, AUS DEN KARTESISCHEN KOORDINATEN DIE POLARKOORDINATEN DER ROTATIONSACHSE ZU ERRECHNEN.
Man muß also, in Blickrichtung der Achse, die ganzen Koordinaten aus der Perspektive der Rotationsachse neu berechnen, damit man Polarkoordinaten hat, und das sind ja nur zwei, nämlich Winkel in Rotationsachenrichtung plus Distanz zur Rotationsachse, anstatt drei, nämlich x,y.z.
Danach ist alles ganz einfach, Kinderkram. Nur auf die Idee muß man ja erstmal kommen.
Rotiert man in der Y-Achse, dann gilt:
1.) Y Werte bleiben unverändert
2.) X rotiert nach der cos-Funktion.
3. Z rotiert nach der sin-Funktion.
Das war es schon.
Nee, nicht ganz: man muß für JEDE EINZELNE KOORDINATE den ABSTAND ZUR ROTATIONSACHSE haben, sonst geht das nicht.
Aber das sollte ja wohl klar sein.
Aus der Abteilung: Tipps und Tricks der PRogrammierung in 3D FOR BEGINNERS. .
Gruß Sharky
Der Beitrag wurde von sharky bearbeitet: 11.09.2010, 19:06 Uhr