2014-10-27 3 views
0

Я делаю приложение для Android, имеющее два круга, между двумя кругами есть линия. Мне удалось провести линию между кругами независимо от угла между ними. Вопрос в том, что я хотел бы расширить эту строку до конца экрана. Могу ли я знать, как это сделать? Благодарю.Расширение линии до конца экрана

+1

Можете ли вы поделиться тем, что вы сделали до сих пор, и скриншотами, которые объясняют ситуации? –

+0

Привет, я загрузил картинку по этой ссылке http://i59.tinypic.com/6joqc8.png, так как вы можете видеть, что есть два круга с линией, мне нравится продлить эту строку до конца экрана как боковая сторона. Круги могут перемещаться путем перетаскивания пальцем. –

ответ

0

Пусть координаты двух центров окружности будут (a, b) и (c, d).

Сегмент линии, который вы хотите нарисовать, идет от (p,?) До (q,?), Где p и q - координаты x слева и справа от экрана. Вы можете использовать:

y = ((d - b)/(c - a))*(p - a) + b 
y = ((d - b)/(c - a))*(q - a) + b 

, чтобы найти два значения y этих точек. Вы столкнетесь с проблемой, если две точки вертикальны (c = a), что приведет к делению на ноль.

+0

спасибо, это работает как шарм –

+0

Добро пожаловать. Мне кажется, что если точки почти вертикальные, вы можете получить очень большие значения p и q. Если это так, то лучше вычислить (?, P) и (?, Q), где p и q - y-координаты верхней и нижней части экрана. Сообщите мне, хотите ли вы формулу для этого. С наилучшими пожеланиями. – Geddes

Смежные вопросы