Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mathematik f(x) = ax + b (https://www.delphipraxis.net/6525-mathematik-f-x-%3D-ax-b.html)

Gast 14. Jul 2003 08:27


Mathematik f(x) = ax + b
 
Hallo Abiturienten 8) ,

Ich habe zwei bekannte Punkte P1(x1,y1) und P2(x2,y2)

Aus dieser zwei Punkten kann man die Gleichung einer Gerade:

f(x) = ax + b

ausrechnen

Hat jemand eine Routine die mir die Werte „a“ und „b“ ausrechnet?

Also z.B. P1(3,-6) und P2(2,1)... gesucht a? und b :shock: ?

Darüber hinaus würde mich auch über Berechnung des Abstandes zwischen P1 und P2 freuen :shock:


Gruß

Paul Jr.


P.S.
Es ist schon lange her, als ich das noch in der Schule gelernt habe :oops:

Sanchez 14. Jul 2003 09:16

Re: Mathematik f(x) = ax + b
 
Hallo erstmal,

sollte so gehen (ist aber ungetestet)

Delphi-Quellcode:
procedure CalcGerade (x1,x2,y1,y2 : double );
var xdiff : double;
begin
  xdiff := x2 - x1;
    if xdiff <> 0 then begin
      gr_k := (y2 - y1) / xdiff;
      gr_d := y2 - gr_k * x2;
    end;
  end;
end;
jetzt hast du deine gerade: f(x) = gr_k x + gr_d

grüße, daniel

Dagon 14. Jul 2003 09:16

Re: Mathematik f(x) = ax + b
 
Hallo

Das ist eigentlich ganz simpel:

Es gilt folgendes: f(x)=(y2-y1)/(x2-x1)*x + b.
Wenn du jetzt z.B x1 für x und y1 für y setzt erhältst du im Beispiel:
-6 = ((-6)-1)/(3-2) * 3 + b
nach b umgeformt: b = (-6)-(((-6)-1)/(3-2) * 3).

Den Abstand der beiden Punkte berechnest du über den Satz des Pythagoras:
Abstand = (x2-x1)^2 + (y2-y1)^2

Luckie 14. Jul 2003 09:26

Re: Mathematik f(x) = ax + b
 
Die Steigung wird im Allgemeinen mit m abgekürzt:

Code:
m = (y1 - y 2) / (x1 - x2)  // Punktsteigungsformel
Code:
b = (-y1*x2+x1/y2) / (-x2+x1)
Aber selbst das läßt sich mit Google finden bzw. sollte ihn jeder Formelsammlung stehe. :roll:

Gast 14. Jul 2003 10:04

Re: Mathematik f(x) = ax + b
 
Danke Daniel, Danke Master, Danke Luckie

Toll :D

Gruß

Paul Jr.

Niko 14. Jul 2003 14:38

Re: Mathematik f(x) = ax + b
 
Zitat:

Zitat von the_master
Abstand = (x2-x1)^2 + (y2-y1)^2

Das ergibt das Quadrat des Abstands. Für den Abstand selbst muss man noch die Wurzel aus dem Ganzen ziehen.

Gast 15. Jul 2003 07:04

Re: Mathematik f(x) = ax + b
 
Danke Niko :D

ich hätte da noch eine Frage:

y = ax + b

wie kann ich den Winkel bei bekanntem „a“ ausrechnen bzw. weiß ich nicht mehr die Umrechnung...

also z.B. für a = 1 weiß man dass es sich hier um Winkel von 45 Grad handelt...nun wie bekomme ich es rechnerisch?...

Also ich brauche eine Funktion die als Parameter die Steigung „a“ bekommen sollte und als Ergebnis Winkel liefern sollte...

Gruß

Paul Jr.

Luckie 15. Jul 2003 07:29

Re: Mathematik f(x) = ax + b
 
Du willst den Steigungswinkel der Geraden?

Na dann überleg doch mal. Da kommst du auch selber drauf. Als kleien Hilfe mach dir mal ein Skizze:
Code:
           |     /
           |    /|
           |   / |
           |  /a_|
           | /
           |/_______
Ich habe da mal ein Steigungsdreieck reingezeichent. Wenn du jetzt zwei Punkte geben* hast, sind die Katheden des Steigungsdreieckes bekannt. Den Winkel den du jetzt suchst, ist der Tangens des Winkels a.

*) Hast du keine zwei Punkte gegeben aber die Geradengleichung, mußt du sie dir vorher ausrechen, was kein Problem sein sollte.

Gast 15. Jul 2003 07:34

Re: Mathematik f(x) = ax + b
 
Hallo Luckie :D

Toll

ich möchte den Winkel zwischen X-Achse und Gerade f(x) = ax + b

Also z.B. f(x) = x + 3 müsste Result = 45 Grad sein da a = 1 à f(x) = 1 * x + 3

Gruß

Paul Jr.

Jazz 15. Jul 2003 07:34

Re: Mathematik f(x) = ax + b
 
Ich sag da nur Winkelfunktionen: sin, cos und tan; Kathete, Ankathete und Hypothenuse...
Schau mal in deiner Formelsammlung. Müsstest du so in der 10. Klasse gemacht haben.

Gast 15. Jul 2003 07:46

Re: Mathematik f(x) = ax + b
 
Hallo Jazz :D

leider konnte ich nur die Hauptschule besuchen (und leider ohne Abschluss).

Wie ich sehe hast Du die 10-te Klasse schon hinter sich... Also bitte, bitte hilf mir

Danke im Voraus :lol:

Paul Jr.

Luckie 15. Jul 2003 07:50

Re: Mathematik f(x) = ax + b
 
Zitat:

Zitat von Paul Jr.
ich möchte den Winkel zwischen X-Achse und Gerade f(x) = ax + b

Und was meinst du ist, das für ein Winkel den ich mit "a" eingezeichnet habe? :roll:

Gast 15. Jul 2003 07:54

Re: Mathematik f(x) = ax + b
 
Klar Luckie 8)

aber ich brauche NUR die Umrechnung also:

function xWinkel(a : Double) : Double;
begin
(…)
end;

für a = 1 muss Result = 45 sein.

Wenn Du die mathematische Formel hast hätte mir auch gereicht...

Gruß

Paul Jr.

Luckie 15. Jul 2003 08:23

Re: Mathematik f(x) = ax + b
 
Code:
tangens = Gegenkathede / Ankathede
Und wenn du dir das genau ankuckst, dann wirst du festellen das m (siehe mein erstes Post) schon das Gesuchte ist. Du brauchst den Werrt nur noch mit der Umkehrung der Tangesn-Funktion in einen Gradwert umwandeln.

Gast 15. Jul 2003 08:35

Re: Mathematik f(x) = ax + b
 
Ich habe nicht mal Kraft zu lachen...

Ich passe....


Gruß

Paul Jr.

Luckie 15. Jul 2003 08:54

Re: Mathematik f(x) = ax + b
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(FloatToStr(RadToDeg(arctan(1.0))));
end;
Für 1.0 einfach die Steigung m einsetzen. Und wie du die bekommst habe ich dir ja erklärt.

Sanchez 15. Jul 2003 09:01

Re: Mathematik f(x) = ax + b
 
Hier hast du ein rechtwinkeliges Dreieck:

Code:

             Hypothenuse  
           |  |  / 
           |  | /| 
           |   / | Gegenkathete
           |  /a_| 
           | / Ankethete
           |/_______
für das Dreieck gilt:


Code:
sin a  = Gegenkathete / Hypothenuse

oder auch

cos a  = Ankathete / Hypothenuse
also ist a:

Code:
a = asin ( Gegenkathete / Hypothenuse)

oder auch

a = acos ( Ankathete / Hypothenuse)
... was Luckie eigentlich ohnehin schon beschrieben hat.

grüße, daniel

Gast 15. Jul 2003 09:08

Re: Mathematik f(x) = ax + b
 
Hallo Daniel, 8)

Danke!
________________________________

Hallo Luckie !!! 8)

Das wollte ich vom Anfang an.

Natürlich weiß ich wie man eine Grade f(x) = ax + b mathematisch interpretieren sollte.


Mir fehlte NUR die FORMEL !!!


Toll!!!!!!!!!! und Danke !!!!!!!!!!!1 :D


Gruß

Paul Jr.

Gast 21. Jul 2003 14:09

Re: Mathematik f(x) = ax + b
 
Weiß es noch jemand wie kann ich, wenn ich jeweils zwei Punkte zwei Geraden habe:

Gerade 1 --> (x1,y1) (x2,y2)
Gerade 2 --> (x3,y3) (x4,y4)

wie ich der Schnitt-Punkt berechne?

Ich brauche nur die Umrechnung...

Wie man schon bemerkt hat... bin ich nicht mehr der helste... und darüber
hinaus verfüge ich schon lange nicht mehr über Mathe-Bücher...

Diese werde ich mir jedoch bald zulegen müssen...

Es ist bestimmt für manche von Euch nicht schwer es umzurechnen
da wie ich weiß gibts hier viele talentierter Mathematiker...

Also...hab Verständis bitte... da mir schon genug peinlich ist... :oops:

Gruß

Paul Jr.

Luckie 21. Jul 2003 14:24

Re: Mathematik f(x) = ax + b
 
Der Schnittpunkt hat die Eigenschaft, dass er sowohl zu der einen Geraden, als auch zu der anderen gehört. Jetzt kannst du dir entweder eine lineares Gleichungsystem zusammenstellen aus den beiden Geradengleichungen und dieses lösen oder du setzt die Geradengleichungen gleich:
Code:
f1(x) = f2(x)
m1*x+b1 = m2*x+b2
Löst dieses nach x auf, setzt x in eine Gleichung ein und rechnest dir y aus. Dann hast du deinen Schnittpunkt. Sollte am Ende 0=0 rauskommen, so schneiden sich die Geraden nicht, weil sie parallel verlaufen.

Gast 21. Jul 2003 14:53

Re: Mathematik f(x) = ax + b
 
... und Lösung

von f(x) = ax^2

sind die Schnittpunkte mit x-Achse (bei a >0)...usw...

Toll hast mir sehr geholfen... und diese Kindgerechte Erläuterungen

sind genau das was ich jetzt noch brauche...

Luckie 21. Jul 2003 14:58

Re: Mathematik f(x) = ax + b
 
Die Nullstellen bekommst du aber einfacher. was hat denn eine Nullstelle (Schnitpunkt mit der x-Achse) für eine Eigenschaft? Richtig der y-Wert ist Null. Ergo:
Code:
0 = mx^2
nach x auflösen und du hast deine Nulstelle(n).

Gast 21. Jul 2003 20:47

Re: Mathematik f(x) = ax + b
 
Hallo 8) ,

also ich habe mir jetzt ein Mathe Buch gekauft.

Dort fand ich folgende Zweipunkteform:

Die Zweipunkteform für eine Gerade durch die Punkte (x1, y1) und (x2,y2) sieht wie folgt aus (falls x1 ungleich x2):

I.) ( y - y1) / (x – x1) = (y2 – y1) / (x2 – x1)

Entsprechend für zweite Gerade durch die Punkte (x3,y3) und (x4,y4)

II.) ( y – y3) / (x – x3) = (y4 – y3) / (x4 – x3)

Es gilt den Schnittpunkt (x,y) auszurechnen... also habe es wie folgt versucht:

Aus der ersten Gleichung ergibt sich y wie folgt:

I.) y = [(y2 – y1) / (x2 – x1) ] * (x – x1) + y1

Aus der zweiten Gleichung ist x gleich :

II.) x = { [(y – y3) / (y4 – y3)] * [(x4 – x3)/(y4 – y3)] } + x3

Bis jetzt habe ich es geschafft… und wie ich hoffe ohne Fehler (?)

Jetzt gilt die so ausgerechnete X aus der zweiten Gleichung in die erste einzusetzen und daraus Y ausrechnen.

Ab hier weiß ich leider nicht mehr...dh. wie bekomme ich jetzt „sauber die Y“ heraus.

Vielleicht weiß es jemand von Euch?... oder gibt mir ganz einfach einen Tipp wo ich gute Mathe-Forum finde...

Gruß

Paul Jr.

Kamikazedog 21. Jul 2003 21:21

Re: Mathematik f(x) = ax + b
 
Winkel einer Geraden ausrechnen:

Code:
function Winkel(x1,x2,y1,y2: Double): Double;
begin
  If (x2-x1) <> 0 Then
    Result := arctan((y2-y1)/(x2-x1))
    //im Gradmaß:
    //Result := arctan((y2-y1)/(x2-x1))*180/Pi
  Else
    Result := Pi;
    //im Gradmaß:
    //Result := 90;
end;
So erhältst du den Winkel der Gerade zur X-Achse im Bogen- bzw. Gradmaß! Is doch ganz easy :coder:

Cu @ all
Thomas

Kamikazedog 21. Jul 2003 21:55

Re: Mathematik f(x) = ax + b
 
So, jetzt der Schnitt zweier Geraden:

Code:
procedure TForm1.Schnittpunkt(x1,x2,x3,x4,y1,y2,y3,y4: Double);
var s1,s2,a1,a2: Double;
begin
  If x1<>x2 Then
   s1 := (y2-y1)/(x2-x1)
  Else
   s1 := Pi;
  If x3<>x4 Then
   s2 := (y4-y3)/(x4-x3)
  Else
   s2 := Pi;
  a1 := y1 - s1 * x1;
  a2 := y2 - s2 * x2;
  x := (a2 - a1) / (s1 - s2);
  y := (s1 * a2 - s2 * a1) / (s1 - s2);
end;
Ich geb zwar keine Garantie, sollte aber trotzdem stimmen

Cu @ all
Thomas 8)

Hansa 21. Jul 2003 23:59

Re: Mathematik f(x) = ax + b
 
Hi Paul Jr., ähmmm,

Du brauchst doch nur in einer der Formeln für das x die Formel vom y einzusetzen. Und dann machst Du einfach weiter. Das schafft ein Kind bereits. :mrgreen:

Gast 22. Jul 2003 06:56

Re: Mathematik f(x) = ax + b
 
Hallo Thomas :lol:

Danke, Danke... sieht Prima aus!

Sollte es nicht laufen werde ich mich hier melden.

Suppper!

Gruß

Paul Jr.

P.S.

Hi Hansa 8) ,

Y hast Du dann auf der linken und auf der rechten Seite...dies hast Du leider übersehen...

Gruß

Paul Jr.

Gast 23. Jul 2003 10:35

Re: Mathematik f(x) = ax + b
 
Hallo 8) ,

Ich werde diese Geometrie nicht los... :mrgreen:

Diesmal ist das eher logische Aufgabe.

Ich weiß, dass sich drei Punkte auf einer Gerade befinden.
Diese Gerade ist durch zwei Punkte (x1,y1) und (x2,y2) definiert.

Ich muss jetzt feststellen ob sich der dritte Punkt (x,y) der auch an dieser gerade liegt
GENAU zwischen den Punkten (x1,y1) und (x2,y2) befindet.

Code:
function CheckPoint(x1,y1,x2,y2, x, y) : Boolean;
begin
  Result := FALSE ;

(…)
(…)
end ;
Wüsste jemand diese Funktion zu vervollständigen ? :shock:

Mit freundlichen Grüßen

Paul Jr.

Mirilin 23. Jul 2003 11:10

Re: Mathematik f(x) = ax + b
 
Delphi-Quellcode:
function CheckPoint(x1,y1,x2,y2, x, y : Integer) : Boolean;
begin
  Result := (x2-x=x-x1) and (y2-y=y-y1);
end;
würd ich mal sagen

Sharky 23. Jul 2003 11:13

Re: Mathematik f(x) = ax + b
 
Hai Paul,

wenn Du weisst das der dritte Punkt auf der geraden liegt reichen Dir die x-Koordinaten der drei Punkte:

Code:
function CeckPoint (x1,x2,x:Integer) : Boolean
begin
 result :=((x2-x1)/2) = (x-x1);
end;

Wenn ich mich nicht verrechnet habe war es das.

Gast 23. Jul 2003 11:16

Re: Mathematik f(x) = ax + b
 
Hi Sharky :lol:

und wenn dann solche gerade ist:

f(x) = 2

Gruß

Paul Jr.

Gast 23. Jul 2003 11:22

Re: Mathematik f(x) = ax + b
 
Und noch was Sharky...

dazwieschen bedeutet nicht das er sich in der Mitte befindet..

Gruß

Paul Jr.

Sharky 23. Jul 2003 11:28

Re: Mathematik f(x) = ax + b
 
Zitat:

Zitat von Paul Jr.
...und wenn dann solche gerade ist:
f(x) = 2
...

Das ist keine Gerade :lol:

Zu dem anderen Posting:

Sorry, ich dachte Du wolltest wissen ob er genau in der Mitte zwichen den beiden Punkten liegt.

Hansa 23. Jul 2003 11:34

Re: Mathematik f(x) = ax + b
 
Zitat:

Zitat von Paul Jr.
Ich muss jetzt feststellen ob sich der dritte Punkt (x,y) der auch an dieser gerade liegt
GENAU zwischen den Punkten (x1,y1) und (x2,y2) befindet.

Ich nehm Dich beim Wort :!: 3 Punkte liegen also definitiv auf der Greraden ??? :lol:

Code:
function CheckPoint(x1,y1,x2,y2, x, y) : Boolean;
begin
  Result := (x > x1) and (x < x2) and y>y1) and (y<y2);
(…)
(…)
Hats Du nicht ZWISCHEN sonder AUF der Geraden gemeint mußt Du mit >= <= hantieren. 8)

Gast 23. Jul 2003 12:06

Re: Mathematik f(x) = ax + b
 
Hallo Hansa :D

zuerst vielen Dank

...aber mein weiß nicht ob x2 > x1 und auch ob y2 > y1...

Gruß

Paul Jr.

Hansa 23. Jul 2003 12:13

Re: Mathematik f(x) = ax + b
 
Hi PaulJr,

verstehe zwar nicht, was Du meinst, aber die Formel stimmt sowieso nicht. Glaube zumindest. :mrgreen: Leider muß ich jetzt weg. :lol:

Dagon 23. Jul 2003 12:52

Re: Mathematik f(x) = ax + b
 
eigentlich müsste man die y-werte garnicht checken. wenn der dritte punkt zwischen den beiden anderen liegt genügt es, die x-werte zu vergleichen, da y = f(x) ist.
also:
Delphi-Quellcode:
Result := (x > x1) and (x < x2)

Hansa 23. Jul 2003 12:57

Re: Mathematik f(x) = ax + b
 
Stimmt, habe PaulJr nicht genau beim Wort genommen. :lol: Das reicht ja schon und mit meiner Formel wär es auch gegangen. 8)

Gast 23. Jul 2003 13:00

Re: Mathematik f(x) = ax + b
 
Meine Herren :D

f(x) = 2

bedeutet das eine Gerade paralel zu der Y- Achse ist... und somit für jeder Punkt gleiche X-Werte besitzt.

Im übrigen weiß man nicht ob x1,y1 höher liegt als x2,y2
und somit weiß man nicht ob x2 > x1

Gruß und Danke für die Versuche :D

Paul Jr.

Hansa 23. Jul 2003 13:12

Re: Mathematik f(x) = ax + b
 
Zitat:

Zitat von Paul Jr.
Meine Herren :D

f(x) = 2

bedeutet das eine Gerade paralel zu der Y- Achse ist... und somit für jeder Punkt gleiche X-Werte besitzt.

Mein Herr 8) , F (x) ist der Funktionswert in Abhängigkeit von x. Ist das gleich 2, so heißt das : die Funktion hat überall den Wert 2 und verläuft somit in "Höhe" 2 parallel über der x - Achse, nicht der Y- Achse :!: Eine Funktion ist definiert dadurch, daß sie keine zwei gleichen X-Werte haben kann. Würde sie verlaufen, wie du vermutest, also genau senkrecht bei x = 2, wäre es keine Funktion. Alles aber ohne Gewähr. 8) :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:28 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz