我使用以下代码通过两个 2D 旋转在 3D 中旋转矢量:
注意:L 是
np.array([11.231303753070549, 9.27144871768164, 18.085790226916288])
Run Code Online (Sandbox Code Playgroud)
下图中以蓝色显示的预定义向量。
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
def angle_between(p1, p2):
ang1 = np.arctan2(*p1[::-1])
ang2 = np.arctan2(*p2[::-1])
return ((ang1 - ang2) % (2 * np.pi))
L = np.vstack([L,np.zeros(3)])
line_xy = [0.,1.]
line_L = [L[0,0],L[0,1]]
a = angle_between(line_xy, line_L)
def rotation(vector,theta):
v1_new = (vector[0]*np.cos(theta)) - (vector[1]*np.sin(theta))
v2_new = (vector[1]*np.cos(theta)) + (vector[0]*np.sin(theta))
z_trans = [v1_new,v2_new,vector[2]]
line_yz= [0.,1.]
theta2 = angle_between(line_yz, [z_trans[1],z_trans[2]])
v1_new = (z_trans[0]*np.cos(theta2)) - (z_trans[1]*np.sin(theta2))
v2_new …Run Code Online (Sandbox Code Playgroud) 我正在用 pygame 用 Python 编写一个游戏,我想制作一个函数,从一个点沿特定方向绘制一条线,具有特定长度,例如,函数的定义是: def draw_line(position1: (int, int), angle: int, line_length: int, line_width: float, color: Color):
我可以做什么来计算绘制线条的第二个点?
我有一个问题的小示意图,我想得到position2,用pygame画线。
我想在构造函数中添加条件角度if(angle>360){ angle=0; }怎么办?
PLAYER[i] = {
color: "#fff",
x: 220*i,
y: 270,
width: 32,
height: 32,
angle: 180
};
Run Code Online (Sandbox Code Playgroud)
每次使用这样的条件,都需要很大的空间.
嗨,我是新来的,我一般都不懂python或代码,但我正在尝试,我一直在尝试2-3个小时,我正在尝试
"考虑一个边长为3,7和9的三角形.余弦定律表明,给定三角形(a,b和c)的三边和边a和b之间的角度C:c ^ 2 = b ^ 2 + a ^ 2 - 2*a*b*cos(C)编写Python代码来计算三角形中的三个角度."
这是家庭作业,这很难!!!!!!!!!!!!!! 继承人到目前为止我做了什么......
import math
a_float = 3
b_float = 7
c_float = 9
def find_angle_cosine_of_c_float =
(c_float**2-b_float**2-a_float**2)/(-2*a_float*b_float)
a = input("enter A: ")
b = input("enter B: ")
c = input("enter C: ")
angle_c_float = math.acos(cosine_of_float)
angle_c_float = angle_c_float*180/math.pi
assert find_angle_cosine_of_c_float(7, 9, 3)
assert find_angle_cosine_of_c_float(3, 7, 9)
assert find_angle_cosine_of_c_float(9, 3, 7)
Return angle(angle_c_float)
Run Code Online (Sandbox Code Playgroud)
如果它看起来像一堆胡说八道,因为它是........
我知道我可以通过math.h获得角度的三角函数.我想知道,如果它可以在相反的方向完成.
假设有一个带有两个坐标的向量.我有它的x和y值,因此可以很容易地计算切线
float tg;
if(x != 0)
{
tg = y/x
}
else
{
//vector is vertical and it doesn't have a tangent
//handle this somehow
}
Run Code Online (Sandbox Code Playgroud)
但是,我认为没有办法反过来这样做.我需要一种基于它的切线来获得0到2pi之间的角度的方法.
我想计算两点之间的角度。例如,假设我正在制作一个游戏,我想要一把枪指向鼠标光标,我得到将枪旋转到该角度所需的角度。
angle ×6
python ×4
pygame ×2
trigonometry ×2
3d ×1
c++ ×1
class ×1
constructor ×1
geometry ×1
javascript ×1
line ×1
math ×1
position ×1
python-3.x ×1
rotation ×1
vector ×1