标签: coordinates

如何在C++的特定坐标处将字符串打印到控制台?

我正在尝试在指定的坐标处打印控制台中的字符.到目前为止,我一直在使用非常丑陋printf("\033[%d;%dH%s\n", 2, 2, "str");但我只是要问C++是否有其他方法可以做到这一点.这个问题甚至不是很难看,当我试图让自己成为一个更漂亮的功能时问题出现了:

void printToCoordinates(int x, int y, string text)
{
    printf("\033[%d;%dH%s\n", x, x, text);
}
Run Code Online (Sandbox Code Playgroud)

它不起作用,即使我转向(char*).另一个问题是我必须打印出\n要刷新的页面...我只是不喜欢printf一般使用.

以相若方式使用cout,而不是printf,我认为应该有一个更近的这样的方式(最好的方式,让我轻松地写,我想在屏幕上的字符串,最好是不要求这些奇怪的符号的方式:\033[%d;%dH)

那么,你们中的任何人都有我想要的东西吗?

c++ printf cout coordinates

8
推荐指数
4
解决办法
4万
查看次数

将经度纬度转换为米

我需要一个将gps位置映射到x/y值的函数,如下所示:

getXYpos(GeoPoint relativeNullPoint, GeoPoint p){
   deltaLatitude=p.latitude-relativeNullPoint.latitude;
   deltaLongitude=p.longitude-relativeNullPoint.longitude;
   ...
   resultX=latitude (or west to east) distance in meters from p to relativeNullPoint
   resultY=longitude (or south to north) distance in meters from p to relativeNullPoint
}
Run Code Online (Sandbox Code Playgroud)

我已经看到了"两个geoPoints距离"的一些实现,但它们都只计算了空中线距离.我认为deltaLongitude可以直接转换为米,但deltaLatitude取决于经度.有谁知道如何解决这个问题?

mapping latitude-longitude coordinates

8
推荐指数
1
解决办法
2万
查看次数

反转y轴,并在OpenGL中设置坐标系

在OpenGL中,我试图反转y轴,并设置一个特定类型的坐标系,就像Allegro一样.假设我的窗口是640x480,我希望屏幕的左上角是轴(0,0),右下角是(640,480).到目前为止,我设法获得了我想要的正确坐标系,但我不知道它是否以正确的方式完成.至于翻转y轴,我无法在不修改我当前拥有的坐标系的情况下将其反转.我不希望只有翻转1个形状的东西.我想让它在保持坐标系的同时翻转我在y轴上制作的所有未来形状.这是我到目前为止所拥有的.

初始化:

const GLdouble XSize = 640, YSize = 480;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, XSize, YSize, 0, 1, 1000);
glMatrixMode(GL_MODELVIEW);
Run Code Online (Sandbox Code Playgroud)

渲染:

float size = 30;

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(0, 0, -500);

glPushMatrix();
glTranslatef(size, size, 0.0f);

glBegin(GL_TRIANGLES);
glColor3f(0.1, 0.3, 0.8);
glVertex3f( 0.0f, size, 0.0f);
glVertex3f(-size,-size, 0.0f);
glVertex3f( size,-size, 0.0f);
glEnd();
glPopMatrix();
Run Code Online (Sandbox Code Playgroud)

编辑:

我想出了添加glScalef(1,-1,1); 将翻转我的形状,但我必须将它包含在我的形状的glPushMatrix()中,我不知道这是否是正确的方法,或者它是一个hackish解决方案.

c++ opengl coordinates

8
推荐指数
1
解决办法
1万
查看次数

如何在UIView中获取手指敲击的坐标?

如何在UIView中获取手指敲击的坐标?(我不想使用大量的按钮)

谢谢

iphone coordinates

8
推荐指数
1
解决办法
2万
查看次数

以编程方式将SVG形状转换为路径(lineto,moveto)

我有一个来自Inkscape,Illustrator或任何其他应用程序的SVG文件.我想形状转换为lineto,moveto,curveto格式.

我想要的是:

./Appname svgfile outfilewithpath
Run Code Online (Sandbox Code Playgroud)

我将SVG文件作为参数,然后我的应用程序将对象转换为相应的路径.

svg automation shapes save-as coordinates

8
推荐指数
2
解决办法
3453
查看次数

在Windows API中混淆逻辑坐标和设备坐标

我一直在寻找到它使用两种功能的Visual Studio的C++ Windows应用程序项目SetWindowExt (...)SetViewportExt (...).我对这两个函数的作用以及为什么它们是必要的而感到困惑.搜索这些函数,我得出了逻辑坐标和设备坐标的概念.

任何人都可以解释这两个概念的重要性吗?

c++ mfc gdi coordinates visual-c++

8
推荐指数
1
解决办法
4727
查看次数

如何获取分组svg元素的全局坐标?

假设我有以下文件(小提琴):

<svg>
    <g transform="translate(50,50)">
        <rect width="20" height="20" style="fill:black;">
    </g>
</svg>
Run Code Online (Sandbox Code Playgroud)

假设我不知道它在一个组中,我如何得到rect元素的全局坐标?

javascript svg coordinates

8
推荐指数
1
解决办法
5075
查看次数

将xyz给出的平面转换为R中的xy坐标(3D到2D)

我的问题很简单!如何将点xyz坐标(都属于单个平面)转换为仅xy坐标.我找不到任何R功能或R解决方案.

在此输入图像描述

来源数据:

# cube with plain
library(scatterplot3d)
my.plain <- data.frame(ID = c("A","B","C","D","E","F","G","H"),
                        x = c(1,1,1,2,2,2,3,3),
                        y = c(1,1,1,2,2,2,3,3),
                        z = c(1,2,3,1,2,3,1,2))

scatterplot3d(my.plain$x, my.plain$y, my.plain$z,
              xlim = c(0,3), ylim = c(0,3), zlim = c(0,3))
Run Code Online (Sandbox Code Playgroud)

如何获得点数据帧,其中A点为[0,0],而A和D之间的距离为sqrt(2)?

3d 2d r transformation coordinates

8
推荐指数
1
解决办法
1673
查看次数

单击画布时获取鼠标坐标

一个常见问题,但我仍然需要帮助.当有人在画布中点击时,我正试图获取并存储鼠标坐标.

我的HTML

<canvas id="puppyCanvas" width="500" height="500" style="border:2px solid black" onclick = "storeGuess(event)"></canvas>
Run Code Online (Sandbox Code Playgroud)

和我的javascript

//setup canvas
var canvasSetup = document.getElementById("puppyCanvas");
var ctx = canvasSetup.getContext("2d");

guessX = 0;//stores user's click on canvas
 guessY = 0;//stores user's click on canvas

function storeGuess(event){
    var x = event.clientX - ctx.canvas.offsetLeft;
    var y = event.clientY - ctx.canvas.offsetTop;
    /*guessX = x;
    guessY = y;*/


    console.log("x coords:" + x + ", y coords" + y);
Run Code Online (Sandbox Code Playgroud)

我已经阅读了很多论坛,w3schools和视频.我已经接近搞清楚,但我错过了一些东西.如果删除ctx.canvas.offsetLeft和ctx.canvas.offsetTop,我可以获取页面的坐标.但我需要以某种方式合并这些以获取画布的坐标,然后存储到变量guessX和guessY中.

mouse canvas coordinates

8
推荐指数
1
解决办法
8033
查看次数

Android:使用缩放和翻译的画布获取正确的坐标

我正在编写一个能够缩放和平移图像的Android(Xamarin)应用程序.用户还可以单击图像上的位置.我需要图像上的那些坐标供以后使用.

以下代码是缩放和平移图像:

protected override void OnDraw(Canvas canvas)
{
    base.OnDraw(canvas);

    _maxX = canvas.Width;
    _maxY = canvas.Height;

    canvas.Translate(_posX, _posY);

    if (_scaleDetector.IsInProgress)
        canvas.Scale(_scaleFactor, _scaleFactor, _scaleDetector.FocusX, _scaleDetector.FocusY);
    else
        canvas.Scale(_scaleFactor, _scaleFactor, _lastGestureX, _lastGestureY);
}
Run Code Online (Sandbox Code Playgroud)

到目前为止这么好,现在我有一些MotionEvent使用,这是一个LongPressListener.我编写了以下代码来将坐标从MotionEvent图像上的坐标转换为:

var actualX = e.GetX() - (_parent._posX / _parent._scaleFactor);
var actualY = e.GetY() - (_parent._posY / _parent._scaleFactor);
Run Code Online (Sandbox Code Playgroud)

e在这种情况下是图像的框架.帧保存图像(即_parent),用户可以拖动图像._parent._posX/Y发生这种情况时会发生变化 用户还可以缩放图像,即_scaleFactor.

因此,当用户点击任意位置时e,我需要将这些坐标转换为图像坐标.

这两行代码可以工作,但是当用户放大时,坐标会关闭,如附图所示:

屏幕录制

红点代表计算的位置.如您所见,如果用户放大坐标会获得更多关闭.这个计算有什么问题?

c# android coordinates

8
推荐指数
1
解决办法
341
查看次数