草庐IT

javascript - 如何计算直线和任意形状的交点?

有没有一种方法可以几何计算直线和任意图形路径的交点?我知道所有直线和曲线在路径中的位置,如果有帮助的话,我正在使用HTML5canvas元素。基本上,我可以访问所有Canvas绘图命令及其参数。例如,如果调用API时先是lineTo,然后是moveTo,然后是arc,我拥有所有这些信息。对API的每次调用都存储在一个数组中。我有路径定义,我只想找出直线与路径相交的位置。下图显示了我需要查找的点的示例。感谢您的帮助!同样,如果可能的话,我宁愿从几何Angular而不是基于像素来做到这一点。 最佳答案 您可能想看看KevinLindse

javascript - 如何在我的 CreateJS 形状中获得随机颜色?

我想在定义“深红色”的地方使用随机颜色varstage=newcreatejs.Stage("demoCanvas");varcircle=newcreatejs.Shape();circle.graphics.beginFill("Crimson").drawCircle(0,0,50);circle.x=100;circle.y=100;stage.addChild(circle);stage.update(); 最佳答案 beginFill接受任何颜色,也可以是十六进制,所以你只需要生成一个随机的十六进制颜色varstage=

javascript - 在 ZingChart 上绘制形状作为值

我有一个要求,我的数据值是二维对象,我必须在图表中绘制(散点图):在这张图表上,我有两个值(红色和绿色),每个值都由一个坐标为(x1,y1)-(x2-y2)的矩形组成。您知道如何使用ZingChart库实现这一点吗?有可能吗?如果没有,您知道我可以用来实现此功能的替代javascript库吗?谢谢! 最佳答案 我是ZingChart团队的一员,很乐意为您提供帮助。这当然可以使用类型为“poly”的标记对象。在标记对象的points数组中,您需要指定矩形的所有四个点,它们看起来像这样:[[x1,y1],[x1,y2],[x2,y2],

javascript - 为可见的 Three.js 形状调整相机

我有一个相机正在注视的CubeGeometry,我希望相机缩放以便立方体完全可见,但不会变大。我最初的尝试是将立方体的顶点转换为相机坐标系,functiontoScreenXY(position,camera){varpos=position.clone();varprojScreenMat=newTHREE.Matrix4();projScreenMat.multiply(camera.projectionMatrix,camera.matrixWorldInverse);projScreenMat.multiplyVector3(pos);returnpos;}functionSc

javascript - 使用 KineticJS 变换(移动/缩放/旋转)形状

我正在尝试为KineticJS构建一个转换管理器,它将构建一个边界框并允许用户在他们的Canvas上缩放、移动和旋转图像。我被anchor的逻辑绊倒了。http://jsfiddle.net/mharrisn/whK2M/我只想让用户从任何Angular落按比例缩放他们的图像,并在按住并拖动anchor时旋转。谁能帮我指明正确的方向?谢谢! 最佳答案 这是我制作的旋转控件的概念证明:http://codepen.io/ArtemGr/pen/ociAD当控件被拖动时,dragBoundFunc用于旋转旁边的内容:controlGro

javascript - D3 使用图案用图像填充形状

我正在尝试使用D3.js创建一个圆形头像,但我无法让我的图像显示在我的圈子中。我正在使用svg模式def尝试用图像填充圆圈。谁能告诉我我在下面做错了什么?谢谢。varconfig={"avatar_size":48}varbody=d3.select("body");varsvg=body.append("svg").attr("width",500).attr("height",500);vardefs=svg.append('svg:defs');defs.append("svg:pattern").attr("id","grump_avatar").attr("width",co

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

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

javascript - 新形状和旧形状必须具有相同数量的元素

出于学习目的,我正在使用Tensorflow.js,在尝试使用fit方法和批处理数据集(10x10)来学习批处理训练过程时遇到错误。我有几张600x600x3的图像要分类(2个输出,1或0)这是我的训练循环:constbatches=awaitloadDataset()for(leti=0;i这是我定义数据集的方式constchunks=chunk(examples,BATCH_SIZE)constbatches=chunks.map(batch=>{constys=tf.tensor1d(batch.map(e=>e.y),'int32')constxs=batch.map(e=>i

javascript - 使用 Fabricjs 在形状内绘制图像

我目前正在使用canvas和Javascript进行图像处理。我正在为此使用fabric.js。我只是想让用户上传一张图片并将其与我们提供的模板合并。即,我只想在中间的空圈中显示上传的图片,他们可以通过拖动来调整。如果我将模板保留在上层,用户将无法拖动和调整,因为Canvas上充满了模板。如果我将上传的图片放在上层,那么图片会溢出圆圈。如何通过为用户提供易于使用的界面来解决此问题?我在fabric.js中尝试了ClipTo函数,但它不适用于图像对象。 最佳答案 我认为overlayImage是你所追求的。看看customizatio

javascript - 确定定界形状边界的点的算法——使用 javascript

我正在开发一个htmlmap制作器,我想为我们的用户提供通过单击区域快速创建形状的能力,而不是让他们手动定义形状。首先让我们看看我们目前正在做什么。用户想要绘制区域A。他需要做的是在每个点上多次单击以定义形状的边界。我想知道是否有一种算法允许用户在A区域中单击并可以确定要放置哪些点以便在形状边界之后创建接近最佳的形状-基于图像对比度。我处理这个问题的第一个想法是确定离点击点最远的上、左、下、右点。将这四点作为我们的出发点。然后对于每个段,用一个新点对其进行分割,并沿着向量法线移动新点,直到我碰到对比边缘。当然,这种方法有一些局限性,但这是我可以假设的形状可以是凸的,凹的等等...对比度