Lizzzzxff
10.09.2020 12:49
Алгебра
Есть ответ 👍

Найдите линейную функцию f(x), если на ней лежат точки с координатами (5;10) и (1; -4)

251
343
Посмотреть ответы 2

Ответы на вопрос:

Gabela01
4,5(31 оценок)

У меня есть координаты точки pos = (x, y), и мне нужно проверить, является ли она частью прямой, проходящей через две точки p1 = (x1, y1), p2 = (x2, y2). Формула, которую я использую, Y-y1 = ((x-x1)/(x2 - x1)) * (y2-y1), а код:

if pos[1] - p1[1] - 10 <= ((pos[0] - p1[0]) / (p2[0] - p1[0])) * (p2[1] - p1[1]) <= pos[1] - p1[1] + 10:

return True

Пока я тестировал его, я заметил, что прямая линия наклона противоположна. image

Я получил это, проверив каждую точку холста (используя tkinter):

p1 = (313, 215)

p2 = (92, 44)

for x in range(0, 400):

for y in range(0, 300):

if y - p1[1] - 5 <= ((x - p1[0]) / (p2[0] - p1[0])) * (p2[1] - p1[1]) <= y - p1[1] + 5:

canvas.create_oval(x, y, x, y)

Самая большая из них-это линия, которая представлена приведенным выше уравнением, нарисованная от руки-это то, что я хочу.

Я пытался также протестировать его на geogebra, но там все работает properly...what я missimg?

Источник

Matteo Secco

3 ответа

Ваша математика, кажется, верна, поскольку проблема заключается в интерпретации.

Во-первых, вы могли бы немного упростить математику:

x1,y1 = p1

x2,y2 = p2

m = (y2-y1)/(x2-x1)

def f(x): return y1 + m*(x-x1)

def test(x,y,tol = 10):

return abs(y-f(x)) <= tol

А потом просто используйте test(x,y) или test(*pol) .

Проблема в том, что в координатах холста увеличение y фактически перемещает вас вниз по холсту. В вашем примере данных линия нарисована правильно в том смысле, что отрезок линии, соединяющий точки холста (313, 215) и (92,44) , является убывающей линией.

Возможно, вы хотите построить точки как (x,300-y) , а не (x,y) .

John Coleman

сравните наклон любых соседних точек, имеющих одинаковый наклон. это может быть достигнуто путем сравнения наклона каждой пары последовательных точек

если есть три точки (x1, y1)(x2, y2)(x3,y3)

(y2-y1) (x3-x2) = (y3-y2) (x2-x1)

продолжайте по всем пунктам до завершения

Elluy
4,5(64 оценок)

Такгенс квадрат

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Алгебра

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS