Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / нарисовать линию от окружности / 9 сообщений из 9, страница 1 из 1
16.04.2018, 23:22
    #39631210
nikomp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нарисовать линию от окружности
Подскажите как нарисовать линию так, чтоб она начиналась от окружности, а не от центра (см рис.)
Есть координаты центра, есть радиус.

Пробовал пересчитать координаты вот так:

Код: javascript
1.
2.
3.
var angle1 = Math.atan((end.y-start.y)/(end.x-start.x))* 180 / Math.PI;
var x1=start.x+40*Math.cos(angle1);
var y1=start.y+40*Math.sin(angle1);



но получается ерунда какая-то

подскажите, что я не так делаю?
...
Рейтинг: 0 / 0
17.04.2018, 01:43
    #39631230
stanilar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нарисовать линию от окружности
Может взять готовую либу для рисования? Там такие вещи уже оформлены в удобное апи.
...
Рейтинг: 0 / 0
17.04.2018, 03:23
    #39631249
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нарисовать линию от окружности
nikompЕсть координаты центра, есть радиус.
Это параметры круга.
А по линии что известно?
...
Рейтинг: 0 / 0
17.04.2018, 20:38
    #39632045
nikomp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нарисовать линию от окружности
982183,

координаты начала и конца
...
Рейтинг: 0 / 0
17.04.2018, 20:39
    #39632046
nikomp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нарисовать линию от окружности
stanilar,

что за либа?
...
Рейтинг: 0 / 0
17.04.2018, 21:46
    #39632072
maxkar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нарисовать линию от окружности
nikomp,

А в чем смысл хитроумных манипуляций с 180 и PI? Вы считаете, что синус и арктангенс работают с разными единицами измерения?
Еще там по делу просится atan2 или как его аналог в вашем языке зовется (с двумя аргументами арктангенс).
Можно еще вместо тригонометрии вектор ((end.x-start.x), (end.y-start.y)) просто по нужной длине отнормировать и прибавить.
...
Рейтинг: 0 / 0
17.04.2018, 22:38
    #39632091
nikomp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нарисовать линию от окружности
maxkarnikomp,

Можно еще вместо тригонометрии вектор ((end.x-start.x), (end.y-start.y)) просто по нужной длине отнормировать и прибавить.

не совсем понял что вы имеете ввиду
...
Рейтинг: 0 / 0
17.04.2018, 22:51
    #39632098
nikomp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нарисовать линию от окружности
maxkar,

спасибо за наводку. получилось вот так:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
	// Пересчитаем координаты для начала
	var angle1 = Math.atan2(start.y,start.x);
	var x1=start.x+40*Math.cos(angle1);
	var y1=start.y+40*Math.sin(angle1);
	
	// Пересчитаем координаты для конца
	var angle2 = Math.atan2(end.y, end.x);
	var x2=end.x-40*Math.cos(angle2)-3; // -3 из-за стрелки на конце
	var y2=end.y-40*Math.sin(angle2)-3;
...
Рейтинг: 0 / 0
17.04.2018, 22:52
    #39632099
nikomp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нарисовать линию от окружности
вот результат
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / нарисовать линию от окружности / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]