这比起初看起来要复杂得多.我拥有的是一个巨大的数组,它由更多的数组组成,该数组包含[以" x,y"形式的点[ Array ( [0] => Array ( [0] => "0,9", [1] => "0,0", [2] => "9,0", [3] => "9,9", [4] => "0,9" ) [1] => Array ( [0] => "1,5", [1] => "1,6", [2] => "3,6", [3] => "3,8", [4] => "4,8" ) ... and so on ... ) 因此,我需要做的是对所有点进行处理,看看数组中的任何点(例如$points[0][1] to $points[0][2])是否与数组中可能存在的任何其他线段相交.所有线段均按照
以下是关于 geometry 的编程技术问答
我需要在php或javaScript中以kml-file给出的地面覆盖的纬度/lng中找到角落. 即.对于一个具体示例,我需要从: 中获得 60.406505416667 60.400570555556 5.3351572222222 5.3190577777778 3.7088732260919 到角坐标 SW: 60.400316388889;5.3194425 SE: 60.400824722222;5.3355405555556 NE: 60.406759444444;5.3347738888889 NW: 60.406251388889;5.3186730555556 我可以通过 获得另一种方式(大约是给
我在STL文件中定义了一个3D形状,我想使用偏航,俯仰和滚动将其围绕其轴/中心>旋转.但是,我已经实施了一个解决方案,并且它无法正常工作,因为它将围绕原点轴的3D形状旋转而不是 .这是我到目前为止所做的(用php编写): function rotate($vertices, $roll = 0, $pitch = 0, $yaw = 0) { if(!empty($vertices)) { $cosa = cos($yaw); $sina = sin($yaw); $cosb = cos($pitch); $sinb = sin($pitch); $cosc = cos($roll); $sinc = sin($roll); $Axx = $cosa * $cosb; $Axy = $cosa * $sinb * $sinc - $
背景:我在一个小型购物中心的网站上工作,该中心有多个矩形"单位"出租.当"商店"到来时,它可以租用一个或多个"单位",我想生成一张由商店组成的地图(不接管单位) 问题: 我有一个矩形列表(单位),由成对的点 - [[lefttop_x;lefttop_y];[rightbottom_x;rightbottom_y]] - 我想将它们合并为多边形,因此我可以正确地造型(然后我会这样)通过canvas/svg/vml/raphael.js渲染). 单位始终是矩形 单位具有不同的尺寸 单位总是相邻的(它们之间没有空间) 由于这个(最好是PHP,但我可以处理伪代码)操作,我想拥有一个多边形点. 谢谢. P.S.:我一直在调查这一点,我发现了多个"接近我想要的问题"+答案,但是我太累了,或者我已经与数学失去了太长时间:) 解决方案 O'Rourke研究了一个与该问题有关的问题(与许多与计算几何相关的其他问题),因此产生了一种非常漂亮的方法来有效地解决
我在R作为统计平台的经验中有一定的经验,但对基于图像的数学的经验不足.我有一系列带有孔和不规则曲线的照片(TIFF格式,PX/µM).我想测量孔和该特定孔的最接近曲线之间的最短距离.我想为照片中的每个孔做到这一点.孔也不是常规的,所以也许我需要告诉程序什么是孔,什么是曲线(ImageJ具有点和分段的线函数). 有什么想法如何做?我应该在R中使用哪个软件包?您会推荐此类任务的另一个程序吗? 解决方案 编辑:现在使用Sclero软件包可以这样做.该软件包当前可在 github 中中进行详细描述.//github.com/mikkovihtakari/sclero/tree/master/inst/doc" rel =" nofollow noreferrer">教程.只是为了说明,我使用教程中的一个示例: library(devtools) install_github("MikkoVihtakari/sclero", dependencies = TRUE) libra
我需要找到所有与仲裁型四边形的网格单元相交的网格单元的[x, y],其角坐标定义; 网格单元是128 x 128 px 的瓷砖 网格单元在[-nx, -ny]和[nx, ny] 之间具有整数索引(Max Extend是一个正方形,与(2nx * 128) * (2ny * 128) px) 四边形由角点定义,坐标(qx, qy)在像素空间中以(tl, tr, br, bl) 给出. 这集成在a three.js 场景中: 拐角点/坐标是从相机上播放的 3.planebuffergeemetry 如何以JavaScript的计算有效方式获取所有相交的瓷砖? 目前,我通过使用mx + b将每个四边形边缘(128px)作为步骤来计算周长瓷砖.从那里,我只为行添加内部瓷砖索引行.但这有些笨拙,这可能是或可能不是编码技能问题.我将尝试使用三. 我正在寻找更好的解决方案算法;基本公式,伪代码,想法或确定的解决方案. 解决方案 要有效地找到与四边形相交的
我有一个矩阵(图像)和有关有趣部分的信息 (中心的相关和半径给定).我想为所有圆圈剪下 矩阵的一部分是为了为每个圆圈进行更多计算.或者至少我想在所有圆圈中都有一个bitmask. 我使用八度(但也可以使用MATLAB,但由于许可证的限制,这将很困难),并且具有以下脚本,并带有stackoverflow的一些提示.我有20个圆圈的信息,使用八度的核心i5上大约需要0.7 s: % image dim_x = 1000; dim_y = 1000; A=rand(dim_x,dim_y); % center positions and ... c = [222 111; 878 112; 81 718; 89 112; 222 111; 878 112; 81 718; 89 112; 222 111; 878 112; 81 718; 89 112; 222 111; 878 112; 81 718; 89 112; 222 111; 878 112; 81 718; 89
许多算法(例如 解决方案 我开始解决这个问题,并意识到规格是不完整的. atan2有不连续性,因为随着DX和DY的变化,atan2在-pi和 +pi之间会跳跃.下图显示了@MVG建议的两个公式,实际上它们在与atan2相比的位置都有不同的位置. (NB:我在第一个公式中添加了3个,在替代方案中添加了4个,以使线不会重叠在图表上).如果我在该图中添加atan2,则将是直线y = x.因此,在我看来,可能会有各种答案,具体取决于人们想要放置不连续性的位置.如果一个人真的想复制atan2,则答案(以这种类型)为 # Input: dx, dy: coordinates of a (difference) vector. # Output: a number from the range [-2 .. 2] which is monotonic # in the angle this vector makes against the x axis. #
(我为什么要这样做?请参见下面的说明) 考虑两组点,A和B,如下所示 它可能看起来不像它,但是Set A在set B中"隐藏".由于B中的点相对于(x, y)> (x, y),因此无法轻易看到它.更糟糕的是,A中存在的某些点在B中缺少,B包含许多不在A中的点. . 我需要找到必须应用于B设置的适当缩放,旋转和翻译,以便将其与Set A匹配.在上面显示的情况下,正确的值为: scale = 0.14, rot_angle = 0.0, x_transl = 35.0, y_transl = 2.0 产生(足够好)匹配 (在红色中,仅显示匹配的B点;这些点位于右第一个图中的扇区1000
我的情况 输入:一组矩形 每个级别由这样的4个双打组成:(x0,y0,x1,y1) 它们不是以任何角度"旋转"的,它们都是"正常"的矩形,这些矩形向上/向上/向下/向左/右". 它们是随机放置的 - 它们可能在边缘接触,重叠或没有任何联系 我将有几百个矩形 这是在C# 中实现的 我需要找到 由它们的重叠形成的区域 - 画布中的所有区域都多于一个矩形"覆盖"(例如,有两个矩形,是交叉路口) 我不需要重叠的几何形状 - 只是区域(示例:4平方英寸) 重叠不应多次计数 - 例如,想象3个具有相同大小和位置的Rects - 它们彼此之间是彼此的 - 应该对此区域进行一次计数(不是三次) 示例 下图包含三个矩形:a,b,c A和B重叠(如破折号所示) B和C重叠(如破折号所示) 我正在寻找的是显示破折号的区域 - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
我在路径上绘制文本进行一些测试.我通过将位图设置为画布来制作背景图片.然后,我在通往帆布的路径上绘制文本,由矩阵旋转.我必须缩短代码,我只会发布重要的部分,因为它太长了.下面显示的图像是用gimp裁剪的,因此不会因不同的尺寸而烦恼.我的矩形,路径和矩阵对象: RectF drawTextOval; Path drawTextPath; Matrix mDrawnMatrix; 现在,这是我要在圆形路径上绘制文本的方法: drawTextOval.set(drawTextPosX - drawTextArc, drawTextPosY - drawTextArc, drawTextPosX + drawTextArc, drawTextPosY + drawTextArc); drawTextPath.addArc(drawTextOval
嘿,我试图总结并提出一个基本问题和我的想法,我的想法到目前为止尚不正常:s 基本上我的问题是: 用户将元素添加在一起,我想根据这些数字创建一个新元素,以便可以为用户定义的元素制定新的路径.可以说我有一个正方形和一个三角形.用户将其结合到房屋中.现在,我想让房屋成为用户的元素.为此,我需要元素的路径,如何创建这个? 我的想法 使用的图元素基于路径字符串.因此,我希望将它们转换为以后可以使用的几何元素.我使用andréMeneses">andréMeneses在下面的答案中,此处复制的代码: public static Geometry PathMarkupToGeometry(ShieldGearViewModel shieldGearModelRec) { string pathMarkup = shieldGearModelRec.Gear.Path; try { string xaml
我想沿着一个圆的矩形挤出一个3D戒指 我已经查看了WebGL_Geometry_extrude_shapes.html示例,但是我无法用圆圈更改示例路径. 有人可以发布一个例子吗? 预先感谢! 解决方案 我想您正在寻找一种称为a ,例如 var pts = [ new THREE.Vector3(150,0,50),//top left new THREE.Vector3(200,0,50),//top right new THREE.Vector3(200,0,-50),//bottom right new THREE.Vector3(150,0,-50),//bottom left new THREE.Vector3(150,0,50)//back to top left - close square path ]; var
我有一个由2D点列表组成的路径.我想将它们变成一条三角形,以渲染具有指定厚度(以及其他此类内容)的纹理线.因此,从本质上讲,2D点的列表需要成为指定多边形轮廓的顶点列表,如果渲染将呈现该行.问题是处理拐角连接,手动器,帽子等.从没有透支,干净的连接等的意义上,由此产生的多边形必须是"完美的".这样它可以被挤出或以其他方式挤出. . 是否有任何简单资源可以提供算法洞察力,代码或有关有效执行此操作的更多信息? 我绝对不希望用曲线,弧形,破折号和所有铃铛和所有钟声和所有的铃铛和所有的铃铛和所有的铃铛.我一直在多个源树中挖掘OpenVG实施和其他东西以找到一些见解,但是所有这些都令人费解. 我肯定愿意自己编码,但是有许多退化的情况(小部分 +较厚的宽度 +尖角)会产生各种联合问题.即使有一点帮助也可以节省我的时间来处理所有这些. 编辑:如果您只是从顶点转到顶点,这是一个堕落案例之一的示例.红色是原始路径.橙色块是在指定的宽度对齐并以每个段为中心的指定宽度绘制的矩形.