Если я знаю центр (x, y, z) дуги и диаметра, а также начальную и конечную точку, как я могу генерировать значения между началом и концом?Как создать дугу в numpy?
1
A
ответ
4
Похоже, что ваша «дуга» представляет собой круговое приближение к кривой между двумя известными точками. Я предполагаю это от слова «диаметр» (что вдвое больше радиуса) в вашем посте. Для этого вы parameterize the circle(t) -> (x,y)
, где t
- 0..2pi
. Учитывая, центр, две конечные точки и радиус можно аппроксимировать часть кривой так:
from numpy import cos,sin,arccos
import numpy as np
def parametric_circle(t,xc,yc,R):
x = xc + R*cos(t)
y = yc + R*sin(t)
return x,y
def inv_parametric_circle(x,xc,R):
t = arccos((x-xc)/R)
return t
N = 30
R = 3
xc = 1.0
yc = 3.0
start_point = (xc + R*cos(.3), yc + R*sin(.3))
end_point = (xc + R*cos(2.2), yc + R*sin(2.2))
start_t = inv_parametric_circle(start_point[0], xc, R)
end_t = inv_parametric_circle(end_point[0], xc, R)
arc_T = np.linspace(start_t, end_t, N)
from pylab import *
X,Y = parametric_circle(arc_T, xc, yc, R)
plot(X,Y)
scatter(X,Y)
scatter([xc],[yc],color='r',s=100)
axis('equal')
show()
Этот пример является только в 2D, но она легко адаптируется так как кривая будет всегда лежат вдоль плоскости между двумя точками и центром.
Смежные вопросы
- 1. Как создать трехточечную дугу в pygame
- 2. Как создать эту дугу с помощью CSS3?
- 3. Как создать отношения, используя сильную дугу Strongloop?
- 4. Как сделать эту дугу?
- 5. Как нарисовать дугу в Fabric.js
- 6. Как масштабировать дугу?
- 7. Как нарисовать дугу в OpenGL
- 8. Выдавить дугу в Three.js
- 9. Как создать дугу, которая всегда открывается в фиксированную точку
- 10. Как создать массив numpy?
- 11. Как нарисовать дугу?
- 12. Как нарисовать 2d дугу
- 13. хранить дугу в переменной
- 14. Как нарисовать дугу в универсальных окнах app
- 15. Как обнаружить двойную дугу в представлении?
- 16. Как создать многомерный массив numpy?
- 17. Как создать массив 2d numpy?
- 18. Как нарисовать дугу с Qt?
- 19. Как создать массив 0x0 Numpy?
- 20. Как создать вертикальную аранжировку numpy?
- 21. Как нарисовать дугу с fabric.js?
- 22. Как нарисовать вогнутую дугу программно?
- 23. Как создать матрицу подобия в numpy python?
- 24. Как создать булеву массив в NumPy
- 25. Как создать пустой массив/матрицу в NumPy?
- 26. Как создать массивы символов в numpy?
- 27. Как нарисовать заполненную дугу в Matplotlib
- 28. Преобразование отдельных файлов в дугу?
- 29. Переход одного файла в дугу
- 30. Нарисуйте дугу в opengl GL10
Вы имеете в виду «сферу» или «круг»? 'ar' или' arc'? – nye17
Жаль, что я имею в виду дугу. –
центр - это начало сферы или просто середина дуги? – nye17