Как найти координату точки зная длину отрезка

Есть координаты двух точек, образующих отрезок, известна длина отрезка (например, 141), как найти координаты точки на этом отрезке, которая находится на определенной длине отрезка (например, 23)?

Например точки с координатами
x1 = 100, y1 = 0
x2 = 0, y2 = 100
Длина отрезка составит 141
А теперь как найти точку, которая лежит на этом отрезке, где его длина составит 23, т.е точка, которая внутри этого отрезка?

Имеем отрезок AB с координатам x1,y1 и x2, y2:

Необходимо найти координаты новой точки С, которая находится на отрезке, на определенном расстоянии от точки A.

1

PHP-функция

$x1, $y1 – координаты точки A,
$x2, $y2 – координаты точки B,
$d – расстояние от точки A до точки C.

function pointToLine($x1, $y1, $x2, $y2, $d)
{
	$Rab = sqrt(pow($x2 - $x1, 2) + pow($y2 - $y1, 2));
	$k = $d / $Rab;
	$Xc = $x1 + ($x2 - $x1) * $k;
	$Yc = $y1 + ($y2 - $y1) * $k;
	return array('x' => $Xc, 'y' => $Yc);
}

PHP

2

JS-функция

function pointToLine(x1, y1, x2, y2, d)
{
	var Rab = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
	var k = d / Rab;
	var Xc = x1 + (x2 - x1) * k;
	var Yc = y1 + (y2 - y1) * k;
	return {x: Xc, y: Yc};
}

JS

3

Координата точки на отрезке онлайн

У меня есть отрезок с известными координатами концов. На этом отрезке есть точка. Я знаю расстояние от начала отрезка до этой точки. Мне надо найти координаты этой точки. Как найти эти координаты?

Пример: Есть 2 точки А(3,3) и В(6,4). Длина отрезка примерно 3,16. И есть точка С(?,?) на отрезке. Как найти координаты, если от А до С =1,8 ???

Dmytro's user avatar

Dmytro

6,7011 золотой знак20 серебряных знаков55 бронзовых знаков

задан 3 мар 2016 в 20:40

Andryxa's user avatar

4

Имеется отрезок AB с координатами A(Xa, Ya) и B(Xb, Yb).
Требуется найти координаты точки C(Xc, Yc), лежащей на отрезке AB на расстоянии Rac от точки A.

Rab = sqrt((Xb - Xa) ^ 2 + (Yb - Ya) ^ 2)
k = Rac / Rab
Xc = Xa + (Xb - Xa) * k
Yc = Ya + (Yb - Ya) * k

Обозначения:
f ^ n — возведение f в степень n, в нашем случае (первом) f будет Xb - Xa и n будет 2.
sqrt(f) — квадратный корень из f, в нашем случае f будет (Xb - Xa) ^ 2 + (Yb - Ya) ^ 2.
f / n — деление f на n, в нашем случае f будет Rac и n будет Rab.
f * n — умножение f на n, в нашем случае (первом) f будет Xb - Xa и n будет k.

Mark Khromov's user avatar

ответ дан 4 мар 2016 в 6:54

Konstantin Les's user avatar

Konstantin LesKonstantin Les

1,5388 серебряных знаков12 бронзовых знаков

2

Алгоритм без кода (довольно элементарный):

Имеем:
Две точки A, B; len — расстояние от точки А до требуемой точки C

full_len = |B - A| // длина вектора, соединяющего две точки == длина отрезка
C = A + (B - A) * (len / full_len)

Сложение векторов и умножение на число — очевидные операции.

ответ дан 3 мар 2016 в 20:56

int3's user avatar

int3int3

2,4579 серебряных знаков19 бронзовых знаков

8

nodet — точка конец вектора, в твоем случае точка b
nodef — точка начало вектора, в твоем случае точка a

dx = nodet.x - nodef.x 
dy = nodet.y - nodef.y 
dz = nodet.z - nodef.z
r = math.sqrt(dx ** 2 + dy ** 2 + dz ** 2) 
xx = dx * (step/r) 
yy = dy * (step /r)
zz = dz * (step /r)
newnode = node(nodef.x + xx,nodef.y + yy,nodef.z + zz)

newnode — новая точка на заданом расстоянии

ответ дан 12 ноя 2019 в 16:31

qvuer7's user avatar

qvuer7qvuer7

113 бронзовых знака

  • keeper81

Как найти координаты точки?

Дан отрезок и даны его координаты X1,Y1,0 — и его длина как найти координаты X2,Y2,0 ?
угол 90, 0 это Z. Эта задача для плоскости.
Задача у меня возникла в прямоугольном треугольнике, где известны координаты вершин, а та прямая о которой я говорю — это один из катетов
Просто уточню — также известны длины второго катета, ну и соответственно гипотенузы. И известны координаты катета(там где угол 90 — у основания) и известны координаты гипотенузы(которые у осинования). мне нужны координаты второго катета(которые против основания — на той же прямой, что образует 90).


  • Вопрос задан

    более трёх лет назад

  • 1689 просмотров

Перечитав ваш вопрос раз 5, вроде бы уловил его смысл. Как я понял, есть прямоугольный треугольник ABC (В – прямой угол). Известны длины всех сторон, координаты на плоскости вершин B и C. Надо найти координаты вершины A:
b2a77ced1a7c4a0f843ceb13df42f697.png
При таких условиях задача имеет два решения: точка с одной или с другой стороны от прямой BC (на рисунке – сверху или снизу, под BC)

Надо взять вектор BC, повернуть его на 90° (в одну или в другую сторону), и длину разделить на bc и умножить на ab:

x = Bx - ab * (Cy - By) / bc
y = By + ab * (Cx - Bx) / bc
// в другую сторону:
x = Bx + ab * (Cy - By) / bc
y = By - ab * (Cx - Bx) / bc

Я плохо понял, что надо сделать. Но попробую.
1. Переведи известный катет в вектор: (X3−X1, Y3−Y1).
2. Поверни его на 90° в нужную сторону. Например, x’=y, y’=−x.
3. Приведи к нужной длине (теорема Пифагора). Получился вектор-катет.
4. Прибавив вектор-катет к вершине (X1, Y1), получаем второй конец.

Пригласить эксперта


  • Показать ещё
    Загружается…

28 мая 2023, в 21:13

400 руб./за проект

28 мая 2023, в 20:51

10000 руб./за проект

28 мая 2023, в 19:46

500 руб./за проект

Минуточку внимания


Загрузить PDF


Загрузить PDF

Найти длину вертикального или горизонтального отрезка на координатной плоскости можно с помощью координат, а вот сделать это с диагональным отрезком сложнее. Длину диагонального отрезка можно вычислить по формуле, которая основана на теореме Пифагора, где гипотенузой прямоугольного треугольника является наш диагональный отрезок.[1]
С помощью этой формулы можно быстро найти длину любого отрезка на координатной плоскости.

  1. Изображение с названием Use Distance Formula to Find the Length of a Line Step 1

    1

    Запишите формулу для вычисления длины. Формула: d={sqrt  {(x_{{2}}-x_{{1}})^{{2}}+(y_{{2}}-y_{{1}})^{{2}}}}, где d — длина отрезка, (x_{{1}},y_{{1}}) — координаты начальной точки отрезка, (x_{{2}},y_{{2}}) — координаты конечной точки отрезка.[2]

  2. Изображение с названием Use Distance Formula to Find the Length of a Line Step 2

    2

    Найдите координаты точек отрезка. Возможно, они будут даны. Если нет, найдите их по осям Х и Y.[3]

  3. Изображение с названием Use Distance Formula to Find the Length of a Line Step 3

    3

    Подставьте координаты в формулу. Будьте внимательны и подставьте значения соответствующих переменных. Две координаты x должны находится внутри первой пары скобок, а две координаты y — внутри второй пары скобок.[4]

    Реклама

  1. Изображение с названием Use Distance Formula to Find the Length of a Line Step 4

    1

    Выполните вычитание в скобках. Сделайте это, потому что операции в скобках имеют приоритет.[5]

  2. Изображение с названием Use Distance Formula to Find the Length of a Line Step 5

    2

    Возведите в квадрат полученные значения. В нашем случае возведение в степень — это вторая по важности операция.[6]

  3. Изображение с названием Use Distance Formula to Find the Length of a Line Step 6

    3

    Сложите числа под знаком корня. Делайте вычисления так, как будто работаете с целыми числами.

  4. Изображение с названием Use Distance Formula to Find the Length of a Line Step 7

    4

    Вычислите длину отрезка d. Для этого извлеките корень из полученной суммы чисел.

    Реклама

Советы

  • Не путайте эту формулу с другими, например, с формулой для вычисления углового коэффициента или с линейным уравнением.
  • Помните о порядке выполнения математических операций. Сначала вычтите, затем возведите в квадрат, затем сложите, а затем извлеките квадратный корень.

Реклама

Об этой статье

Эту страницу просматривали 24 709 раз.

Была ли эта статья полезной?

Понравилась статья? Поделить с друзьями:
  • Как люди нашли русалку
  • Как найти энергосберегающее приложение
  • Как найти обеспеченную женщину спонсора
  • Как найти определенную строку в word
  • Как найти сумму натуральных чисел в паскале