powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / нарисовать линию от окружности
9 сообщений из 9, страница 1 из 1
нарисовать линию от окружности
    #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
нарисовать линию от окружности
    #39631230
stanilar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может взять готовую либу для рисования? Там такие вещи уже оформлены в удобное апи.
...
Рейтинг: 0 / 0
нарисовать линию от окружности
    #39631249
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikompЕсть координаты центра, есть радиус.
Это параметры круга.
А по линии что известно?
...
Рейтинг: 0 / 0
нарисовать линию от окружности
    #39632045
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183,

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

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

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

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

не совсем понял что вы имеете ввиду
...
Рейтинг: 0 / 0
нарисовать линию от окружности
    #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
нарисовать линию от окружности
    #39632099
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот результат
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / нарисовать линию от окружности
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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