在ActionScript 3(和IIRC 2)中,显示对象上的x和y属性始终存储为0.05的倍数.
所以像是一样obj.x = 66.6666的东西obj.x = 66.65
大多数时候,这没关系.但有时我最终会得到速度很慢的物体,例如每秒1个像素.1/60(fps)=每帧0.017像素.obj.x += 0.017将永远不会真正改变x值,因为它被四舍五入到最接近的0.05.
这迫使我覆盖DisplayObject的x和y属性,以便它们不会被舍入.
我可以理解舍入坐标到最接近的渲染积分值.使用更高级的渲染器,我甚至可以理解舍入到二进制可表示的一些分数(例如0.25).但0.05不能用二进制表示.
那么为什么Flash的创造者决定四舍五入到最接近的.05?这对我来说似乎是一个任意数字.
我有两个叫做A和B的3D矢量,它们都只有一个3D位置.我知道如何通过以下方式找到沿着单位圆的角度(0-360度)和atan2函数:
编辑:(我的atan2函数没有意义,现在它应该找到2个向量之间的"y角度"):
toDegrees(atan2(A.x-B.x,A.z-B.z))+180
Run Code Online (Sandbox Code Playgroud)
但是这给了我两个向量之间的Y角.我需要找到它们之间的X角.它与使用x,y和z位置值有关.不仅仅是x和z,因为它给出了两个向量之间的Y角.我需要X角,我知道它听起来很模糊,但我不知道如何解释.例如,如果你向上或向下看而不是旋转x轴,你可能在3D空间中有一个摄像头.但是现在我需要获得2个向量之间的"上/下"角度.如果我沿y轴旋转3D相机,则x轴不会改变.因此,与2个载体,不管是什么"Y-角"是他们之间,2个向量之间的x角度西港岛线留如果y角变化,同样因为它的"向上/向下"的角度,像在卡马拉.
请帮忙?我只需要一行数学/伪代码或解释.:)
我想做这里显示的例子.它在我的机器上运行得非常好.问题是,我无法将节点的坐标作为存储在变量pos中某处的数组.我该怎么做呢?
在此先感谢您的回复!
我有这样简单的情节:
matplotlib.pyplot as plt
pt_no = [1,2,3]
coord_x = [6035763.111, 6035765.251, 6035762.801]
coord_y = [6439524.100, 6439522.251, 6439518.298]
fig, ax = plt.subplots()
ax.scatter(coord_y, coord_x, marker='x')
ax.axes.get_xaxis().set_visible(False)
ax.axes.get_yaxis().set_visible(False)
for i, txt in enumerate(pt_no):
ax.annotate(txt, (coord_y[i], coord_x[i]))
plt.show()
Run Code Online (Sandbox Code Playgroud)
但是当您在图形上移动或按住光标时,坐标显示在绘图窗口右上角的坐标看起来像6.43953e + 06.
如何让我的输入坐标完全按原样显示,例如
6439518.298而不是6.43953e + 0
?
提前致谢
我正在使用GenomicRange R包.我有一个像这样的输入文件:
dvex108056 + 87 206
dvex108056 + 87 226
dvex108056 - 101 240
dvex108056 - 104 240
dvex108056 - 59 188
dvex108056 - 68 197
dvex108056 - 70 208
dvex108056 - 75 211
dvex108056 - 78 217
dvex108056 - 79 218
dvex108056 - 84 223
dvex108056 - 85 220
dvex108056 - 87 226
dvex108056 - 88 226
dvex108056 - 88 227
dvex108056 - 91 210
dvex108056 - 91 230
dvex114041 - 6255 6383
dvex144086 + 2557 2678
dvex144086 + …Run Code Online (Sandbox Code Playgroud) 我试图从图片的右上角到左下角对角绘制平行线.我希望它看起来像这样(可爱的油漆pic)

def diagTopLBottomR():
pic=makePicture(pickAFile())
w=getWidth(pic)
h=getHeight(pic)
x1=0
y1=0
x2=0
y2=0
i=0
while i<11:
x1=10*i
y2=10*i
i+=1
for y in range (y1,y2):
x = (y-y1)*(x2-x1)/(y2-y1) +x1
px=getPixel(pic,x,y)
color=makeColor(0,0,0)
setColor(px, color)
x3=0
y3=h
x4=w
y4=0
j=0
while j<10:
x3=10*j
y4=10*j
j+=1
for y in range (y3,y4):
x = (y-y3)*(x4-x3)/(y4-y3) +x3
px=getPixel(pic,x,y)
color=makeColor(0,0,0)
setColor(px, color)
return(pic)
Run Code Online (Sandbox Code Playgroud)
您会注意到 x3将是最大值,导致超出范围异常,或者y范围将以更高的值开始,即(y3> y4)并且不会反向运行,或者当我减少它时.这就像一个悖论.
第一个循环正在工作,无论我尝试什么,我都无法让第二个循环工作.这就是我最终的结果.

有任何想法吗?谢谢.
编辑
我已经玩了范围,并且没有得到第二个循环的结果,如上面所示的超出范围异常.
我试过了:
x3=0
y3=h
x4=w
y4=0
j=0
while j<10:
x3=10*j
y4=10*j
j+=1
for x in range (x3,x4):
y = (x-x3)*(y4-y3)/(x4-x3) +y3 …Run Code Online (Sandbox Code Playgroud) 我想扩展一个我在Stackoverflow上讨论过的问题.它正在处理2D numpy数组,我想用三维数组做同样的事情.
我想将2D数组的元素"移动"到新坐标,这些坐标存储在其他2个数组中.我希望自动化这个,因为实际上我的阵列很大(400x200x100).有些值不会找到他的坐标并且不会被使用,其中一些坐标被屏蔽,我在下面的例子中通过使用值0指示.如果坐标被屏蔽,我想要重新洗牌的数组中的元素将不会使用.
import numpy as np
#My new coordinates in X and Y directions
mx = np.array([[[ 1., 2., 3., 4., 0.],
[ 1., 2., 3., 4., 0.],
[ 1., 2., 3., 4., 0.],
[ 1., 2., 3., 4., 0.],
[ 1., 2., 3., 4., 0.]],
[[ 1., 2., 3., 4., 0.],
[ 1., 2., 3., 4., 0.],
[ 1., 2., 3., 4., 0.],
[ 1., 2., 3., 4., 0.],
[ 1., 2., 3., 4., 0.]]])
my …Run Code Online (Sandbox Code Playgroud) 背景:
我已经获得了四个数据目录,其中第一个(让我们称之为Cat1)给出了字段1和2中的无线电源的坐标(右上升和下降,RA和Dec),第二个目录(Cat2)给出RA对于场1中的无线电源和红外(IR)源,第三个目录(Cat3)给出了场2中无线电和红外源的RA和Dec,第四个目录(Cat4)给出了光源的RA和Dec在字段1和2中.
Cat1有大约2000个字段2的来源,请记住,有些来源实际上是在其维度上多次测量的,例如; 源1,源2,源3a,源3b,源3c,源4 ... Cat1具有用于场1的大约3000个源,同样一些源是部分源.Cat 1是.dat文件,我在textedit中打开,并转换为.txt以与np.genfromtxt一起使用.
Cat2具有大约1700个字段1的源.Cat3具有大约1700个字段2的源.Cat2和Cat3是.csv文件,我在Numbers中打开.
Cat4对于字段1有大约1200个源,对于字段2有大约700个源.Cat4是.dat文件,我在textedit中打开,并转换为.txt以与np.genfromtxt一起使用.
还想出了如何在.csv文件中转换Cat1和Cat4.
目标:
目标是将这四个目录组合成一个目录,从Cat2,Cat1和Cat4(字段1)得到RA和Dec,然后从Cat3,Cat1和Cat4(字段2)得到RA和Dec,这样RA来自Cat1和Cat4的12月最接近来自Cat1或Cat2的RA和Dec,因此可以说它们很可能是相同的来源.重叠的程度会有所不同,但我已经为数据生成散点图,显示每个Cat2和Cat3源都有相应的Cat1和Cat4源,在绘图标记大小的精度范围内,当然还有很多剩余的来源在Cat1和Cat4中,它包含的信号源比Cat2和Cat3多得多.
诀窍是因为坐标不完全匹配,我需要能够先查看RA并找到最佳匹配值,然后查看相应的Dec,并检查它是否也是最佳对应值.
例如,对于Cat2中的来源:RA = 53.13360595,Dec = -28.0530758
Cat1:RA = 53.133496,Dec = -27.553401或RA = 53.133873,Dec = -28.054600
在这里,53.1336同样在53.1334和53.1338之间,但显然-28.053比-27.553更接近-28.054,所以Cat1中的第二个选项是赢家.
进展:
到目前为止,我已经将Cat2中的前15个值与Cat1中的值完全匹配(命令+ f到尽可能多的小数位,然后使用最佳判断),但显然这对于Cat2和Cat3上的所有3400个源来说效率非常低.我只是想亲眼看看匹配中期望的精确度,不幸的是,有些匹配到第二或第三位小数,而其他匹配到第四或第五位.
在制作我的散点图时,我使用了代码:
cat1 = np.genfromtext('filepath/cat1.txt', delimiter = ' ')
RA_cat1 = cat1[:,][:,0]
Dec_cat1 = cat1[:,][:,1]
Run Code Online (Sandbox Code Playgroud)
然后简单地针对Dec_cat1绘制RA_cat1,并对我的所有目录重复.
我现在的问题是,在搜索如何生成能够匹配我的坐标的代码的答案时,我已经看到了许多涉及将数组转换为列表的答案,但是在尝试使用时
cat1list = np.array([RA_cat1, Dec_cat1])
cat1list.tolist()
Run Code Online (Sandbox Code Playgroud)
我最终得到了一份表格清单;
[RA1,RA2,RA3,...,RA3000],[Dec1,Dec2,Dec3,...,Dec3000]
而不是我认为会更有帮助;
[RA1,Dec1],[RA2,Dec2],......,[RA3000,Dec3000].
此外,对于类似的问题,一旦列表转换成功,最有用的答案似乎是使用字典,但我不清楚如何使用字典来产生我上面描述的各种比较.
另外,我应该提一下,一旦我成功完成这项任务,我就被要求重复这个过程以获得更大的数据集,我不确定它有多大,但我假设可能有数万个坐标集.
我需要在修改对象后找到线坐标(x1,y1,x2,y2).(移动,缩放,旋转)
我想使用oCoords信息并根据角度和翻转信息来确定哪些角是线端,但似乎它不会太精确......
有帮助吗?
例:
x1:164,
y1:295.78334045410156,
x2:451,
y2:162.78334045410156
x:163,y:161.78334045410156 - 左上角
x:452,y:161.78334045410156 - 右上角
x:163,y:296.78334045410156 - 左下角
x:452,y:296.78334045410156 - 右下角
我试图在three.js中制作一个弯曲的3D箭头.为了完成这项任务,我创建了一个遵循弯曲路径的管和一个圆锥形的圆柱(通过将radiusTop设置为微小).他们目前看起来像这样:
我试图将箭头(圆柱形状为锥形)定位在管的末端,如下所示:( Photoshop)
我在数学上并不是非常强大,而且对于three.js来说还不是很新.有人可以帮我理解如何连接这两个?
这是我目前的代码:
import T from 'three';
var findY = function(r, x)
{
return Math.sqrt((r * r) - (x * x));
}
var radius = 25;
var x = 0;
var z = 0;
var numberOfPoints = 10;
var interval = (radius/numberOfPoints);
var points = [];
for (var i = numberOfPoints; i >= 0; i--)
{
var y = findY(radius, x);
points.push(new T.Vector3(x, y, z))
x = x + interval;
}
x = x …Run Code Online (Sandbox Code Playgroud) coordinates ×10
python ×5
geometry ×2
angle ×1
arrays ×1
bioconductor ×1
dataframe ×1
draw ×1
fabricjs ×1
flash ×1
graph ×1
graph-layout ×1
javascript ×1
jes ×1
jython ×1
line ×1
matching ×1
math ×1
matplotlib ×1
numpy ×1
overlapping ×1
precision ×1
r ×1
rendering ×1
space ×1
three.js ×1
vector ×1