Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Messkurve Toleranzband

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
17.01.2011, 15:27 Uhr
Martin3110



Hallo,

Ich möchte über eine Messkurve, die ich in meinem C-Programm erfasse ein Toleranzband legen.
Horcht sich irgendwie einfach an. Wert addieren bzw. subdrahieren --> fertig.

Leider ist das nich so einfach, da die Kurve eine gewisse Steigung/Winkel hat. Daher kann man zum Messwert die Toleranz addieren nicht nur in Y Richtung addieren. Sondern dies muss in Abhängigkeit zur Steigung geschehen. Wie mache ich das am einfachsten in C++. Aus der Mathematik weiß ich, dass man aus der ersten Ableitung (Kurvendiskusion) die Steigung einer Kurve erhält, aber wie macht man dann weiter.

Über jede Hilfe wäre ich dankbar.

Martin
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.01.2011, 16:15 Uhr
ao

(Operator)


Tut mir leid, aber ich verstehe diese Beschreibung nicht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.01.2011, 10:58 Uhr
~Martin3110
Gast


Wenn ich zum Beispiel eine Sinuskurve habe, macht es einen unterschied, ob man beim Maximum der Kurve in Y-Richtung die Toleranz dazuzählt oder beim Nulldurchgang.
Das entstehende Toleranzband wäre dann beim Maximumb breiter als beim Nulldurchgang.
Ich hoffe das ist jetzt so verständlicher.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.01.2011, 12:18 Uhr
ao

(Operator)


Nicht wirklich. Du steckst sehr tief in der Aufgabe drin, ich dagegen überhaupt nicht.

Erklär doch mal mit einfachen Worten, was das für eine "Messkurve" ist und was mit dem Toleranzband ausgedrückt werden soll. Messfehler? Die erlaubte Abweichung der Istkurve von einer vorgegebenen Sollkurve?

Bedenke bei deiner Erklärung, dass ich nicht sehen kann, was auf deinem Schreibtisch liegt.

Und: Was ist das C++-Problem dabei?

Dieser Post wurde am 18.01.2011 um 12:20 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.01.2011, 16:01 Uhr
~Martin3110
Gast


z.B.: Vielleicht hilft das zur Erklärung:

Code:
       ..................            
       |  ________  |    
       | |  _._._ _ | |      
       | | |        | | |          
       | | |        | | |          
.......| | |        | | |.....
__ __  | |        | |_______
_.._._._.|         |._._._._




Bearbeitung:
code-Tags eingefügt

Dieser Post wurde am 18.01.2011 um 16:40 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.01.2011, 16:02 Uhr
~Martin3110
Gast


z.B.: Vielleicht hilft das zur Erklärung:

Code:
       ..................            
       |  ____________  |    
       | |  _._._ ._  | |      
       | | |        | | |          
       | | |        | | |          
.......| | |        | | |.....
_________| |        | |_______
_._._._._._|        |._._._._





Bearbeitung:
code-Tags eingefügt

Dieser Post wurde am 18.01.2011 um 16:41 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
18.01.2011, 16:39 Uhr
Hans
Library Walker
(Operator)


@ao: ich glaube, das Toleranzband lässt sich am einfachsten mit einem dicken Pinsel vergleichen. Wenn man eine Kurve plottet, wünscht man sich ja normalerweise möglichst dünne Linien, um die Punkte genau erkennen zu können, so das man zu einem gegebenen x-Wert möglichst exakt einen zugehörigen y-Wert daraus ablesen kann. Wenn man nun mit einem dicken Pinsel an der Kurve entlang fährt, (wobei der Pinselmittelpunkt immer auf der Ideallinie der Kurve bleibt) dann ergibt sich eine sehr breite Linie, die die Eigenschaft hat, immer gleich Dick zu sein, wenn man die Strichbreite misst. Diese Strichbreite entspricht dem Toleranzband das er sucht.
Der Begriff Toleranzband findet sich auch in dem sehr langen Wikipediaartikel zum Regelkreis. Und ich vermute, das die Aufgabe hier auch irgendwas mit Regelungstechnik zu tun hat.

@Martin: Ich bin mir nicht sicher, ob es funktioniert, aber ich vermute folgendes führt weiter:
Die Steigung der Kurve im Punkt x gehört ja zu einer Tangente, die man dort an der Kurve anlegt. Wenn Du die Tangente als Vektor betrachtest und Deine Toleranz ebenfalls als Vektor betrachtest, der senkrecht auf der Tangente steht, dann sollte sich das Toleranzband durch Vektoraddition und -subtraktion um die Stelle x ergeben.

Hans


P.S. hat ein bisschen gedauert, diesen Beitrag zu verfassen. Hatte damit angefangen, bevor die Skizzen gepostet wurden, und erst noch ein paar Sachen mit gnu-plot ausprobiert...
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 18.01.2011 um 16:44 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
18.01.2011, 16:41 Uhr
Tommix



Hallo,
die Bilder habe ich nicht verstanden, aber möglicherweise den Text: Wenn die Toleranz z.B. +1 ist, soll die Kurve, wenn sie waagerecht ist 1 nach oben kopiert werden; bei einem Anstieg von 45° um eine Einheit in Richtung 135° (also -Wurzel(1/2) in x und + Wurzel(1/2) in y usw. Der Abstand der neuen und der alten Kurve soll konstant sein. Bei AutoCAD heißt das "versetzen":
AutoCAD 2010 für Architekten und Ingenieure
Ich würde, ohne das jetzt großartig durchdacht zu haben so angehen: Wenn Du den Anstiegswinkel an den ursprünglichen Punkten kennst, einfach 90° dazuaddieren, mit dem gewünschten Abstand als Radius aus Polarkoordinaten in karthesische umrechnen und das Ergebnis zum Ausgangspunkt addieren.

Gruß, Tommix


Bearbeitung:

Dank Hans kann man die Bilder doch erkennen.



Bearbeitung:
[edit Guybrush Threepwood]
Hab mal den Link angepasst damit er das Forum nicht verzerrt.


Dieser Post wurde am 19.01.2011 um 16:06 Uhr von Guybrush Threepwood editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
18.01.2011, 16:56 Uhr
ao

(Operator)



Zitat von Hans:
... ich vermute folgendes führt weiter:


Zitat von Tommix:
die Bilder habe ich nicht verstanden, aber möglicherweise den Text

Das mit dem senkrechten Vektor auf der Tangente klingt gut.

@Martin3110: Ist es das, was du suchst? Nur, damit wir wissen, ob wir richtig liegen ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
18.01.2011, 17:34 Uhr
ao

(Operator)



Zitat von Martin3110:
Wie mache ich das am einfachsten in C++. Aus der Mathematik weiß ich, dass man aus der ersten Ableitung (Kurvendiskusion) die Steigung einer Kurve erhält, aber wie macht man dann weiter.

Ist die Kurve denn als Funktionsgleichung gegeben, so dass man formal ableiten kann? Oder hat man nur diskrete Stützstellen oder Abtastwerte? Dann könnte man den rechts- und linksseitigen Differenzenquotienten bilden und arithmetisch mitteln. Das gibt eine gute Näherung, vorausgesetzt, die Funktion ist stetig und die Stützstellen sind dicht genug.

Kritisch wirds bei schmalen Peaks, die müsste man sich genauer ansehen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: