Hallo liebe labview Gemeinde,
ich bin auf euren experten Gehirnschmalz angewiesen für folgendes Problem.
Ich vermesse scheibenweise einen kugelförmigen Körper auf seine Temperaturverteilung. Ich bekomme also nach und nach 20 evtl. später mehr Messstreifen waagerecht von gedrehter Kugel. Die Streifen sind ja kreisförmige Kugelabschnitte also Scheiben, diese möchte ich mit einer Draufsicht von oben bzw. unten darstellen. Also 2 Intensitätsdiagramme jeweils obere und untere Hälfte der Kugel mit je 10 geschlossenen Kreisen bzw. Scheiben, wobei jede Scheibe in sich ändert im Verlauf ihre Intensität. Das Diagramm stellt quasi eine Regenbogenscheibe nach und nach dar, also Scheibe um Scheibe bis zur Kugelgröße, das 2-te in umgekehrter Reihenfolge.
Das ganze hatte ich vor in einem Intensitätsdiagramm darzustellen, aber dieses stellt ja alles rechteckmäßig dar. Oder geht es auch irgendwie anderes?
Ich habe auch ein Exempel gefunden, wie man eine Kugel im 3D Graph erzeugen kann, aber als ein ganzer Körper mit konstanter Intensität. Ich finde es klasse, dass man den Graph beim Betrachten verdrehen kann. Es wäre genau das richtige für mich. ABER es fehlen noch 2 Dinge.
Ist es möglich die Kugel nach und nach in Scheiben darstellen zu können und für die einzelne Scheiben sich ändernde Intensität wie im Intensitätsdiagramm?
Vielleicht verlange ich zu viel vom labview, aber vielleicht geht s doch irgendwie. Aber im Grunde würde mir auch das Intensitätsdiagramm mit einer Dimension weniger reichen, wenn man es für die Darstellung kreisförmiger Körper ummodeln kann.
Ich habe
kann evtl. auf 12 updaten oder höher. Wenn es evtl. mehr bietet. Habe als Anlage paar Bilder und ein Messstreifen .txt hochgeladen.
Danke schon mal vorab für die Vorschläge und Anregungen und evtl. Lösungen.
Hallo blisnez,
Zitat:Aber im Grunde würde mir auch das Intensitätsdiagramm mit einer Dimension weniger reichen, wenn man es für die Darstellung kreisförmiger Körper ummodeln kann.
Zuerst würde ichd ir den Intensitäts
graph empfehlen, nicht das
Diagramm! Der Graph stellt ein 2D-Array dar…
Dann kannst du deine Intensitätsdaten selbst an die richtige Stelle im 2D-Array eintragen: du weißt doch, an welcher Position welche Intensität gemessen wurde!
Hallo GerdW,
ja hast mit dem Graph recht, es ist mein Benennungsfehler, ich habe auch das Intesitätsgraph verwendet, siehe Anlage.
Ich habe es befürchtet.
Das mit dem eintragen in die richtige Stelle, habe ich mir auch schon überlegt, wäre aber aus der Rubrik: Durch die Brust ins Auge.
Wenn ich dich richtig verstanden habe bzw. was ich mir gedacht habe, war folgendes
Also ich müsste die Graph Dimension vorher an die Arraygröße anpassen schätzen, auch Höhe Breite für die proportionale Darstellung. Dann mit Nullen fühlen, also schwarzen bzw. gleichmäßigen Hintergrund erzeugen. Dann jeden Messstreifen so kreisförmig zu recht biegen bzw. wertmäßig anpassen, dann Pixel für Pixel in den Graph an die richtige Stelle eintragen. Also jedes Array jedesmal bearbeiten, NULL raus Wert rein usw. Und hoffen, dass die Ganze Berechnung Schleifendurchläufe fehlerfrei funktionieren, ohne dass ich irgendwelche Datensätze überschreibe. OK, kann ich vorher austesten, aber es ist mit viel Tüftelei verbunden. Also alles per Hand. Und ich bin damit fix, also habe ich eine zugeschnittene Eieschachtel für genau das eine Objekt.
Wenn ich einige Änderungen dazu fügen muss, sprich andere Abtastratten, Scheibenanzahl, größere Kugeln, Ovale etc. Also für jedes Modell neu. Oh Nee
Geht ‘s vielleicht doch mit dem 3D Graph?
Hallo blisnez,
Zitat:ich müsste die Graph Dimension vorher an die Arraygröße anpassen schätzen, auch Höhe Breite für die proportionale Darstellung.
Einmal InitArray mit einem Eingangsparameter "Objektgröße"…
Zitat:Dann mit Nullen fühlen, also schwarzen bzw. gleichmäßigen Hintergrund erzeugen.
Das erledigt das InitArray schon vorher…
Zitat:Dann jeden Messstreifen so kreisförmig zu recht biegen bzw. wertmäßig anpassen, dann Pixel für Pixel in den Graph an die richtige Stelle eintragen.
Simple Mathematik mit komplexen Zahlen. Irgendwas aus Klasse 8 oder 9…
Zitat:Also jedes Array jedesmal bearbeiten, NULL raus Wert rein usw
Schieberegister und ReplaceArraySubset…
Zitat:dass die Ganze Berechnung Schleifendurchläufe fehlerfrei funktionieren, ohne dass ich irgendwelche Datensätze überschreibe.
Autoindizierung RULEZ!
Zitat:OK, kann ich vorher austesten, aber es ist mit viel Tüftelei verbunden.
Meiner Meinung nach ganz einfach.
Du bekommst momentan deine Messwerte "spaltenweise", musst also auch so schon wissen, welcher Messwert zu welcher Koordinate gehört…
Zitat:Wenn ich einige Änderungen dazu fügen muss, sprich andere Abtastratten, Scheibenanzahl, größere Kugeln, Ovale etc. Also für jedes Modell neu. Oh Nee
Ich sage nur: Autoindizierung und polymorphe Funktionen…
Zitat:Geht ‘s vielleicht doch mit dem 3D Graph?
den benutze ich zu selten…
Hallo GerdW,
Danke für motivierende Worte.
Ich dachte es gibt unter Labview bestimmt eine fertige Lösung dafür. Muss ja das Rad nicht neu erfinden. Aber scheinbar doch.
Da sich aber kein anderer Experte dazu geäußert hat, ist es wohl unter Labview die einzige mögliche Lösung. Muss jetzt mal abwägen, ob ich das in Labview oder Matlab realisiere.
VG
Hallo blisnez,
Zitat:Ich dachte es gibt unter Labview bestimmt eine fertige Lösung dafür.
Nun ja: du hast die spezielle Aufgabe, als Vektor vorliegende Messdaten in eine kreisförmige (oder auch ovale) Darstellung zu bringen. Das ist jedenfalls so speziell, dass man dafür jetzt keine fertige Funktion mitliefert, die für alle User weltweit universal einsetzbar ist. Und das ist eine der Voraussetzungen für die mitgelieferten Funktionen…
Zitat:Muss ja das Rad nicht neu erfinden. Aber scheinbar doch.
Also wenn für dich solch simple Mathematik mit komplexen Zahlen als "Rad neu erfinden" durchgeht, dann weiß ich auch nicht…
Zitat:Da sich aber kein anderer Experte dazu geäußert hat, ist es wohl unter Labview die einzige mögliche Lösung.
Das würde ich nicht so sagen. Es war die einfachste Möglichkeit, die mir zu deiner Fragestellung eingefallen ist.
Wie ich oben schon einmal sagte, musst du zu deinen Messdaten ja die Koordinaten
kennen. Und mit diesem Wissen einen Wert an die richtige Stelle in einem 2D-Array zu setzen, sehe ich nicht als (große) Herausforderung an…
Ist ja gut, brauchst nicht direkt blöde Sau sagen, ich habe es schon fast fertig. Konnte mich nur nicht damit abfinden, dass ich spezial gelagerte Sonderfallwünsche habe, das ist alles. Lebe auch nicht Labview den ganzen Tag, habe noch andere Dinge zu tun. Angst von Labview und vor allem von der Mathematik habe ich auch nicht. Hatte zwar die komplexe Rechnung nicht in der 8, sondern in der Oberstufe, aber für meinen Sonderfall brauche ich es wohl nicht, wie die ersten Erkenntnissen zeigen, zumindest noch nicht.
(07.10.2014 11:53 )blisnez schrieb: [ -> ]Ist ja gut, brauchst nicht direkt blöde Sau sagen, ich habe es schon fast fertig.
Ich habe mir den Thread komplett durchgelesen, ich kann nirgends lesen, dass dich Gerd als ... bezeichnet hat.
Das Umrechnen von Kugel- auf kartesische Koordinaten (in der Annahme, dass du die Temperatur auf deiner Kugeloberfläche z.B. durch Drehung der Kugel schrittweise misst) erfordert sicherlich einmal Hirnschmalz, aber es lässt sich auf jeden Fall so erledigen, dass du am Ende eine variable Prozedur hast (wie du schon selber geschrieben hast).
Am Ende kannst du sogar die Temperatur-Verteilung auf deiner Kugel-Oberfläche im 3D-Graphen darstellen,
vgl. hier.
Gruß, Jens
Hallo Jens,
Nein natürlich nicht, es war auch ironisch von mir gemeint, vielleicht hätte ich das mit dem Smilie versehen müssen. OK, Ist nicht angekommen, Schwamm drüber. nichts für ungut.
Ernst beiseite... Spaß rein…
Dass mit dem 3D Graphen muss ich mir noch mal angucken, ob das wirklich geht. Ich möchte es nicht wie ein Landschaftsbild darstellen, sondern als Kugelförmigen Körper mit entsprechendem Farbverlauf.
Hab zwar als PC eine 6j. alte Maschine, läuft das ganze recht langsam, drum kümmere ich mich später, erst muss die Programmroutine stimmen. Bin jetzt in der Optimierungsphase.
Viele fehlende Pixel (Punkte), war auch vorher klar, habe auch damit gerechnet.
Einige Pixel werden zum Teil überschrieben, ist auch klar, da gleiche Anzahl der Messpunkte in das kleinere Scheibenumfang rein geklopft wird dazu kommt falsche oder nicht optimale Rundung der Koordinaten etc. Das meinte ich mit der Arraygröße bzw. Anzahl der Messwerte anpassen.
Außerdem Artefakte im Bild. Möchte zwar ungerne Messwerte verfälschen, probiere aber trotzdem später zu interpolieren bzw. evtl. nur die Zwischenräume zu füllen.
VG
John
He He
War vorher ein LVF- Neueinsteiger jetzt ein LVF-Grünschnabel, super.
Auch aus der Rubrik Ironie oder doch Sarkasmus?
Ne Ne, nur ein stumpf gerundeter Beitragszähler, nicht wahr.
Eingerostet sind wir, eingerostet.