Есть координаты двух точек, образующих отрезок, известна длина отрезка (например, 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
6,7011 золотой знак20 серебряных знаков55 бронзовых знаков
задан 3 мар 2016 в 20:40
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
.
ответ дан 4 мар 2016 в 6:54
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
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
qvuer7qvuer7
113 бронзовых знака
Как найти координаты точки?
Дан отрезок и даны его координаты X1,Y1,0 — и его длина как найти координаты X2,Y2,0 ?
угол 90, 0 это Z. Эта задача для плоскости.
Задача у меня возникла в прямоугольном треугольнике, где известны координаты вершин, а та прямая о которой я говорю — это один из катетов
Просто уточню — также известны длины второго катета, ну и соответственно гипотенузы. И известны координаты катета(там где угол 90 — у основания) и известны координаты гипотенузы(которые у осинования). мне нужны координаты второго катета(которые против основания — на той же прямой, что образует 90).
-
Вопрос заданболее трёх лет назад
-
1689 просмотров
Перечитав ваш вопрос раз 5, вроде бы уловил его смысл. Как я понял, есть прямоугольный треугольник ABC (В – прямой угол). Известны длины всех сторон, координаты на плоскости вершин B и C. Надо найти координаты вершины A:
При таких условиях задача имеет два решения: точка с одной или с другой стороны от прямой 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
Запишите формулу для вычисления длины. Формула: , где — длина отрезка, — координаты начальной точки отрезка, — координаты конечной точки отрезка.[2]
-
2
Найдите координаты точек отрезка. Возможно, они будут даны. Если нет, найдите их по осям Х и Y.[3]
-
3
Подставьте координаты в формулу. Будьте внимательны и подставьте значения соответствующих переменных. Две координаты должны находится внутри первой пары скобок, а две координаты — внутри второй пары скобок.[4]
Реклама
-
1
Выполните вычитание в скобках. Сделайте это, потому что операции в скобках имеют приоритет.[5]
-
2
Возведите в квадрат полученные значения. В нашем случае возведение в степень — это вторая по важности операция.[6]
-
3
Сложите числа под знаком корня. Делайте вычисления так, как будто работаете с целыми числами.
-
4
Вычислите длину отрезка . Для этого извлеките корень из полученной суммы чисел.
Реклама
Советы
- Не путайте эту формулу с другими, например, с формулой для вычисления углового коэффициента или с линейным уравнением.
- Помните о порядке выполнения математических операций. Сначала вычтите, затем возведите в квадрат, затем сложите, а затем извлеките квадратный корень.
Реклама
Об этой статье
Эту страницу просматривали 24 709 раз.