试图为交换每个坐标X和Y值的方法找到一个好名字.
这个操作有名字吗?
从本质上讲,这就是做了什么
(1,2) - >(2,1)
在多边形上,这与旋转-90度并进行水平翻转或镜像相同.
问题是我有一些图形显示在一个窗体,例如矩形,我想捕获当点到达thees字段.因此,我试图找到这些矩形的corrrdinates,但是因为它是形式的坐标,它与鼠标位置的坐标不匹配.
所以我想知道有没有办法在屏幕上找到一个Point在屏幕上有什么坐标,而不是在窗体或控制器中?
自从我开始使用此功能并且尚未成功获得有效结果以来已过去几天.
我想要的基本上是将加速度矢量从设备坐标系转换为真实世界坐标.我知道这是可能的,因为我有相对坐标的加速度,我知道设备在现实世界系统中的方向.
阅读Android开发人员似乎使用getRotationMatrix()我得到R =旋转矩阵.
因此,如果我想要A(世界系统中的加速度矢量)来自A'(电话系统中的加速度矢量),我必须做到:
A=R*A'
Run Code Online (Sandbox Code Playgroud)
但我不明白为什么矢量A总是第一个和第二个零件为零(例如:+0,00; -0,00; +6,43)
我目前的代码与此类似:
public void onSensorChanged(SensorEvent event) {
synchronized (this) {
switch(event.sensor.getType()){
case Sensor.TYPE_ACCELEROMETER:
accelerometervalues = event.values.clone();
break;
case Sensor.TYPE_MAGNETIC_FIELD:
geomagneticmatrix =event.values.clone();
break;
}
if (geomagneticmatrix != null && accelerometervalues != null) {
float[] Rs = new float[16];
float[] I = new float[16];
SensorManager.getRotationMatrix(Rs, I, accelerometervalues, geomagneticmatrix);
float resultVec[] = new float[4];
float relativacc[]=new float [4];
relativacc[0]=accelerationvalues[0];
relativacc[1]=accelerationvalues[1];
relativacc[2]=accelerationvalues[2];
relativacc[3]=0;
Matrix.multiplyMV(resultVec, 0, Rs, 0, relativacc, 0); …Run Code Online (Sandbox Code Playgroud) 我在3D空间中有两个点,比方说(0,0,0)和(5,5,0)
我有一个相机(0,0,5)
鉴于此,第一个点(0,0,0)比第二个点更靠近相机.我想要做的是让第二点与摄像机点的距离有限,这样它(或实际上任何假设点)都不能远离摄像机点而不是我的控制点距离(0,0, 0).
我可以使用什么数学设备计算空间中与摄像机相同的矢量,但不是很远的点?
我希望这是有道理的...我希望我的数学课程比基本代数高.
我试图获取组件的坐标,例如标签.我尝试了getBounds和getLocation,但是如果标签位于2个或更多面板上,它们就不会给出准确的坐标.除了getLocationOnScreen,有没有办法能够获得准确的组件坐标,即使它们在多个面板上?
当使用python和win32com自动化软件形式时,Adobe遇到了传递2d坐标数组的问题.如果看一下Adobe为visual basic(VB)提供的代码就很简单了.在Illustrator中绘制线条的简化示例如下所示:
Set appObj = CreateObject("Illustrator.Application")
Set docObj = appObj.Documents.Add
Set pathItem = docObj.PathItems.Add
pathItem.SetEntirePath Array(Array(0.0, 0.0), Array(20.0, 20.0))
Run Code Online (Sandbox Code Playgroud)
现在天真的假设是VB代码可以通过如下转换成python:
from win32com.client import Dispatch
appObj = Dispatch("Illustrator.Application")
docObj = appObj.Documents.Add()
pathItem = docObj.PathItems.Add()
pathItem.SetEntirePath( [ [0.0,0.0], [20.0,20.0] ] )
Run Code Online (Sandbox Code Playgroud)
显然,这并不容易,python发出错误说"只支持维度为1的数组".现在我知道阵列数组和二维数组之间存在差异.所以问题是我如何强制python制作一个正确的数组呢?
我尝试制作自己的VARIANT类型,但失败了.我也看过这个问题.任何人都有同样的问题,可以解决一些问题吗?
PS:
我知道使用以下方法可以避免这个问题:
pathItem = docObj.PathItems.Add()
for point in ( [0.0,0.0], [20.0,20.0] ):
pp = pathItem.PathPoints.Add()
pp.Anchor = point
Run Code Online (Sandbox Code Playgroud)
但是有类似的情况,这实际上并不起作用.无论如何,重点是编写关于移植给学生的指导方针,以便更接近原始意图.
我想知道如何使用坐标找到关闭点.我正在使用一个包含坐标和字符串的Hashmap.我允许用户输入x和y轴并将它们存储为int a和int b但我不知道从那里去哪里.谢谢你的期待
import java.util.HashMap;
import java.util.Scanner;
public class Coordinate {
static class Coords {
int x;
int y;
public boolean equals(Object o) {
Coords c = (Coords) o;
return c.x == x && c.y == y;
}
public Coords(int x, int y) {
super();
this.x = x;
this.y = y;
}
public int hashCode() {
return new Integer(x + "0" + y);
}
public String toString()
{
return x + ";" + y;
}
}
public static void main(String …Run Code Online (Sandbox Code Playgroud) 鉴于
$c = 2; // number of columns
$r = 3; // number of rows
Run Code Online (Sandbox Code Playgroud)
我需要找到x,y值的网格坐标,该坐标$i是特定单元格的索引(左上方->,->最下面的底部顺序).
通常,人们可以使用两个循环来解决这个问题.行的循环和列的另一个循环,但在我的情况下,我需要以数学方式执行此操作.
所以在上面的例子中,我会有类似的东西:
$grid = new Grid(2, 3);
// i x y
list($x, $y) = $grid->getCoordOfCell(0); // 0 0 0
list($x, $y) = $grid->getCoordOfCell(1); // 1 1 0
list($x, $y) = $grid->getCoordOfCell(2); // 2 0 1
list($x, $y) = $grid->getCoordOfCell(3); // 3 1 1
list($x, $y) = $grid->getCoordOfCell(4); // 4 0 2
list($x, $y) = …Run Code Online (Sandbox Code Playgroud) 我试图保持子对象的旋转与添加到父对象(即相机)之前的旋转相同.
我正在使用Three.js worldToLocal来保持位置,但由于父级的位置和旋转,旋转会发生变化.
在 "拿起" 之前和之后:

注意多维数据集如何保持位置(由于worldToLocal)但旋转发生变化.
编辑:我希望能够将多维数据集的初始旋转设置为与添加到父级之前相同.之后,我希望孩子正常行动并像父母一样旋转/翻译.
我在Python 2.7中制作8*8坐标网时遇到问题
为了演示,我尝试制作一个像这样的3x3网格:
grid=[]
for col in xrange(3):
grid.append([col])
for row in xrange(3):
grid[col].append([row])
print grid
Run Code Online (Sandbox Code Playgroud)
我希望有:
grid = [[0,0],[0,1],[0,2],[1,0],[1,1],[1,2],[2,0],[2,1],[2,2]]
Run Code Online (Sandbox Code Playgroud)
但我得到的是:
grid = [[0, [0], [1], [2]], [1, [0], [1], [2]], [2, [0], [1], [2]]]
Run Code Online (Sandbox Code Playgroud)
有小费吗?
coordinates ×10
math ×3
java ×2
python ×2
3d ×1
android ×1
c# ×1
components ×1
graphics ×1
grid ×1
hashmap ×1
matrix ×1
php ×1
point ×1
python-2.7 ×1
rotation ×1
sensor ×1
swing ×1
three.js ×1
transform ×1
trigonometry ×1
user-input ×1
webgl ×1
win32com ×1