Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
schon lange lese ich hier bei euch interessiert mit - und fast noch länger konnten mir die Beiträge bzw. Probleme von anderen Usern bei meinen eigenen Schwierigkeiten weiterhelfen.
Heute habe ich allerdings ein Problem, dass so noch nicht behandelt wurde - allgemein habe ich den Eindruck, dass die dreidimensionale Visualisierung von Messwerten in LabVIEW entweder A) nicht oft gemacht wird oder B) fast nie zu Problemen führt
Kommen wir aber zu meinem Problem:
Ich erhalte von einer Sensorik Messwerte in Form eines Kreises. Diese sind polar, sodass ich diese leicht in Real und Imaginärteil umrechnen kann.
Diese Kreise sollen "überieinander gelegt" zu einem Zylinder, einer Art Rohr werden.
Ich möchte also diese einzelnen "Messscheiben" (die einzelnen Kreise) übereinander legen, so dass sich sukzessizve ein Zylinder aufbaut.
Leider bekomme ich das so nicht hin. Ich habe ein Test- VI angehangen in dem mein Problem vielleicht etwas klarer wird.
Setzt man in dem VI die "# of iterations" auf bspw. 45, zeichnen mir beide Plots nur einen Viertelzylinder.
Setzt man die Variable auf 360, erhalte ich einen vollständigen Zylinder.
Nach meiner Vorstellung sollte es allerdings so sein, dass cih im ersten Fall 45 Messcheiben übereinander abbilde, im zweiten 360.
Ist es überhaupt möglich, was ich möchte?
Es wäre wirklcih prima, wenn mir jemand aus der Patsche helfen kann
PS: In meinem VI sind die Kreisinformationen nun überall gleich, die reale Situation ermöglicht natürlich auch reale Messwerte, sprich unterschiedliche Kreise
Zitat:Leider bekomme ich das so nicht hin. Ich habe ein Test- VI angehangen in dem mein Problem vielleicht etwas klarer wird.
Setzt man in dem VI die "# of iterations" auf bspw. 45, zeichnen mir beide Plots nur einen Viertelzylinder.
Setzt man die Variable auf 360, erhalte ich einen vollständigen Zylinder.
"# of iterations" sehe ich nirgendwo, bei 360 bekomme ich keinen Zylinder, bei 45 bekomme ich einen halben. Wenn ich allerdings 2*pi / 360 (bzw. 45) vertausche, also 360/2*pi bekomme ich bei beiden Eingaben einen kompletten Zylinder, 360 "runder" als bei 45. Falsch umgestellt?
Gruß snuz
Es gibt 10 Arten von Menschen... Die die Binärrechnung beherrschen und die die es nicht tun.
ich habe extra das VI noch aufgeräumt für euch, damit der Code leichter lesbar ist.
Und dann habe ich das unaufgeräumte VI hochgeladen.. DAMN, das ist mir echt peinlich. Sorry dafür.
Anbei also nochmal das aufgeräumte, mit "# of iterations" versehene VI. Im obigen VI ist das einfach das "Numeric", welches die Anzahl der Schleifendurchläufe festlegt.
Die Berechnung von 2*pi / 360 ist korrekt. Da ja die sin- und cos-Operationen nur mit radians arbeiten, wird hier ein faktor berechnet, der mit i muptipliziert die 360 radians-Werte für den sin- und cos- Operator ergibt.
Ich habe nochmal zwei Screenshots meines Frontpanel angehangen, vielleicht wird es dann klarer, bzw bei euch auch reproduzierbarer.
nun also auf die Frage warum bei 360 Iterationen der Zylinder geschlossen ist und bei 45 nicht, hat folgenden Grund. Du erstellst 2 Arrays mit je der Größe 360, somit befinden sich 360 Werte darin, in der nachkommenden For-Schleife ließt Du aber durch setzen der 45 auch nur 45 Werte davon aus. Tausche doch die Konstante "360" mit einer Verbindung "# of iterations" mal und schau dir das Ergebnis an.
Ich weiß nicht ob ich die Aufgabenstellung richtig verstanden habe, aber ich denke Du willst verschiedene Kreise aufeinander legen, nach Aufbau des Zylinders, vermute ich, dass das zwar so aussieht als ob, es aber nicht wirklich Kreise aufeinander legt.
Gruß snuz
Es gibt 10 Arten von Menschen... Die die Binärrechnung beherrschen und die die es nicht tun.
(05.10.2011 11:02 )snuz schrieb: Du erstellst 2 Arrays mit je der Größe 360, somit befinden sich 360 Werte darin, in der nachkommenden For-Schleife ließt Du aber durch setzen der 45 auch nur 45 Werte davon aus. Tausche doch die Konstante "360" mit einer Verbindung "# of iterations" mal und schau dir das Ergebnis an.
Aber ich habe doch Auto- Indexing ausgeschaltet bei den Arrays. Das würde bedeuten, ich nehme "# of iterations"-mal die kompletten 1D- Arrays (nämlich einen Kreis, wie im XY- Graph, der als Kontrollelement angelegt ist) und stelle die im 3D- Plot dar.
Und die Berechnung aus 2pi / 360 ergibt 0,0174. Das ist, wenn man so will "ein Grad (Degree) in Radians ausgedrückt" . Wenn ich da also anstatt der 360 eine andere Zahl einsetze,rechnen sin & cos nicht mehr das richtige aus
(05.10.2011 11:02 )snuz schrieb: Ich weiß nicht ob ich die Aufgabenstellung richtig verstanden habe, aber ich denke Du willst verschiedene Kreise aufeinander legen, nach Aufbau des Zylinders, vermute ich, dass das zwar so aussieht als ob, es aber nicht wirklich Kreise aufeinander legt.
Genau so ist es. Ich erhalte immer neue Kreise und möchte die übereinander legen, so dass sich ein Zylinder daraus entwickelt.
Leider bin ich immer noch nicht weiter in der Sache - mir fehlen mittlerweile auch die Ideen
Aber danke, dass du dich meinem Problem hier so ausgiebeig annimmst
Gruß
Cool Jamara
05.10.2011, 11:39 (Dieser Beitrag wurde zuletzt bearbeitet: 05.10.2011 11:43 von snuz.)
Kritisch finde ich auch, dass die Schleifen-Iteration durch gegeben wird, also für eine Ebene, denn dass ist dann keine Scheibe mehr, eine Ebene muss für eine Scheibe ja konstant sein.
P.S. ah hab nicht gesehen das Du geschrieben hast, da muss ich nochmal nachdenken.
P.S.S. ja hast mit Recht mit der 360 etc. bin immer noch auf der falschen Fährte. Aber das mit der X Ebene die aus der Iteration der Schleife erstellt wird, kann das stimmen?
Es gibt 10 Arten von Menschen... Die die Binärrechnung beherrschen und die die es nicht tun.
Ok ist ja auch eine interessante Aufgabe. Also einmal muss eine (Du hast hier die X-Achse genommen, ich die Z-Achse) Ebene konstant sein. X Y geniert sich so wie Du es gemacht hast. Die Z- Achse generiere ich wie folgt, einfach ein Array gleiche Größe wie X Y Array nur mit 1 gefüllt. Anschließend erhöhe ich die Z- Achse pro Ebene die ich einfüge um +1. Somit habe ich mehrere Scheiben mit gleichen X Y Werten, aber unterschiedlichen Z Achsen, damit ich diese übereinander legen kann. Und somit ergibt sich ein Zylinder. Wenn Du nun Scheiben hast, also X Y Werte, brauchst Du einfach nur die Anzahl der Scheiben wissen und eine Z Achse generieren die jeweils um 1 höher ist. Und fürs fleißige lesen gibt es zur Belohnung noch ein VI.
ok, da muss auch noch Hand angelegt werden...
Es gibt 10 Arten von Menschen... Die die Binärrechnung beherrschen und die die es nicht tun.
Nur noch als Info, die Z- Ebene ist ein bisschen gefummelt, mit der 2. For Schleife kannst Du die Anzahl der Scheiben bestimmen, wenn Du z.B. auf 2 einstellst, siehst Du das Problem.
Es gibt 10 Arten von Menschen... Die die Binärrechnung beherrschen und die die es nicht tun.