![]() |
matimatika=)
izvesen x,y pervoi tochki
radius(napravlenie) i dlina do vtaroi tochki kak uznat raspolozhenie vtoroi tochki? |
как насчет воспользоваться трудами пифагора?
а*а = B*b + C*c |
cho cho?????????????????????
|
ммм ... ну как тебе объяснить есть вектор от точки а до точки б (это называеться вектор а не радиус) тебе нужно посчитать координаты точки б, так возьми точку а, построй прямоугольный треугольник, расчитай через теорему пифагора дистанцию и сложи с точкой а, получишь точку б
|
хотя тут пифагор не нужен, можно просто прибавить сразу после вычисления ширины и высоты.
|
mde necho neponel=)karoch proshe delaetsja tak
x=cos(radius)*rastojanie y=sin(radius)*rastojanie ja eto so vremjon qbasica vspomnil=) a vot vtoroi vapros=) izvesni 2 tochki kak uznat pod kakim vektorom smotrit odna nadruguju (esli odna nacelina nadruguju) |
ты имеешь введу тебе нужен угол под которым одна точка находиться относительно другой?
если да то Код:
trace( (Math.atan2 (this.p0._y - _root.p1._y, this.p0._x - _root.p1._x)*180)/Math.PI)если нет то задай вопрос конкретней чтобы было понятно чего же тебе нужно |
1)Если известны расстояние и угол:
x_new=R*Math.cos(alpha)+x; y_new=R*Math.sin(alpha)+y; где: (x,y) - координаты известной точки; R - расстояние до неизвестной точки; alpha - угол, определяющий направление к неизвестной точке. Подразумевается, что это угол между координатной осью X и отрезком, соединяющим две твоих точки. Как замерять угол: увеличение угла - это движение по часовой стрелке. 2)Если известен радиус-вектор: x_new=а+x; y_new=b+y; где: (a,b) - радиус-вектор (точка, определяющая длину и направление) |
Ой, малость припоздал с ответом... :p
|
Цитата:
x=x2-x1; y=y2-y1; - направление от (x1,y1) к (x2,y2) или x=x1-x2; y=y1-y2; - направление от (x2,y2) к (x1,y1) |
насколько я понял, ты щаз написал формулу получения из двух точек - вектора.
|
Именно. Полученная точка (х,у) определяет вектор, начало которого в (0,0) , а конец - в (х,у).
Это был ответ на вопрос "izvesni 2 tochki kak uznat pod kakim vektorom smotrit odna nadruguju" |
Math.sqrt(a*a+b*b)
|
и что это ты написал? никак пятый класс и теорему пифагора вспомнил ...
|
kak uznat rastojanie mezhdu objectov?
this.p1._x=_xmouse; this.p1._y=_ymouse; tt= Math.sqrt((this.p0._x - this.p1._x)^2+(this.p0._y - this.p1._y)^2) proboval nerabotaet mb oshibka gde? |
kak uznat rastojanie mezhdu objectov?
this.p1._x=_xmouse; this.p1._y=_ymouse; tt= Math.sqrt((this.p0._x - this.p1._x)^2+(this.p0._y - this.p1._y)^2) proboval nerabotaet mb oshibka gde? |
возьми учебник по геометрии за пятый класс и почитай.
|
sry u menja evo net u tja tozh vidno :/
kak uznat rastojanie mezhdu objectov? this.p1._x=_xmouse; this.p1._y=_ymouse; tt= Math.sqrt((this.p0._x - this.p1._x)^2+(this.p0._y - this.p1._y)^2) proboval nerabotaet mb oshibka gde? |
Ты конечно не писал прямо так: tt= Math.sqrt((this.p0._x - this.p1._x)^2+(this.p0._y - this.p1._y)^2)
Ты знаешь, что означает ^2 ? Это квадрат. |
nu blin nekto neznaet sholi?
|
все знают, кроме тебя конечно =).
|
esli znaete to napishiti script...
|
я лучше пойду позавтракаю за тебя.
|
nu esli neznaete to nefludite :mad:
|
да скажите ему, он с первого раза не понимает.
|
Знач так. Вводишь декартову систему координат... Или не... Х** с ней. Радиальную. Вообщем, имеем два параметра. Радиус-вектор и угол наклона. Ими однозначно определяется положение точки в двумерной плоскости (очевидно: линейная независимость на лицо). Далее так. Пусть На эту систему координат наложена декартова, их нули совпадают, угол отсчитываем от ось OX. Тогда, пусть первая точка из нуля видна под углом a1, а вторая - a2. Очевидно, что расстояние между точками по теореме косинусов равно (r1^2+r2^2-r1*r2*cos(a2-a1))^(1/2), где r1, r2 - вторые координаты первой и второй точки соответственно. Имеем:
x1=r1*cos(a1) y1=r1*sin(a1) x2=r2*cos(a2) y2=r2*sin(a2) Далее мы точно знаем что cos(b)^2+sin(b)^2 = 1; Отседова и с предыдущих формул связи между x,y,r,a получаем r1^2=x1^2+y1^2; r2^2=x2^2+y2^2; Вспоминая предыдущую теорему косинусов понимаем, что нам просто необходимо знать чему равен cos(a2-a1) через cos(a2) и cos(a1). Воспользуемся для этого преобразованием Эйлера. Известно (получить можно из ряда Тейлора), что e^(ik) = cos(k)+isin(k), где i - не что иное, как комплексная единица. Однако, мы точно знаем что e^(i(c+d))=e^(ic)*e^(id). Отседова, подставив само преобразование, получим: cos(c+d) = cos(c)*cos(d) - sin(c)*sin(d). Подставив сюда вместо c значение a2, а вместо d - значение -a1, а также из преобразований координат соответствующие значения синусов и косинусов, окончательно получим R = ((X2-X1)^2+(Y2-Y1)^2)^(1/2) ! НУ ЧТО ЗДЕСЬ СЛОЖНОГО??? :D :D :D |
2Login
Ты неправильно возведение в степень кодируеш... Надо писать не а^2 , а Math.pow(a,2) 2K.A.T.A.F.A.L.K.E.R А помоему через сепарабельные метрические пространства было бы проще :D |
Цитата:
|
чего париться??? сколько точек в отрезке??? бесконечность!!! вот и длина любого отрезка равна бесконечности!!! ))) а еще лучше было бы ввести пространство где все расстояния равны, написать для него свою алгебру и мозги не грузить!!! :d
|
K.a.t.a.f.a.l.k.e.r, подбирай слова.
|
Цитата:
|
| Часовой пояс GMT +4, время: 00:48. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.