Навигация
|
Javascript plotly нарисовать прямую под заданным угломJavascript plotly нарисовать прямую под заданным углом
/*
Пример:
Точка А (0;0)
Точка Б (45° и 100px от точки А)
var newPoint = findNewPoint(0, 0, 45, 100);
console.log('newPoint:', newPoint);
*/
Решение:
Math.round(Math.cos(45 * Math.PI / 180) * 100) + 0);
Math.round(Math.sin(45 * Math.PI / 180) * 100 + 0);
Полный код:
function findNewPoint(x, y, angle, distance) {
var result = {};
result.x = Math.round(Math.cos(angle * Math.PI / 180) * distance + x);
result.y = Math.round(Math.sin(angle * Math.PI / 180) * distance + y);
console.log('result.x:', result.x);
console.log('result.y:', result.y);
return result;
}
var newPoint = findNewPoint(0, 0, 45, 100);
console.log('newPoint:', newPoint);
var traectory_angle = {
x: [0, newPoint.x],
y: [0, newPoint.y],
type: 'scatter',
name: 'Линия под углом 45%'
};
var layout = {
xaxis:{
title:"X-Axis",
},
yaxis:{
title: "Y-Axis",
}
};
var data = [traectory_angle];
const layout1 = {title: "График траектории 45%"};
Plotly.newPlot('plt1', data, layout);
Полный код с координатами не менее заданной дистанции:
function findNewPoint(x, y, angle, distance) {
var result = {};
result.x = 0;
result.y = 0;
var iteration = 1;
while(result.x != distance){
result.x = Math.round(Math.cos(angle * Math.PI / 180) * (distance + iteration) + x);
result.y = Math.round(Math.sin(angle * Math.PI / 180) * (distance + iteration) + y);
iteration = iteration + 1;
console.log('iteration:', iteration);
console.log('result.x:', result.x);
console.log('result.y:', result.y);
};
return result;
}
var newPoint = findNewPoint(0, 0, 45, 100);
console.log('newPoint:', newPoint);
var traectory_angle = {
x: [0, newPoint.x],
y: [0, newPoint.y],
type: 'scatter',
name: 'Линия под углом 45%'
};
var layout = {
xaxis:{
title:"X-Axis",
},
yaxis:{
title: "Y-Axis",
}
};
var data = [traectory_angle];
const layout1 = {title: "График траектории 45%"};
Plotly.newPlot('plt1', data, layout);
Комментарии пользователей Эту новость ещё не комментировалиНаписать комментарий Анонимам нельзя оставоять комментарии, зарегистрируйтесь! |
Контакты Группа ВК | ![]() |
Видео к IT статьям на YoutubeВидео на другие темы Смотреть | |||
Мои друзья: ![]() |
© Snakeproject.ru создан в 2013 году.При копировании материала с сайта - оставьте ссылку.Весь материал на сайте носит ознакомительный характер,за его использование другими людьми, автор ответственности не несет. |
||||
Поддержать автора и проект
|