pythonOCC 将二维坐标转化为三维坐标
OCC 当中提供了多种方式转换
直接转换为三维坐标
使用 V3d_View.ProjReferenceAxe()会返回有6个元素的元组,前三位分别对应 XYZ
例子 self._display.View.ProjReferenceAxe()
但是,这种方式转换的坐标让人有点摸不着头脑,不推荐
通过求交点获取
这种方式会把鼠标限制与某一个面上,方便
def ConvertPos(self, x:int, y:int, PlaneOfTheView:gp_Pln = None):
'''
Convert 2d pos to 3d pos
'''
try:
X,Y,Z,VX,VY,VZ = self._display.View.ConvertWithProj(x, y)
P1 = gp_Pnt()
Vp2 = gp_Vec()
P1.SetCoord(X, Y, Z)
Vp2.SetCoord(VX,VY,VZ)
gpLin = gp_Lin(P1, gp_Dir(Vp2))
aCurve = Geom_Line(gpLin)
if PlaneOfTheView is None:
PlaneOfTheView = Geom_Plane(self.activity_plane)
CS = GeomAPI_IntCS(aCurve, PlaneOfTheView)
if CS.IsDone():
point = CS.Point(1)
return point.X(), point.Y(), point.Z()
except Exception as e:
logging.error(e)
这个函数已经合入了我的 potato-pythonocc ,欢迎前来试用
pythonOCC 将二维坐标转化为三维坐标的更多相关文章
- OpenGL屏幕二维坐标转化成三维模型坐标
我们把OpenGL里模型的三维坐标往二维坐标的转化称为投影,则屏幕上的二维坐标往三维坐标转化则可以称为反投影,下面我们来介绍一下反投影的方法. 主要是gluUnProject函数的使用,下面是代码: ...
- 【opencv】 solvepnp 和 solvepnpRansac 求解 【空间三维坐标系 到 图像二维坐标系】的 三维旋转R 和 三维平移 T 【opencv2使用solvepnp求解rt不准的问题】
参考: pnp问题 与 solvepnp函数:https://www.jianshu.com/p/b97406d8833c 对图片进行二维仿射变换cv2.warpAffine() or 对图片进行二维 ...
- 二维数组 cudaMallocPitch() 和三维数组 cudaMalloc3D() 的使用
▶ 使用函数 cudaMallocPitch() 和配套的函数 cudaMemcpy2D() 来使用二维数组.C 中二维数组内存分配是转化为一维数组,连贯紧凑,每次访问数组中的元素都必须从数组首元素开 ...
- 二维数组转化为一维数组 contact 与apply 的结合
将多维数组(尤其是二维数组)转化为一维数组是业务开发中的常用逻辑,除了使用朴素的循环转换以外,我们还可以利用Javascript的语言特性实现更为简洁优雅的转换.本文将从朴素的循环转换开始,逐一介绍三 ...
- HDU 5517 【二维树状数组///三维偏序问题】
题目链接:[http://acm.split.hdu.edu.cn/showproblem.php?pid=5517] 题意:定义multi_set A<a , d>,B<c , d ...
- 题目要求:传入数组 内容为[['lisi','男','27'],['wangwu','男',18],['zhaoliu','男','30']],将此二维数组转化为一维数组,创建自定义函数完成
//自定义函数 function getOne($arr){ $str = ''; //定义空的字符串,用来接收值 foreach ($arr as $key=>$value){ //循环遍历数 ...
- 二维vector容器读取txt坐标
template <class vector> struct HeadLocation{ vector x; vector y; }; vector<HeadLocation< ...
- 【Excle】二维表转化为一维表
现在我们想做如下操作: 想把表1的数据转化为表2的数据,那么我们只需要如下这段代码即可解决需求 Sub 转置() Dim i%, arr arr = Application.InputBox(&quo ...
- 用 Python 把微信小程序的二维码转化成图片
官方文档 import cString import requests from tornado.web import authenticated, RequestHandler URL = 'htt ...
- PHP 把MYSQL重复ID 二维数组重组为三维数组
应用场景 MYSQL在使用关联查询时,比如 产品表 与 产品图片表关联,一个产品多张产品图片,关联查询结果如下: $arr=[['id'=>1,'img'=>'img1'],['id'=& ...
随机推荐
- 【数值方法-Python实现】Crout分解+追赶法实现
涉及Crout分解.追赶法的线性方程组求解方法的Python实现. Codes def CroutLU(A:np.ndarray)->Tuple[np.ndarray,np.ndarray]: ...
- kafka开启kerberos认证详细步骤
一.kerberos安装部署 kerberos的基本原理不做过多介绍了,可自行查阅:本文主要介绍kerberos的安装及使用;使用到的软件版本:系统:Red Hat Enterprise Linux ...
- Python数据格式转换神器-提高办公效率
一.引言 在工作日常里,数据转换总是让人头疼?别急,今天揭秘一个超级实用的Python技巧,帮你轻松搞定各种数据格式转换,提升工作效率不是梦! 场景1:你手头有一堆CSV格式的(逗号分隔符)数据,其他 ...
- 编写你的第一个 Django 应用程序,第3部分
本教程从教程 2 停止的地方开始.我们是 继续网络投票应用程序,并将专注于创建公众界面 – "视图". 在我们的投票应用程序中,我们将有以下四个视图: 问题"索引&quo ...
- 基础指令:sudo提权、通配符、特殊符号、stat命令、id命令、正则表达式
目录 4.4 sudo提权 授权的两种方法 4.4 通配符-查文件 4.5 特殊符号 4.6 stat输出文件的详细内容 4.7 id命令查看用户基本信息 4.8 正则表达式 4.8.1 符号 ^ 4 ...
- 配置springmvc的springmvc.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- ShardingJdbc学习笔记
Mysql主从复制遇到问题 安装mysql Install/Remove of the Service Denied!错误的解决办法
- 安装yml 与 wget
一.备份/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-B ...
- 你了解 Java 的 ZGC(Z Garbage Collector)吗?
Java 的 ZGC(Z Garbage Collector) ZGC(Z Garbage Collector) 是 Java 11 引入的一种低延迟垃圾回收器,旨在减少垃圾回收时的停顿时间,并能够在 ...
- thinkphp 3.2的一些笔记
1.基础操作"::"语法.A()方法 2.php与js混写实现ajax无刷新执行控制器的方法 3.session的使用,通过session验证用户登录状态 4.使用UTFWry.d ...