标签: projection

如何获得3d中点到平面的距离?

我有一个三角形,其中包含点 A、B、C 和空间中的点 (P)。如何获得点到平面的距离?我需要计算从 P 到平面的距离,即使我的三角形距离很远(或者不在该点上方,如图所示)。

点和三角形:

3d geometry point projection plane

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

即使指定了投影,Mongodb 也会返回所有字段

更新:

我只想返回适合输入的给定用户名的四个字符的所有文档。因此,如果我有一个用户名列表并输入 mango3333,则应返回所有以“mang”开头的用户名。我为此使用了正则表达式,现在我只想返回例如该文档的用户名和 ID 而不是所有字段,但它返回所有字段。

示例文档如下所示:

{"_id":{"$oid":"5d75299b0d01830"}, 
"User": 
{ "username":"mango",
  "userid":"8b8d25d3-3fe6-4d1c",
  "token":"token",
  "pw":"password",
  "statusmessage":"",
  "lastlogin":{"$date":{"$numberLong":"1567959451354"}},
  "registered":{"$date":{"$numberLong":"1567959451354"}
}
Run Code Online (Sandbox Code Playgroud)

这是我的查询:

const db = dbClient.db(dbName);
const regexp = new RegExp(username, "gi");
db.collection(collectionName).find({ "User.Username": regexp }, { "User.Username": 1, "User.UserID": 1, "User.Statusmessage": 1 })
.toArray()
.then(result => {
  console.log(result);
})
.catch(err => console.error(`Failed to get results: ${err}`));
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

regex projection mongodb

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

JPQL——空值到布尔值?

假设我有一个实体

@Entity
@Table(name = "foos")
class Foo{
   @Id
   @Generatedvalue(strategy = IDENTITY)
   private Long id;

   @ManyToOne
   @JoinColumn(name = "bar_id")
   private Bar bar;

   ...
}
Run Code Online (Sandbox Code Playgroud)

和一个投影应该给我一个id和 一个boolean告诉我该实例是否有一个Bar

interface FooProjection{
    String getId();
    Boolean hasBar();
}
Run Code Online (Sandbox Code Playgroud)

如何编写 JPQL 查询?

我确实尝试过

@Query(
    "SELECT"
    "   f.id,"
    "   (f.bar IS NOT NULL) AS bar"
    " FROM Foo f"
)
List<FooProjection> findProjections();
Run Code Online (Sandbox Code Playgroud)

这给了我一个org.eclipse.persistence.exceptions.JPQLException非常有用的错误消息

该表达式无效,这意味着它不遵循 JPQL 语法。

你如何编写这个查询?

java spring projection jpql spring-data-jpa

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

R:在银河坐标系中以莫尔韦德投影绘制天空图

我需要在 Mollweide 投影(提供 360 视角的椭圆投影,用于绘制夜空)中生成带有星座等的星图。我在https://kimnewzealand.github.io/2019/02/21/celestial-maps/找到了一个使用sf包并将天空物体的默认 EPSG:4326 数据转换为 Mollweide 投影的食谱。

在某个阶段,使用以下命令将数据转换为 Mollweide 投影:

constellation_lines_sf_trans<- st_transform(constellation_lines_sf_trans, crs = "+proj=moll")
Run Code Online (Sandbox Code Playgroud)

生成的图像按照链接中所述的方式复制,如下所示:

天空与星座的莫尔韦德投影:赤道坐标

不过没关系,坐标系是赤道的,即基本上与地球上所有坐标系具有相同的旋转轴,例如WGS84(北极向上)。例如,该图显示了银河系,其角度为 60 度。我们需要所谓的银河坐标:这是与我们银河系平面重合的坐标平面。所以,这里的银河只是椭圆轴的一条水平线。例如,在其他地方找到的解决方案似乎使用相同的技术,但那里没有给出代码:

银河系坐标系中天空的莫尔韦德投影

这里银河系是一条水平线,北极位于左上角(记为np;例如,这里可以看到北极周围扭曲的可识别的大熊座/小熊座)。我会拍摄这张图像,但有一个盲点(显示天文台的盲区,无法到达天空中的这个区域),所以我想重现这张图像:星座+莫尔韦德投影+银河系的方向参考范围。

我们能够在 R 包中的各种坐标系之间进行转换。似乎大多数 GIS 工具都使用基于地球旋转(北极向上)的各种与地球相关的坐标系和投影,以满足 GIS 所需的大多数应用程序。问题是是否可以加载并转换为预定义的银河坐标系(或者例如黄道系统),或者通过手动转换恒星数据在脚本中动态执行此转换

gis r projection ggplot2

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

从底图移动到 cartopy

我正在尝试从 python2 中的 Basemap 移动到 python3 中的 cartopy。但是,我发现将一些 Basemap 代码块转换为 cartopy 很困难:

底图(python2.7)

from mpl_toolkits.basemap import Basemap
bmap = Basemap(projection='merc', resolution='c', llcrnrlon=-125, llcrnrlat=26, urcrnrlon=-56, urcrnrlat=46)

print bmap.makegrid(4, 4)[0]
[[-125. -102.  -79.  -56.]
 [-125. -102.  -79.  -56.]
 [-125. -102.  -79.  -56.]
 [-125. -102.  -79.  -56.]]

print bmap.makegrid(4, 4)[1]
[[26.         26.         26.         26.        ]
 [33.23223798 33.23223798 33.23223798 33.23223798]
 [39.91267019 39.91267019 39.91267019 39.91267019]
 [46.00000132 46.00000132 46.00000132 46.00000132]]
Run Code Online (Sandbox Code Playgroud)

cartopy (python 3.7)

import cartopy.crs as ccrs
mrc = ccrs.Mercator()
lons = np.array([-125, -56])
lats = …
Run Code Online (Sandbox Code Playgroud)

projection python-3.x matplotlib-basemap cartopy

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

正投影Python

我使用正交投影来绘制地图.我用这个程序:

from mpl_toolkits.basemap import Basemap
import numpy as np    
import matplotlib.pyplot as plt   
import os, sys    
from sys import argv   
import pylab    
from mpl_toolkits.basemap import Basemap, shiftgrid    
from matplotlib import mpl     
from matplotlib import rcParams    
import matplotlib.pyplot as plt    
import matplotlib.mlab as mlab    
import matplotlib.patches as patches    
import matplotlib.path as path    
import matplotlib.dates as dt    
from numpy import linalg    
import netCDF4    
import time    
import datetime as d   
import sys    
import math    
from mpl_toolkits.axes_grid1 import make_axes_locatable   
from pylab import *


nc …
Run Code Online (Sandbox Code Playgroud)

python projection matplotlib orthographic matplotlib-basemap

0
推荐指数
1
解决办法
3039
查看次数

从矢量的幅度减去常数(缩短矢量)而不使用平方根?

我有一个vector V用整数表示的2维,我constant C从V的幅度中减去a 并获得与V vector W具有相同方向但显然是| V |的幅度.减去C.

幅度需要平方根,整数平方根是烦恼.我真的不想为此转换为浮点数,而且在过去我设法操纵方程式来移除平方根(比如将一个向量投影到另一个)...但这是一个棘手的问题.所以无论如何,W = (|V| - C) * (V / |V|)我认为基本的等式是.我已经尝试过操纵它,但无法在其中的某个点移除幅度.

是否可以在不使用平方根的情况下从矢量的幅度中减去?

language-agnostic algorithm vector projection linear-algebra

0
推荐指数
1
解决办法
472
查看次数

Project 3D指向2D屏幕坐标

我正在尝试将几个3d点投影到屏幕坐标,以确定触摸是否发生在大致相同的区域.应该注意的是,我在Kivy中这样做,这是Python和OpenGL.我看到的问题是这样,但我仍然没有解决.我尝试了以下内容,但数字并不接近屏幕坐标.

def to2D(self, pos, width, height, modelview, projection):
    p = modelview*[pos[0], pos[1], pos[2], 0])
    p = projection*p
    a = p[0]
    b = p[1]
    c = p[2]
    a /= c
    b /= c
    a = (a+1)*width/2.
    b = (b+1)*height/2.
    return (a, b)
Run Code Online (Sandbox Code Playgroud)

为了说明这不会产生良好的结果,请采用以下参数

modelview = [[-0.831470, 0.553001, 0.053372, 0.000000],
             [0.000000, 0.096068, -0.995375, 0.000000],
             [-0.555570, -0.827624, -0.079878, 0.000000],
             [-0.000000, -0.772988, -2.898705, 1.000000]]
projection = [[ 15.763722, 0.000000, 0.000000, 0.000000],
              [ 0.000000, 15.257052, 0.000000, 0.000000],
              [ 0.000000, 0.000000, -1.002002, -2.002002],
              [ …
Run Code Online (Sandbox Code Playgroud)

python opengl projection kivy

0
推荐指数
1
解决办法
3888
查看次数

为什么OpenGL投影矩阵不必要地复杂化?

下图显示了在OpenGL中计算透视投影矩阵时使用的主要值.它们被标记为"HALFFOV","RIGHT","LEFT","NEAR"和"NEAR x 2":

在此输入图像描述

现在,正如您将在下面的图片中看到的那样,在投影之后计算出x值,据说它是2 x NEAR除以RIGHT - LEFT.事实上,2 x NEAR除以RIGHT - LEFT与简单地做NEAR/RIGHT相同.在这两种情况下,你只是加倍,加倍NEAR,加倍右,所以分数是相同的.

此外,在第3列中存在应该存在零的操作,例如:RIGHT + LEFT除以RIGHT - LEFT总是最终为0/RIGHT - LEFT,其始终为零.

在此输入图像描述

当GLM数学库为我制作透视投影矩阵时,那些始终为零的两个总是为零.

为什么矩阵是这样写的?在某些情况下我的假设是错误的吗?

opengl graphics projection matrix

0
推荐指数
1
解决办法
220
查看次数

Google BigQuery中的时间序列投影

我一直在寻找一种在BigQuery中进行时间序列投影的好方法,并发现了这一方法,它很好地用于计算相关性和斜率:View Post。但是,将时间轴扩展到您的选择并没有帮助。

但是,谁能提出一个完整的解决方案,我可以根据需要扩展时间轴(x)并使用单个查询获得(Y)的预测?

任何帮助将不胜感激。

time regression projection time-series google-bigquery

0
推荐指数
1
解决办法
438
查看次数