הצ'י שלובים זה בזה בקו ישר: הארובה נמצאת ב-vіdrіzkіv על השטוח. ציון נקודת המוט של שתי אלמנות

תן לי לתת לך שתי זריקות. עבודות ראשונות מנומרות P 1 (x 1; y 1)і P 2 (x 2; y 2). עבודות אחרות מנומרות P 3 (x 3; y 3)і P 4 (x 4; y 4).

ניתן להפוך את roztashuvannya vіdrіzkіv הדדי עבור יצירות וקטוריות נוספות:

בואו נסתכל על vіdrіzok P 3 P 4אני כתמים P1і P2.

נקודה, מנומר P1לשכב ביד שמאל בקו ישר P 3 P 4, עבור הטלוויזיה הווקטורית שלה v1 > 0, Oscilki וקטור עם אוריינטציה חיובית.
נקודה, מנומר P2 roztashovana יד ימין בקו ישר, עבור הווקטור שלה tvir v2< 0 , Oskilki וקטור עם אוריינטציה שלילית.

על מנת להצביע P1і P2שוכבים על צדדים שונים בקו ישר P 3 P 4, מספיק, כדי שהמוח היה מוכה v 1 v 2< 0 (וקטור ליצור סימנים קטנים).

mirkuvannya אנלוגי ניתן לבצע עבור vіdrіzka P 1 P 2אני מצביע P3і P4.

אוצה, יאקסכו v 1 v 2< 0 і v 3 v 4< 0 ואז הרוחות משתנות.

ייצור וקטור של שני וקטורים מחושב לפי הנוסחה:

de:
גַרזֶן, אה- קואורדינטות של הווקטור הראשון
bx, על ידי- קואורדינטות של וקטור אחר.

יישור של קו ישר, כדי לעבור דרך שתי נקודות שונות, הניתנות על ידי הקואורדינטות שלהן.

תנו שתי נקודות על קו ישר שאינן בורחות: P1עם קואורדינטות ( x1; y1)і P2עם קואורדינטות (x 2; y 2). וקטור Vіdpovіdno עם הקלח בנקודה P1ולסיים בנקודה P2עשוי לתאם (x 2 -x 1, y 2 -y 1). יאקשו P(x, y)- מספיק נקודה על הקו הישר, ואז הקואורדינטות של הווקטור P 1 Pשווה (x - x 1, y - y 1).

לעזרת היצירה הווקטורית של Umov, הקולינריות של הוקטורים P 1 Pі P 1 P 2אפשר לכתוב כך:
|P 1 P ,P 1 P 2 |=0, לאחר מכן. (x-x 1)(y 2 -y 1)-(y-y 1)(x 2 -x 1)=0
אוֹ
(y 2 -y 1)x + (x 1 -x 2)y + x 1 (y 1 -y 2) + y 1 (x 2 -x 1) = 0

הישאר שווה כדי לשכתב כך:
ax + by + c = 0, (1)
דה
a \u003d (y 2 -y 1),
b \u003d (x 1 -x 2),
c \u003d x 1 (y 1 -y 2) + y 1 (x 2 -x 1)

שוב, קו ישיר יכול להיות שווה לצורה (1).

איך לדעת את נקודת החיתוך של קווים ישרים?
ברור שהפתרון הוא לפתוח את מערכת השוויון של קווים ישרים:

ax 1 +by 1 =-c 1
ax 2 +by 2 =-c 2
(2)

סימן הזן:

כאן דהוא הפרימאט של המערכת, ו D x, D y- vyznachniki, yakі בתוצאה של החלפת stovptsya koefіtsієntіv במקרה של stovptsy לא ידוע של החברים החופשיים. יאקשו D ≠ 0אז המערכת (2) ברורה, אז יש רק פתרון אחד. אתה יכול לדעת את הפתרון מאחורי הנוסחאות הבאות: x 1 = D x / D, y 1 = D y / D, יאקי נקראות הנוסחאות של קריימר | קונספירציה קטנה, כמו וויזנצ'ניק מסדר אחר. לפקיד שני אלכסונים: ראש וצד. אלכסון הראש מורכב מאלמנטים שנלקחו מהקו הישר של הפינה השמאלית העליונה של השלט לפינה הימנית התחתונה. אלכסון צד - מימין למעלה לשמאל תחתון. המסמן של סדר אחר הוא הוספת אלמנטים באלכסון הראש פחות הוספת אלמנטים באלכסון הצד.

Krapka peretina ישר

תן לנו שני נתונים ישירים שניתנו על ידי המקדמים שלך ו. יש צורך לדעת את נקודת המפגש שלהם, אחרת אתה יכול להבין אילו מקבילים ישירות.

פִּתָרוֹן

כאילו שניהם לא מקבילים ישר, כל הסירחונים מתערבבים. כדי לדעת את נקודת החצייה, מספיק להרכיב מערכת קשרים משני קווים ישרים שווים:

הנוסחה של Koristuyuchisya Cramer, ברגע שאתה יודע את הפתרון של המערכת, תאהב ותהיה shukane נקודת חוצה:



כמו באנר של אפס, טובטו.

אז המערכת לא יכולה לפתור (ישר מַקְבִּילואל תברח) או עשוי להיות עשיר לאין ערוך (ישר לברוח). יש צורך להפריד בין שתי נקודות, יש צורך לשקול מחדש, מהם מקדמי הפרופורציות הישירות עם עצם מקדם המידתיות, שהוא מקדם הפרופורציות, שלגביהן יש צורך להגדיל את הפרופורציות של שני פרופורציות, כלומר לומר, זה מסריח עד אפס:

יישום

struct pt (כפול x, y;); קו מבנה (כפול a, b, c;); constdouble EPS=1e-9; double det (כפול a, כפול b, כפול c, כפול d) (החזר a * d - b * c;) bool מצטלבים (קו m, קו n, pt & res) (כפול zn = det (ma, mb, na , nb); if (abs(zn)< EPS)returnfalse; res.x=- det (m.c, m.b, n.c, n.b)/ zn; res.y=- det (m.a, m.c, n.a, n.c)/ zn;returntrue;} bool parallel (line m, line n){returnabs(det (m.a, m.b, n.a, n.b))< EPS;} bool equivalent (line m, line n){returnabs(det (m.a, m.b, n.a, n.b))< EPS &&abs(det (m.a, m.c, n.a, n.c))< EPS &&abs(det (m.b, m.c, n.b, n.c))< EPS;}

שיעור מהסדרה" אלגוריתמים גיאומטריים»

שלום קורא יקר.

פורדה 1: כיצד לדעת את הקואורדינטות והנקודות של צומת דרכים של שני קווים ישרים

בוא נכתוב שלוש פונקציות חדשות.

הפונקציה LinesCross() היא בעלת משמעות, לְנַסוֹת לְתַקֵןצ'י שני vіdrіzka. עבור אחד חדש, vіdrіzkіv vyznaєetsya roztashuvannya בעזרת יצירות וקטור. כדי למנות יצירות וקטוריות, בואו נכתוב את הפונקציה VektorMulti ().

הפונקציה RealLess() זמינה ליישום פעולת ההתאמה<” (строго меньше) для вещественных чисел.

משימה 1. שתי מסילות ניתנות לפי הקואורדינטות שלהן. חבר את התוכנית, איך אתה חותם עליה, צ'י הם רוחות צ'י כהות, לא יודע את נקודת השבירה.

פִּתָרוֹן
. עבודה אחרת מנומרת.



בואו נסתכל על vіdrіzok ta dot ta.

קראפקה שוכבת ביד שמאל בקו ישר, בשביל הווקטור שלה > 0, קנה מידה של וקטורים ובכיוון חיובי.

Krapka raztashovana יד ימין בקו ישר, עבור הווקטור שלה < 0, так как векторы отрицательно ориентированы.

כדי שהנקודות i ישכבו על צדדים שונים בקו ישר, זה מספיק, כדי שהמוח< 0 (векторные произведения имели противоположные знаки).

שיקוף אנלוגי יכול להתבצע עבור vіdrіzka כי הנקודה כי.

אוצה, יאקסכו ואז הרוחות משתנות.

לבדיקה צולבת, השתמש בפונקציה LinesCross() ולחישוב יצירות וקטוריות, השתמש בפונקציה VektorMulti() .

ax, ay - קואורדינטות של הווקטור הראשון,

bx, by - קואורדינטות של וקטור אחר.

תוכנית גיאומטריה4; (מהם 2 חוטים מעורבים?) Const _Eps: Real=1e-4; (הדיוק משתנה) var x1, y1, x2, y2, x3, y3, x4, y4: אמיתי; var v1,v2,v3,v4: real; function RealLess(Const a, b: Real): Boolean; (לפחות פחות) begin RealLess: = b-a> _Eps end; (RealLess)function VektorMulti(ax,ay,bx,by:real): אמיתי; (ax, ay - קואורדינטות a bx, by - קואורדינטות ב) להתחיל vektormulti: = ax * by-bx * ay; end;Function LinesCross(x1,y1,x2,y2,x3,y3,x4,y4:real): בוליאני; (באיזה טריזים משתלבים?) מתחילים v1:=vektormulti(x4-x3,y4-y3,x1-x3,y1-y3); v2:=vectormulti(x4-x3,y4-y3,x2-x3,y2-y3); v3:=vectormulti(x2-x1,y2-y1,x3-x1,y3-y1); v4:=vectormulti(x2-x1,y2-y1,x4-x1,y4-y1); if RealLess(v1*v2,0) ו-RealLess(v3*v4,0) (v1v2<0 и v3v4<0, отрезки пересекаются} then LinesCross:= true else LinesCross:= false end; {LinesCross}begin {main} writeln(‘Введите координаты отрезков: x1,y1,x2,y2,x3,y3,x4,y4’); readln(x1,y1,x2,y2,x3,y3,x4,y4); if LinesCross(x1,y1,x2,y2,x3,y3,x4,y4) then writeln (‘Да’) else writeln (‘Нет’) end.

תוצאות תוכנית התכנות:

הזן את הקואורדינטות של vіdrіzkіv: -1 1 2 2.52 2 1 -1 3
לכן.

כתבנו תוכנית, איך לעצב, צ'י גוון את החוטים, שנקבעו לפי הקואורדינטות שלהם.

ברמה המתקרבת, אנו מרכיבים אלגוריתם, שבעזרתו ניתן יהיה לקבוע איזו נקודה נמצאת באמצע הטריקתניק.

קורא סיכוי.

כבר למדתם הרבה לקחים מהסדרה "אלגוריתמים גיאומטריים". צ'י הכל כתוב? אני אהיה יותר ודיכאנה, אז אתה יכול למנוע ממני עצות לגבי השיעורים האלה. אולי, יש צורך לעשות יותר.

בכבוד, וירה גוספודר.

תן לי לתת לך שתי זריקות. עבודות ראשונות מנומרות P 1 (x 1; y 1)і P 2 (x 2; y 2). עבודות אחרות מנומרות P 3 (x 3; y 3)і P 4 (x 4; y 4).

ניתן להפוך את roztashuvannya vіdrіzkіv הדדי עבור יצירות וקטוריות נוספות:

בואו נסתכל על vіdrіzok P 3 P 4אני כתמים P1і P2.

נקודה, מנומר P1לשכב ביד שמאל בקו ישר P 3 P 4, עבור הטלוויזיה הווקטורית שלה v1 > 0, Oscilki וקטור עם אוריינטציה חיובית.
נקודה, מנומר P2 roztashovana יד ימין בקו ישר, עבור הווקטור שלה tvir v2< 0 , Oskilki וקטור עם אוריינטציה שלילית.

על מנת להצביע P1і P2שוכבים על צדדים שונים בקו ישר P 3 P 4, מספיק, כדי שהמוח היה מוכה v 1 v 2< 0 (וקטור ליצור סימנים קטנים).

mirkuvannya אנלוגי ניתן לבצע עבור vіdrіzka P 1 P 2אני מצביע P3і P4.

אוצה, יאקסכו v 1 v 2< 0 і v 3 v 4< 0 ואז הרוחות משתנות.

ייצור וקטור של שני וקטורים מחושב לפי הנוסחה:

de:
גַרזֶן, אה- קואורדינטות של הווקטור הראשון,
bx, על ידי- קואורדינטות של וקטור אחר.

יישור של קו ישר, כדי לעבור דרך שתי נקודות שונות, הניתנות על ידי הקואורדינטות שלהן.

תנו שתי נקודות על קו ישר שאינן בורחות: P1עם קואורדינטות ( x1; y1)і P2עם קואורדינטות (x 2; y 2).

רשתית ישרה

וקטור Vіdpovіdno עם הקלח בנקודה P1ולסיים בנקודה P2עשוי לתאם (x 2 -x 1, y 2 -y 1). יאקשו P(x, y)- מספיק נקודה על הקו הישר, ואז הקואורדינטות של הווקטור P 1 Pשווה (x - x 1, y - y 1).

לעזרת היצירה הווקטורית של Umov, הקולינריות של הוקטורים P 1 Pі P 1 P 2אפשר לכתוב כך:
|P 1 P,P 1 P 2 |=0, לאחר מכן. (x-x 1)(y 2 -y 1)-(y-y 1)(x 2 -x 1)=0
אוֹ
(y 2 -y 1)x + (x 1 -x 2)y + x 1 (y 1 -y 2) + y 1 (x 2 -x 1) = 0

הישאר שווה כדי לשכתב כך:
ax + by + c = 0, (1)
דה
a \u003d (y 2 -y 1),
b \u003d (x 1 -x 2),
c \u003d x 1 (y 1 -y 2) + y 1 (x 2 -x 1)

שוב, קו ישיר יכול להיות שווה לצורה (1).

איך לדעת את נקודת החיתוך של קווים ישרים?
ברור שהפתרון הוא לפתוח את מערכת השוויון של קווים ישרים:

ax 1 +by 1 =-c 1
ax 2 +by 2 =-c 2
(2)

סימן הזן:

כאן דהוא הפרימאט של המערכת, ו D x, D y- vyznachniki, scho לבוא לאחר החלפת המקדמים עבור החבר הכי חסר יכולת של החברים החופשיים. יאקשו D ≠ 0אז המערכת (2) ברורה, אז יש רק פתרון אחד. אתה יכול לדעת את הפתרון מאחורי הנוסחאות הבאות: x 1 = D x / D, y 1 = D y / D, יאקי נקראות הנוסחאות של קריימר | קונספירציה קטנה, כמו וויזנצ'ניק מסדר אחר. לפקיד שני אלכסונים: ראש וצד. אלכסון הראש מורכב מאלמנטים שנלקחו מהקו הישר של הפינה השמאלית העליונה של השלט לפינה הימנית התחתונה. אלכסון צד - מימין למעלה לשמאל תחתון. המסמן של סדר אחר הוא הוספת אלמנטים באלכסון הראש פחות הוספת אלמנטים באלכסון הצד.