Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ WEB Разработка ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

FreeBSD and Nix

Общая

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


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);
 

Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект