标签: projection

正交投影矩阵的公式?

我一直在四处寻找,似乎无法找到我正在寻找的东西.我发现了"规范公式",但是使用这些公式的最佳方法是什么?我必须缩小每个顶点? 或者,还有更好的方法?

一个公式真的可以帮助我,但我也在寻找关于相对于观众位置的近和远z平面的解释

math graphics projection orthogonal

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

将投影添加到NHibernate标准会阻止它执行默认实体选择

我正在写一个NHibernate标准,选择支持分页的数据.我正在使用COUNT(*) OVER()SQL Server 2005(+)中的表达式来获取可用行的总数,正如Ayende Rahien 所建议的那样.我需要这个数字才能计算出总共有多少页面.这个解决方案的优点在于我不需要执行第二个查询来获取行计数.

但是,我似乎无法设法编写工作标准(Ayende只提供HQL查询).

这是一个SQL查询,显示我想要的东西,它工作得很好.请注意,我故意省略了实际的分页逻辑以关注问题:

SELECT Items.*, COUNT(*) OVER() AS rowcount
FROM Items
Run Code Online (Sandbox Code Playgroud)

这是HQL:

select
    item, rowcount()
from 
    Item item
Run Code Online (Sandbox Code Playgroud)

请注意,该rowcount()函数在自定义NHibernate方言中注册,并COUNT(*) OVER()在SQL中解析.

要求是使用条件表达查询.不幸的是,我不知道如何做到正确:

var query = Session
    .CreateCriteria<Item>("item")
    .SetProjection(
       Projections.SqlFunction("rowcount", NHibernateUtil.Int32));
Run Code Online (Sandbox Code Playgroud)

每当我添加投影时,NHibernate都不会选择item(就像没有投影一样),就rowcount()在我真正需要的时候.此外,我似乎无法item整体投影,只有它的属性,我真的不想列出所有这些.

我希望有人能解决这个问题.不管怎么说,还是要谢谢你.

sql-server nhibernate paging criteria projection

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

Grails:许多桌子上的投影?

我在Grails中有一些投影问题.能帮我复习一下并为我提出解决方案吗?

  1. 我想查询许多表上的数据,这些表具有多对一的关系,并在两个表上的某些属性上进行投影.例如:

    class Person {
        int id
        String name
        String address
        static hasMany = [cars : Car]
    }
    
    class Car {
       int id
       String brand
       long price
       Person owner
       static belongsTo = [owner : Person]
    }
    
    Run Code Online (Sandbox Code Playgroud)

    那么,我如何只使用一个查询withCriteria(应用投影)来获取指定汽车的信息(包括品牌,价格和所有者名称)?是否可以使用:

    Car.withCriteria {
         projections {
             property("brand")
             property("price")
             property("owner.name")
        }
        eq("id", carId)
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我可以使用投影获取一个指定人员的信息以及他所有车辆的名称吗?例如:[01,Perter,01 Street A,[Mercedes,Toyota,Ducatti]]?

  3. 特殊情况:(与上述人员类别)
    一个人可以加入许多组织,组织可以有一个"父"组织(反之亦然,一个组织可以有许多其他依赖组织).但是有一条规则:一个人只能加入一个特定组织的一个儿童组织.因此,对于给定的组织O和人P,获得P的信息的最快方式是什么,以及具有P作为成员的O的依赖组织的名称.我更喜欢使用Grails投影.

    这是数据模型:

    class Person {
        int id
        String name
        String address
        static hasMany = [joinedOrgs : Organization] 
    }
    
    class Organization {
        int id
        String name
        Organization parentOrg
        static …
    Run Code Online (Sandbox Code Playgroud)

grails criteria projection grails-orm

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

C#Linq将匿名类型投射到界面上

是否可以使用Select to anonymous type进行投影?

这是一些示例代码

public interface ITest
{
    string A{get;}
    int B{get;}
}

string[] names = { "Tom", "Dick", "Harry", "Mary", "Jay" };
IQueryable<ITest> query =
    from     n in names.AsQueryable()
    select   new {A = n.ToUpper(), B = 2012};
Run Code Online (Sandbox Code Playgroud)

上面的代码导致了

无法将类型'System.Linq.IQueryable'隐式转换为'System.Linq.IQueryable'

注意:如果我要定义一个实现ITest的类Test,然后使用以下方法投影到该类,我可以使上面的代码工作:

select   new Test {A = n.ToUpper(), B = 2012};
Run Code Online (Sandbox Code Playgroud)

为什么?我试图看看我是否只能定义接口而不必定义对象的具体实现,并让Linq创建对象.

c# linq projection

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

路径依赖类型是否类型预测?

我现在正在深入阅读Scala.以下是本书的摘录:

所有与路径相关的类型都是类型投影.路径依赖类型由编译器foo.Bar重写foo.type#Bar...

在Scala中,所有类型引用都可以编写为针对命名实体的项目.scala.String类型是scala.type#String名称scala引用包的位置的简写,scala类型StringStringscala包上的类定义.

显然,没有scala.String课,但我没有重现这一点Null.

scala> type N = scala.type#Null
<console>:7: error: type mismatch;
 found   : type
 required: AnyRef
       type N = scala.type#Null
Run Code Online (Sandbox Code Playgroud)

所以,我的问题如下.路径依赖类型是否类型预测?它只是内部编译器表示还是可以用scala代码表示?

types scala projection path-dependent-type

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

是否存在min_element的变体,它具有投影功能?

std::min_element将返回operator<(T,T)由自定义谓词定义的最小元素bool Pred(T,T).是否有类似的函数返回投影函数f(T)->R采用最小值的元素?

显然我可以定义bool Pred(t1,t2) { return f(t1) < f(t2); },但当f是lambda时,这有点不方便.

c++ algorithm iterator projection c++11

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

更改Shapefile的投影

我试图更改或指定一个德国-shape文件的投影NA+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0,但不知何故,它不能很好地工作.

可重复的示例:Shapefile和其他文件可以在这里下载:

我尝试的是以下内容:

library(maptools)
library(sp)
library(rgeos)
library(rgdal)
projection.x <- CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0")
mapG <- readShapePoly("vg2500_lan.shp", verbose=TRUE, proj4string=projection.x)
summary(mapG)
mapG <- spTransform(mapG, CRS("+proj=longlat +ellps=WGS84 +datum=WGS84"))
Run Code Online (Sandbox Code Playgroud)

所以,问题是我无法在地图上绘制我的观察结果.见下文

在此输入图像描述 使用包装中的geocode功能检测到ponits ggmap. 在此输入图像描述 任何想法如何改变shapefile的投影或谷歌坐标的投影将非常感激!

r projection shapefile r-sp

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

计算相机参数和HandEyeCalibration

我正在尝试移植一个旧的增强现实项目,该项目基于另一个透视HMD的metaio框架.

因为metaio是由苹果购买的,它的可用文档和支持非常有限,并且这种新的HMD不支持开箱即用.

除了相机校准/手眼校准之外,一切都已经有效了.

我已经计算了一个Projection矩阵P(使用SPAAM),它将摄像机坐标系中的点变换到屏幕(通过自定义渲染测试).不幸的是,我不能直接在metaio中设置投影矩阵,但必须单独设置相机参数和手眼校准进行渲染.

如所描述因此,我已提取从投影矩阵P的外在和内在的照相机参数这里.

但是这些在设置时无法正常工作.结果似乎没有完全关闭,导致渲染的比例看起来是正确的,并且相机和眼睛之间的手动测量距离约为126mm(在x轴上平移).

投影矩阵P: 投影矩阵P.

内在函数(分辨率:1280 x 720):

内联函数

外在学(赫?): 外部参数

我想我错过了一些我不知道的额外步骤.我感谢任何想法和帮助.

附加信息:

  • metaio正在使用右手坐标系统,相机在负z轴上看x,向右看x向上看
  • 用于手眼校准状态的metaio文档:从相机到眼睛(显示)坐标的转换
  • 由于H轴在x轴上的平移部分必须为正(相机位于HMD的右侧),我认为它的转换是从眼睛到相机指定的?

transformation projection augmented-reality camera-calibration metaio

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

屏幕坐标到世界坐标

我想从屏幕坐标转换为世界坐标OpenGL.我正在glm为此目的使用(我也在使用glfw)

这是我的代码:

static void mouse_callback(GLFWwindow* window, int button, int action, int mods)
{
    if (button == GLFW_MOUSE_BUTTON_LEFT) {
        if(GLFW_PRESS == action){
            int height = 768, width =1024; 
            double xpos,ypos,zpos;
            glfwGetCursorPos(window, &xpos, &ypos);

            glReadPixels(xpos, ypos, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &zpos);

            glm::mat4 m_projection = glm::perspective(glm::radians(45.0f), (float)(1024/768), 0.1f, 1000.0f);

            glm::vec3 win(xpos,height - ypos, zpos);
            glm::vec4 viewport(0.0f,0.0f,(float)width, (float)height);
            glm::vec3 world = glm::unProject(win, mesh.getView() * mesh.getTransform(),m_projection,viewport);

            std::cout << "screen " << xpos << " " << ypos << " …
Run Code Online (Sandbox Code Playgroud)

c++ opengl projection matrix glm-math

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

图像坐标到世界坐标opencv

我使用opencv校准了我的单声道相机.现在我知道相机的内部矩阵和失真系数[K1,K2,P1,P2,K3,K4,K5,K6].假设相机位于[x,y,z]并且[Roll,Pitch,Yaw]旋转.当相机在地板上观看时,如何获得世界坐标中的每个像素[z = 0].

在此输入图像描述

camera opencv projection computer-vision camera-calibration

7
推荐指数
1
解决办法
9838
查看次数