Die Mathe-Redaktion - 19.07.2019 10:11 - Registrieren/Login
Auswahl
ListenpunktHome
ListenpunktAktuell und Interessant ai
ListenpunktArtikelübersicht/-suche
ListenpunktAlle Links / Mathe-Links
ListenpunktFach- & Sachbücher
ListenpunktMitglieder / Karte / Top 15
ListenpunktRegistrieren/Login
ListenpunktArbeitsgruppen
Listenpunkt? im neuen Schwätz
ListenpunktWerde Mathe-Millionär!
ListenpunktAnmeldung MPCT Sept.
ListenpunktFormeleditor fedgeo
Schwarzes Brett
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden. Mitglieder können den Matheplanet-Newsletter bestellen, der etwa alle 2 Monate erscheint.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 451 Gäste und 14 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
 
Suchwörter   (werden UND-verknüpft)
Keines der folgenden   keine eigenen Beiträge
Name des Autors 
resp. Themenstellers 

nur dessen Startbeiträge
auch in Antworten dazu
Forum 
 Suchrichtung  Auf  Ab Suchmethode  Sendezeit Empfehlungbeta [?]
       Die Suche erfolgt nach den angegebenen Worten oder Wortteilen.   [Suchtipps]

Link auf dieses Suchergebnis hier

Forum
Thema Eingetragen
Autor

Geometrie
Beruf 
Thema eröffnet von: gaussmath
Matrix umwandeln in ZY′X″-Konvention  
Beitrag No.4 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2018-11-11
gaussmath
J

OK, klingt gut. Weißt du zufällig, ob C# irgendwie so was von Haus aus mitbringt? Meine Hoffnung liegt im System.Numerics Nuget oder in der 3rd Party Lib .NET Numerics. Bis jetzt habe ich noch nichts gefunden...

Edit: Funktioniert perfekt. Werde jetzt noch Random-Vektoren in einem Unit-Test generieren. Vielen Dank nochmal für deinen entscheidenden Hinweis. Ich bin einfach nicht selbst drauf gekommen. Muss auch sagen, dass die Mathematik mit fortlaufendem Berufsleben hier und da schon verkümmert. Ich sollte dem entgegen wirken. :-)
c#
using System;
using System.Windows.Media.Media3D;
 
namespace TransformationTestApp
{
    class Program
    {
        static void Main(string[] args)
        {
            var normalTestVector = new Vector3D(1, -2, 0.5);
            normalTestVector.Normalize();
            var transTest = GetTransFromVectorToVector(normalTestVector);
            // Muss mit Norm von Vector3D(1, -2, 0.5) übereinstimmen
            // 0.43644  -0.87287   0.21822
            var testVector = transTest.Transform(new Vector3D(0, 1, 0));
 
            if(Vector3D.Subtract(testVector, normalTestVector).LengthSquared < 1E-06)
            {
                Console.WriteLine("Alles schick!");
            }
        }
 
        private static Transform3DGroup GetTransFromVectorToVector(Vector3D normalTestVector)
        {
            //Vector A
            var direction = new Vector3D(0, 1, 0);
 
            // Vector B            
            normalTestVector.Normalize();
 
            var diff = direction - normalTestVector;
 
            // Definiere Rotationsmatrix als Abbildung von a nach b
            var rotationMatrix = GetRotationsMatrix(direction, normalTestVector);            
 
            // https://de.wikipedia.org/wiki/RPY
            var beta = Math.Atan2(-rotationMatrix.M31, Math.Sqrt(rotationMatrix.M11 * rotationMatrix.M11 + rotationMatrix.M21 * rotationMatrix.M21));
            var alpha = Math.Atan2(rotationMatrix.M21 / Math.Cos(beta), rotationMatrix.M11 / Math.Cos(beta));
            var gamma = Math.Atan2(rotationMatrix.M32 / Math.Cos(beta), rotationMatrix.M33 / Math.Cos(beta));
 
            var rotationXTrans = new AxisAngleRotation3D(new Vector3D(1, 0, 0), 180d / Math.PI * gamma);
            var rotationYTrans = new AxisAngleRotation3D(new Vector3D(0, 1, 0), 180d / Math.PI * beta);
            var rotationZTrans = new AxisAngleRotation3D(new Vector3D(0, 0, 1), 180d / Math.PI * alpha);
 
            var trans3DGroup = new Transform3DGroup();
            trans3DGroup.Children.Add(new RotateTransform3D(rotationXTrans));
            trans3DGroup.Children.Add(new RotateTransform3D(rotationYTrans));
            trans3DGroup.Children.Add(new RotateTransform3D(rotationZTrans));
 
            return trans3DGroup;
        }
 
        private static Matrix3D GetRotationsMatrix(Vector3D a, Vector3D b)
        {
            a.Normalize();
            b.Normalize();
 
            var v = Vector3D.CrossProduct(a, b);
            var c = Vector3D.DotProduct(a, b);
            var s = v.Length;
            var scale = (1 - c) / (s * s);
 
            var vSscp = new Matrix3D
            {
                M11 = 0,
                M12 = -v.Z,
                M13 = v.Y,
 
                M21 = v.Z,
                M22 = 0,
                M23 = -v.X,
 
                M31 = -v.Y,
                M32 = v.X,
                M33 = 0
            };
 
            var vSscpSquared = vSscp * vSscp;
 
            var rotationMatrix = new Matrix3D
            {
                M11 = 1 + vSscp.M11 + scale* vSscpSquared.M11,
                M12 = vSscp.M12 + scale * vSscpSquared.M21,
                M13 = vSscp.M13 + scale * vSscpSquared.M13,
 
                M21 = vSscp.M21 + scale * vSscpSquared.M21,
                M22 = 1 + vSscp.M22 + scale * vSscpSquared.M22,
                M23 = vSscp.M23 + scale * vSscpSquared.M23,
 
                M31 = vSscp.M31 + scale * vSscpSquared.M31,
                M32 = vSscp.M32 + scale * vSscpSquared.M32,
                M33 = 1 + vSscp.M33 + scale * vSscpSquared.M33
            };
 
            return rotationMatrix;
        }
    }
}

Geometrie
Beruf 
Thema eröffnet von: gaussmath
Matrix umwandeln in ZY′X″-Konvention  
Beitrag No.2 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2018-11-11
gaussmath
J

Ok, danke für deine Antwort! Die Frage ist nun, wie berechne ich die Rotationsmatrix?

Ich probiere jetzt das: math.stackexchange.com/questions/180418/calculate-rotation-matrix-to-align-vector-a-to-vector-b-in-3d

Edit: Sieht gut aus.
Matlab
a = [0 1 0];
b = 1/norm([1 -2 0.5])*[1 -2 0.5];
 
v = cross(a,b);
c = dot(a,b);
s = norm(v);
 
v_sscp = [ 0 -v(3) v(2); 
           v(3) 0 -v(1); 
           -v(2) v(1) 0];
 
R = eye(3,3) + v_sscp + (1-c)/s^2*v_sscp^2
R =
 
  -0.49830   0.43644  -0.74915
  -0.43644  -0.87287  -0.21822
  -0.74915   0.21822   0.62543

Geometrie
Beruf 
Thema eröffnet von: gaussmath
Matrix umwandeln in ZY′X″-Konvention  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2018-11-10
gaussmath
J

Hallo,

ich habe folgenden Code erstellt. Darin ist noch ein Fehler und ich komme einfach nicht drauf, wo der Fehler liegen könnte. Ich habe zwei Vektoren a und b, welche durch elementare Rotationstransformationen ineinander überführt werden sollen. Dazu bestimme ich die Householder-Matrix und berechne dann basierend darauf die Roll-Nick-Gier-Winkel. Bis auf ein Vorzeichen stimmen die Werte. Es kommt (0.43644, 0.87287, 0.21822) heraus, muss aber (0.43644, -0.87287, 0.21822) lauten. Was mache ich falsch??
C#
class Program
    {
        static void Main(string[] args)
        {
            var transTest = GetTransFromVectorToVector();
            // Muss mit Norm von Vector3D(1, -2, 0.5) übereinstimmen
            // 0.43644  -0.87287   0.21822
            var testVector = transTest.Transform(new Point3D(0, 1, 0));
        }
 
        private static Transform3DGroup GetTransFromVectorToVector()
        {
            //Vector A
            var direction = new Vector3D(0, 1, 0);
 
            // Vector B
            var normalTestVector = new Vector3D(1, -2, 0.5);
            normalTestVector.Normalize();
 
            var diff = direction - normalTestVector;
 
            // Erstelle Householdermatrix
            var matrixA = new Matrix3D
            {
                M11 = diff.X,
                M22 = diff.Y,
                M33 = diff.Z
            };
 
            var matrixB = new Matrix3D
            {
                M11 = diff.X,
                M12 = diff.Y,
                M13 = diff.Z,
                M21 = diff.X,
                M22 = diff.Y,
                M23 = diff.Z,
                M31 = diff.X,
                M32 = diff.Y,
                M33 = diff.Z,
            };
 
            var matrix = Matrix3D.Multiply(matrixA, matrixB);
 
            var scale = Vector3D.DotProduct(diff, direction);
            var houseHolder = new Matrix3D
            {
                M11 = 1 - matrix.M11 / scale,
                M22 = 1 - matrix.M22 / scale,
                M33 = 1 - matrix.M33 / scale,
 
                M12 = -matrix.M12 / scale,
                M13 = -matrix.M13 / scale,
                M21 = -matrix.M21 / scale,
                M23 = -matrix.M23 / scale,
                M31 = -matrix.M31 / scale,
                M32 = -matrix.M32 / scale,
            };
 
            var houseHolderTestVector = houseHolder.Transform(direction);
 
            // https://de.wikipedia.org/wiki/RPY
            var beta = 180d / Math.PI * Math.Atan2(-houseHolder.M31, Math.Sqrt(houseHolder.M11 * houseHolder.M11 + houseHolder.M21 * houseHolder.M21));
            var alpha = 180d / Math.PI * Math.Atan2(houseHolder.M21 / Math.Cos(beta), houseHolder.M11 / Math.Cos(beta));
            var gamma = 180d / Math.PI * Math.Atan2(houseHolder.M32 / Math.Cos(beta), houseHolder.M33 / Math.Cos(beta));
 
            var rotationXTrans = new AxisAngleRotation3D(new Vector3D(1, 0, 0), -gamma);
            var rotationYTrans = new AxisAngleRotation3D(new Vector3D(0, 1, 0), -beta);
            var rotationZTrans = new AxisAngleRotation3D(new Vector3D(0, 0, 1), -alpha);
 
            var trans3DGroup = new Transform3DGroup();
            trans3DGroup.Children.Add(new RotateTransform3D(rotationXTrans));
            trans3DGroup.Children.Add(new RotateTransform3D(rotationYTrans));
            trans3DGroup.Children.Add(new RotateTransform3D(rotationZTrans));
 
            return trans3DGroup;
        }
    }

Algorithmen / Datenstrukturen
  
Thema eröffnet von: gaussmath
Effizienter Algorithmus für diskrete Projektion  
Beitrag No.11 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2018-06-12
gaussmath
 

Es geht um die Punktemenge eines Schnittes mit dem Modell -> 2D. Die Punkte liegen grundsätzlich immer unsortiert vor.

Ich habe überlegt, die Punkte in ein Grid zu mappen und darüber eine (stark!?) beschleunigte Nachbarschaftsbetrachtung zu erhalten.

Thermodynamik & Statistische Physik
  
Thema eröffnet von: gaussmath
Delta T proportional zum Wärmestrom  
Beitrag No.5 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2018-06-12
gaussmath
J

Ok, danke euch beiden!

Thermodynamik & Statistische Physik
  
Thema eröffnet von: gaussmath
Delta T proportional zum Wärmestrom  
Beitrag No.2 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2018-06-11
gaussmath
J

Hallo jacha2,

vielen Dank für deine Erklärung! Lässt sich eine vereinfachte Gleichung für das DeltaT in Abhängigkeit der Fließgeschwindigkeit aufstellen? Eventuell getrennt für turbulent und laminar?

Thermodynamik & Statistische Physik
  
Thema eröffnet von: gaussmath
Delta T proportional zum Wärmestrom  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2018-06-10
gaussmath
J

Hallo,

es geht um die Temperaturdifferenz bei einer Wasserkühlung zwischen dem Input und dem Output des Kühlkörpers im Wasserkreislauf.

Ist das Delta T (Temperaturdifferenz des Wassers zwischen Eingang und Ausgang des Kühlers) proportional zum Wärmestrom Q?

Wie wirkt sich die Fließgeschwindigkeit des Wassers/Pumpenleistung aus?

Algorithmen / Datenstrukturen
  
Thema eröffnet von: gaussmath
Effizienter Algorithmus für diskrete Projektion  
Beitrag No.9 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2018-06-01
gaussmath
 

Also nochmal. Es existiert keine Ordnungselation auf R2. Man kann das also nicht einfach so sortieren. Man muss für jeden Punkt prüfen, welcher Punkt als Nachfolger in Frage kommen kann. Einfach nur den Abstand zu nehmen, führt zu nicht eindeutigen und auch falschen Reihenfolgen (gerade bei spitzen Ecken). Man muss also zusätzlich noch die Schnittfreiheit prüfen. Das klingt für mich zunächst einmal nach 2*O(n2) Komplexität...

Algorithmen / Datenstrukturen
  
Thema eröffnet von: gaussmath
Effizienter Algorithmus für diskrete Projektion  
Beitrag No.5 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2018-05-31
gaussmath
 

Hallo sebp,

ich muss die Punktemenge noch sortieren. Darum geht's im Grunde. Allerdings sind es ja 2D Punkte. Das zyklus-/überschneidungsfrei zu sortieren, ist nicht gerade trivial. Welche Sprache bringt sowas onboard mit? Ich verwende übrigens C#.

Algorithmen / Datenstrukturen
  
Thema eröffnet von: gaussmath
Effizienter Algorithmus für diskrete Projektion  
Beitrag No.3 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2018-05-30
gaussmath
 

Hallo,

vielen Dank für eure Antworten.  smile

Zunächst einmal zur Thematik der Reihenfolge der Punkte. Die stetige Kurve existiert auf dem realen Objekt. Die diskrete Punktmenge entsteht durch einen 3D Scan mit sich überlappenden Scanfahrten, so dass im Allgemeinen keine konsistente Reihenfolge vorliegt.

Eine Optimierung durch Einschränkung auf das Intervall [x_start,x_end] ist leider aus folgenden Gründen nicht möglich:

* Ich halte die Punktemenge (nur die Front in Scanrichtung) in rotierter Form (n Rotationen) als Map<angle, RotatedPoints> vor, um die Performance zu optimieren
* Das Intervall ist a priori nicht bekannt

Ich muss also initial die gesamte Punktemenge konsitent sortieren. Schon ab 1000 Punkten liegt die Laufzeit bei mehreren Sekunden und übertrifft damit den restlichen Berechungsaufwand. Es kann aber durchaus zu Größenordnungen von bis zu 5000 Punkten kommen.

Insofern muss ich mein usprüngliches Anliegen anpassen. Ich suche also einen möglichst schnellen Algorithmus, um die Punktemenge (intial) zu sortieren.


Algorithmen / Datenstrukturen
  
Thema eröffnet von: gaussmath
Effizienter Algorithmus für diskrete Projektion  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2018-05-21
gaussmath
 

Hallo,

ich benötige einen effizienten Algoritmus für eine diskrete Projektion. Zunächst einmal eine Grafik, um den Sachverhalt zu verdeutlichen.



Gegeben ist eine diskretisierte Kurve P. Die Punkte liegen in einer beliebigen Reihenfolge vor, was übrigens das Problem ist. Weiterhin ist eine diskretisierte Linie L mit einer Auflösung res gegeben. Die Aufgabe ist es nun, L auf P zu projizieren.

Da nicht zu jedem Punkt aus L ein Projektionspunkt auf P existiert (Lücken), sollen einfach alle Punkte von P genommen werden, die im Bereich (x_start, x_end) von L liegen.

Das Problem ist nun, dass die Punkte auf P, die hinter der Kurvenfont liegen, natürlich nicht betrachtet werden sollen. Im Grund brauche ich eine Kurvenverfolgung von (x_start,y_start) nach (x_end,y_end).

Was ich gemacht habe bisher, ist nun, dass ich mit einem AlphaShape Algoritmus die konkave Kurve von P berechne, was mir die richtige Reihenfolge der Punkte auf P liefert. Leider ist die Laufzeit zu groß.

Hat jemand Ideen?

Grüße, Mark

Thermodynamik & Statistische Physik
  
Thema eröffnet von: gaussmath
Wärmeleitfähigkeit in Zwischenschicht ändern  
Beitrag No.2 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2017-10-14
gaussmath
 

Danke für deine Antwort. Die Frage ist dann ja, was mit T4 ist. Nach dem Energieerhaltungsprinzip ist der Wärmestrom in jeder Schicht gleich. Wenn nun λ2 steigt, sinkt der Faktor der aufsummierten Kehrwerte. Damit T1 unabhängig von der Kühlleistung immer gleichermaßen fällt, muss T4 immer gleich bleiben. Ist das so? Das ist hier mein Problem.

Thermodynamik & Statistische Physik
  
Thema eröffnet von: gaussmath
Wärmeleitfähigkeit in Zwischenschicht ändern  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2017-10-12
gaussmath
 

Hallo,



Wie verhält sich dieses System, wenn man die Wärmeleitfähigkeit der gelben Zwischenschicht erhöht? Sinkt die Temperatur in der Wärmequelle immer gleich, egal wie der Kühlkörper beschaffen ist?

Grüße, Marc

Algorithmen / Datenstrukturen
  
Thema eröffnet von: gaussmath
Schneller Algorithmus für Hittest  
Beitrag No.3 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2017-09-29
gaussmath
 

Danke für die Tipps! Wenn ich die Boundingbox in m^3 Quader einteile, muss ich ja im schlimmsten Fall m Quader durchsuchen. Das klingt gut.

Algorithmen / Datenstrukturen
  
Thema eröffnet von: gaussmath
Schneller Algorithmus für Hittest  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2017-09-28
gaussmath
 

Hallo,

ich habe ein 3D Meshgrid bestehend aus n Dreiecken. n ist so groß, dass ich mir Gedanken über einen schnellen Algorithmus machen muss.

Ich habe k Geraden und muss den jeweilgen Schnittpunkt mit dem Meshgrid berechnen.

Habt ihr Tipps für mich, wie man das performant umsetzen kann?

Grüße, Marc

Technische Informatik
  
Thema eröffnet von: gaussmath
Quad Channel versus Dual Channel Interface  
Beitrag No.1 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2017-08-02
gaussmath
 

Keiner hier, der sich mit Computerinfrastruktur auskennt?  smile

Angewandte Informatik
  
Thema eröffnet von: gaussmath
Deep Learning Framework  
Beitrag No.3 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2017-08-02
gaussmath
 

Hallo kurtg,

danke, dass du ein wenig "Schwung" in den Thread bringst. Wie ich im Anfangsbeitrag erwähnt habe, möchte ich Zeitreihen analysieren. Ich habe auch noch nicht so richtig nach Literatur gesucht. Das Thema ist komplett neu für mich.

Grüße, Marc

Angewandte Informatik
  
Thema eröffnet von: gaussmath
Deep Learning Framework  
Beitrag No.1 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2017-07-30
gaussmath
 

Ich wage mal einen Push.

Technische Informatik
  
Thema eröffnet von: gaussmath
Quad Channel versus Dual Channel Interface  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2017-07-30
gaussmath
 

Hallo,

in welchen Speicherzugriffsszenarien ist eine höhere Bandbreite durch Quad Channel vorteilhaft? Welche Rolle spielt die CPU dabei?

Grüße, Marc

Angewandte Informatik
  
Thema eröffnet von: gaussmath
Deep Learning Framework  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2017-04-25
gaussmath
 

Hallo,

ich würde gerne Deep Learning näher kennen lernen. Hat jemand Erfahrung damit und kann mir ein entsprechendes Framework empfehlen?

Hier gibt eine Übersicht der scheinbar gängigsten Frameworks:
developer.nvidia.com/deep-learning-frameworks

Was mich hauptsächlich interessiert, wie spezialisiert diese Frameworks sind. Man liest häufig Bildverarbeitung und Sprache. Ich würde gerne eine möglichst flexible Lösung einsetzen. Mein erstes Projekt würde sich mit dem Erkennen von charakteristischen Stellen in Zeitreihen beschäftigen.

Grüße Marc
 

Sie haben sehr viele Suchergebnisse
Bitte verfeinern Sie die Suchkriterien

[Die ersten 20 Suchergebnisse wurden ausgegeben]
Link auf dieses Suchergebnis hier
(noch mehr als 20 weitere Suchergebnisse)

-> [Suche im Forum fortsetzen]
 
 

 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2019 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]

used time 0.077756