草庐IT

几何体

全部标签

旋转矩阵的几何意义

点向量坐标矩阵的几何意义介绍旋转矩阵的几何含义之前,先介绍一下点向量坐标矩阵的几何含义点:在一维空间下就是一个标量,如同一条直线上,以任意某一个位置为0点,以一定的尺度间隔为1,2,3...,相反方向为-1,-2,-3...;如此就形成了一维坐标系,这时候任何一个点都可以用一个数值表示,如点p1=5,即即从原点出发沿着x轴正方向移动5个尺度;点p2=-3,负方向移动3个尺度;     在一维坐标系上过原点做垂直于一维坐标系的直线,则形成了二维坐标系,此时描述一个点需要两个数值来表示点p3=(3,2),即从原点出发沿着x轴正方向移动3个尺度,在此基础上沿着y轴正方向移动两个尺度的位置就是点p3。

ruby-on-rails - 回形针可以读取 S3 存储桶中的照片几何图形吗?

我想从我的S3容器中读取照片的几何形状。当它在我的本地时,这是有效的:defphoto_geometry(style=:original)@geometry||={}@geometry[style]||=Paperclip::Geometry.from_filephoto.path(style)end但是当我将模型切换到S3时它似乎不起作用。有什么建议吗?更大的故事是,我正在尝试编写一些代码,允许我从S3检索照片,允许用户裁剪它们,然后将它们重新上传回S3,仍然由回形针分配。编辑:这是返回的错误:Paperclip::NotIdentifiedByImageMagickError:ph

javascript - 每个面有 K 个顶点的 3D 点的三 Angular 剖分

我正在使用Three.js。我有一组3D点(x,y,z)和一组面孔。一张脸由K个点组成。它既可以是凸的也可以是凹的。我在Three.js文档中找不到任何可以帮助我的东西。一种解决方案可能是对这些形状进行三Angular剖分,但到目前为止我还没有找到任何简单的3D三Angular剖分算法。另一个解决方案是做类似的事情:varpointsGeometry=newTHREE.Geometry();pointsGeometry.vertices.push(newTHREE.Vector3(10,0,0));pointsGeometry.vertices.push(newTHREE.Vector

javascript - 在不改变外部几何形状的情况下应用 three.js 分割修改器?

我正在尝试采用任何three.js几何体并将其现有面分割为更小的面。这实质上会给几何图形更高的“分辨率”。three.js的示例中有一个分割修改器工具,它非常适合我正在尝试做的事情,但它最终会改变和变形几何体的原始形状。我想保留原来的形状。ViewtheSubdivisionModifierExample当前分割修饰符的行为示例:我希望它如何表现的粗略示例:分割修饰符是这样应用的:letoriginalGeometry=newTHREE.BoxGeometry(1,1,1);letsubdivisionModifier=newTHREE.SubdivisionModifier(3);l

javascript - 三个 js 自定义几何体 - 光照不工作

我有以下在Three.js中绘制菱形的代码:varmaterial=newTHREE.MeshPhongMaterial({color:0x55B663,side:THREE.DoubleSide});vargeometry=newTHREE.Geometry();geometry.vertices.push(newTHREE.Vector3(0,1,0));geometry.vertices.push(newTHREE.Vector3(0,-1,0));geometry.vertices.push(newTHREE.Vector3(-1,0,-1));geometry.vertice

javascript - 你能在 three.js 场景之间共享网格吗?

是否可以在场景之间共享网格或几何体?我有多个场景,它们应该是相同的、大的、网格的,但是当我尝试在它们之间共享网格时,我得到了WebGL上下文错误。我怀疑在将它们添加到场景时在网格或几何体上设置了一些变量,从而防止它们在另一个场景中重复使用。编辑:更具体地说,我正在尝试在不同场景之间共享已使用JSONLoader加载的几何体。IE。在此示例中,“apps”是一组具有场景的应用程序:varloader=newTHREE.JSONLoader();loader.load('obj/tree/tree.js',function(geometry){apps.map(function(app){

计算几何——三角剖分(Triangulation)

本节主要讲解了如何将二维多边形划分为多个不相交的三角形。一、画廊问题artgalleryproblem        考虑如下场景,在一个尺寸为多边形的画廊中放置摄像头(哨兵),需要放几个才能完全覆盖该场景?可以看到下图至少需要两个哨兵。    如下图,若多边形是凸多边形或星形多边形,那么只须在中间的核位置放一个即可,此情况为该问题的最小解(下界):    若多边形不规则,那么最多n个点,即n多边形的每个顶点都设置一个哨兵,就可以将整个多边形覆盖,因此问题的最大解(上界)为n。         实际上,对于n个顶点的不规则多边形而言,最多只须n/3个点即可覆盖,如下图红点所示:因为场景不同导致

javascript - 在 Three.js 中为合并的几何体使用多种 Material

我想使用2个网格创建一棵松树,一个用于树干,另一个用于灌木,这就是我所做的:varpine_geometry=newTHREE.Geometry();varpine_texture_1=THREE.ImageUtils.loadTexture('./res/textures/4.jpg');varpine_geometry_1=newTHREE.CylinderGeometry(25,25,50,6);varpine_material_1=newTHREE.MeshBasicMaterial({map:pine_texture_1});varpine_1=newTHREE.Mesh(p

javascript - 是否可以隐藏/保护 webGL 中使用的数据?

学了一点webGL,主要用three.js。我加载.obj文件并以3D形式绘制它们。我已将我的项目放在网上,例如:www.mydomain.com我不介意人们通过他们的浏览器查看我的源代码,但我展示的.obj文件来自不想泄露它们的人。在这方面我完全是个新手。由于我的源代码可供所有人使用,我猜.obj文件也可供所有人使用。那么是否可以隐藏或保护它们,以便任何人都无法下载它们? 最佳答案 我敢肯定,如果您想在Javascript/WebGL中访问和使用任何文件,您将无法保护它们。它们需要在某个时候被解析为可用格式,以便浏览器/javas

javascript - Three.js 中的自定义形状

在我的项目中,我创建的形状是球体,我使用图像作为Material的纹理...如何制作自定义形状(不是球体、矩形等)?例如,如何创建半球?我现在的代码://createatexturetexture=THREE.ImageUtils.loadTexture('red.png');//createasphereshapegeometry=newTHREE.SphereGeometry(50,16,16);//giveitashaperedcolormaterial=newTHREE.MeshLambertMaterial({map:texture});//createanobjectmes