Odpowiedź :
Odpowiedź:
x_A=int(input('Podaj pierwszą współrzędną punktu A: '))
y_A=int(input('Podaj drugą współrzędną punktu A: '))
x_B=int(input('Podaj pierwszą współrzędną punktu B: '))
y_B=int(input('Podaj drugą współrzędną punktu B: '))
x_C=int(input('Podaj pierwszą współrzędną punktu C: '))
y_C=int(input('Podaj drugą współrzędną punktu C: '))
if x_A==x_B and x_A==x_C:
run='t'
elif x_A==x_B and x_A!=x_C:
if y_A==y_B:
run='t'
else:
run='n'
else:
a_AB=(y_B-y_A)/(x_B-x_A)
a_AC=(y_C-y_A)/(x_C-x_A)
if a_AB==a_AC:
run='t'
else:
run='n'
if run=='t':
if x_A<=x_C<=x_B or x_A>=x_C>=x_B:
if y_A<=y_C<=y_B or y_A>=y_C>=y_B:
print('\nPunkt C należy do odcinka AB.')
else:
print('\nPunkt C nie należy do odcinka AB')
else:
print('\nPunkt C nie należy do odcinka AB')
else:
print('\nPunkty A, B i C nie są współliniowe. W związku z tym, punkt C nie należy do odcinka AB.')
Wyjaśnienie:
Musimy sprawdzić dwa warunki:
- Czy punktu A, B i C są współliniowe.
- Czy współrzędne punktu C znajdują się pomiędzy współrzędnymi punktów A i B.
Ad. 1
Aby sprawdzić, czy punkty A, B i C są współliniowe, wystarczy sprawdzić, czy współczynniki kierunkowe prostych AB i AC są równe.
Współczynnik kierunkowy prostej AB, gdzie:
[tex]A(x_A,\ y_A),\ B(x_B,\ y_B)[/tex]
obliczamy ze wzoru:
[tex]a=\dfrac{y_B-y_A}{x_B-y_B}[/tex]
Ten skrypt z opisem znajduje się w zadaniu:
https://brainly.pl/zadanie/21723218
Ad. 2
Przyjmijmy:
[tex]A(x_A,\ y_A),\ B(x_B,\ y_B),\ C(x_C,\ y_C)[/tex]
Wówczas sprawdzamy, czy:
[tex]x_A\leq x_C\leq x_B\ \vee\ x_A\geq x_C\geq x_B[/tex]
oraz
[tex]y_A\leq y_C\leq y_B\ \vee\ y_A\geq y_C\geq y_B[/tex]