当前位置: 首页 > news >正文

网络推广策划案例网站建设和网站优化哪个更重要

网络推广策划案例,网站建设和网站优化哪个更重要,妖姬直播,莱芜都市网二手房数学原理及算法过程 Delaunay 三角剖分是一种特殊的三角剖分方法#xff0c;它满足以下两个重要性质#xff1a; 最大化最小角性质#xff1a;Delaunay 三角剖分通过避免细长的三角形来最大化所有三角形的最小角。空外接圆性质#xff1a;在 Delaunay 三角剖分中#xf…数学原理及算法过程 Delaunay 三角剖分是一种特殊的三角剖分方法它满足以下两个重要性质 最大化最小角性质Delaunay 三角剖分通过避免细长的三角形来最大化所有三角形的最小角。空外接圆性质在 Delaunay 三角剖分中每个三角形的外接圆不包含任何其他点。这意味着对于三角剖分中的任意三角形其外接圆内没有其他输入点。 基于这些性质Delaunay 三角剖分算法的一种实现方式是 Bowyer-Watson 算法这是一种增量算法。以下是具体的算法步骤 算法过程 初始化超级三角形 创建一个足够大的超级三角形包含所有输入点。这个三角形的三个顶点坐标远离实际输入点的范围使其能够覆盖所有点。 逐点插入 对于每个输入点找到所有包含该点的外接圆的三角形。这些三角形被称为“坏三角形”。 构建多边形 对于所有坏三角形它们的每条边如果只被一个坏三角形共享则称其为边界边。这些边将形成一个多边形。 删除坏三角形 将所有坏三角形从三角剖分中删除。 重新三角化多边形 用新插入的点和多边形的边构成新的三角形并将这些三角形加入三角剖分中。 移除超级三角形的影响 在所有点都插入后移除包含超级三角形顶点的所有三角形得到最终的 Delaunay 三角剖分。 数学原理 外接圆计算 对于每个三角形计算其外接圆。外接圆的圆心外心和半径可以通过三角形顶点的坐标计算。设三角形顶点为 ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) (x_1, y_1), (x_2, y_2), (x_3, y_3) (x1​,y1​),(x2​,y2​),(x3​,y3​)。外接圆的圆心 ( u , v ) (u, v) (u,v) 计算如下 d 2 ( x 1 ( y 2 − y 3 ) x 2 ( y 3 − y 1 ) x 3 ( y 1 − y 2 ) ) d 2 \left( x_1(y_2 - y_3) x_2(y_3 - y_1) x_3(y_1 - y_2) \right) d2(x1​(y2​−y3​)x2​(y3​−y1​)x3​(y1​−y2​)) u ( ( x 1 2 y 1 2 ) ( y 2 − y 3 ) ( x 2 2 y 2 2 ) ( y 3 − y 1 ) ( x 3 2 y 3 2 ) ( y 1 − y 2 ) ) d u \frac{((x_1^2 y_1^2)(y_2 - y_3) (x_2^2 y_2^2)(y_3 - y_1) (x_3^2 y_3^2)(y_1 - y_2))}{d} ud((x12​y12​)(y2​−y3​)(x22​y22​)(y3​−y1​)(x32​y32​)(y1​−y2​))​ v ( ( x 1 2 y 1 2 ) ( x 3 − x 2 ) ( x 2 2 y 2 2 ) ( x 1 − x 3 ) ( x 3 2 y 3 2 ) ( x 2 − x 1 ) ) d v \frac{((x_1^2 y_1^2)(x_3 - x_2) (x_2^2 y_2^2)(x_1 - x_3) (x_3^2 y_3^2)(x_2 - x_1))}{d} vd((x12​y12​)(x3​−x2​)(x22​y22​)(x1​−x3​)(x32​y32​)(x2​−x1​))​ r ( x 1 − u ) 2 ( y 1 − v ) 2 r \sqrt{(x_1 - u)^2 (y_1 - v)^2} r(x1​−u)2(y1​−v)2 ​ import matplotlib.pyplot as plt import numpy as npclass Point:def __init__(self, x, y):self.x xself.y yclass Triangle:def __init__(self, p1, p2, p3):self.p1 p1self.p2 p2self.p3 p3self.circumcenter, self.circumradius self.circumcircle()def circumcircle(self):Calculate the circumcenter and circumradius of the triangle.ax, ay self.p1.x, self.p1.ybx, by self.p2.x, self.p2.ycx, cy self.p3.x, self.p3.yd 2 * (ax * (by - cy) bx * (cy - ay) cx * (ay - by))ux ((ax*ax ay*ay) * (by - cy) (bx*bx by*by) * (cy - ay) (cx*cx cy*cy) * (ay - by)) / duy ((ax*ax ay*ay) * (cx - bx) (bx*bx by*by) * (ax - cx) (cx*cx cy*cy) * (bx - ax)) / dcircumcenter Point(ux, uy)circumradius np.sqrt((ax - ux)**2 (ay - uy)**2)return circumcenter, circumradiusdef contains_point(self, p):Check if the point p is inside the circumcircle of the triangle.return np.sqrt((p.x - self.circumcenter.x)**2 (p.y - self.circumcenter.y)**2) self.circumradiusdef delaunay_triangulation(points):Perform Delaunay triangulation on a set of points.super_triangle Triangle(Point(-1e5, -1e5), Point(1e5, -1e5), Point(0, 1e5))triangulation [super_triangle]for p in points:bad_triangles []for tri in triangulation:if tri.contains_point(p):bad_triangles.append(tri)polygon []for tri in bad_triangles:for edge in [(tri.p1, tri.p2), (tri.p2, tri.p3), (tri.p3, tri.p1)]:is_shared Falsefor other in bad_triangles:if other ! tri and (edge in [(other.p1, other.p2), (other.p2, other.p3), (other.p3, other.p1)] or edge[::-1] in [(other.p1, other.p2), (other.p2, other.p3), (other.p3, other.p1)]):is_shared Truebreakif not is_shared:polygon.append(edge)for tri in bad_triangles:triangulation.remove(tri)for edge in polygon:triangulation.append(Triangle(edge[0], edge[1], p))triangulation [tri for tri in triangulation if not (super_triangle.p1 in [tri.p1, tri.p2, tri.p3] or super_triangle.p2 in [tri.p1, tri.p2, tri.p3] or super_triangle.p3 in [tri.p1, tri.p2, tri.p3])]return triangulationdef plot_triangulation(triangles, points):for tri in triangles:plt.plot([tri.p1.x, tri.p2.x], [tri.p1.y, tri.p2.y], b-)plt.plot([tri.p2.x, tri.p3.x], [tri.p2.y, tri.p3.y], b-)plt.plot([tri.p3.x, tri.p1.x], [tri.p3.y, tri.p1.y], b-)for p in points:plt.plot(p.x, p.y, ro)plt.show() # Generate random points in the unit square rectangle_corners [Point(0, 0), Point(1, 0), Point(1, 1), Point(0, 1)] random_points [Point(np.random.rand(), np.random.rand()) for _ in range(20)] points rectangle_corners random_pointstriangles delaunay_triangulation(points) plot_triangulation(triangles, points)
http://www.w-s-a.com/news/962260/

相关文章:

  • 搭建网站的英语seo优化专员招聘
  • 做网站深紫色搭配什么颜色网站的在线支付怎么做
  • 中国最大网站建设公司长沙专业做网站公司哪家好
  • 金峰辉网站建设菏泽财富中心网站建设
  • 怎么做网站站长视频企业网站开发意义
  • 网站创建多少钱商标自助查询系统官网
  • 免费做App和网站的平台广州做网站推广的公司
  • 衡水做网站推广的公司wordpress相册滑动
  • 不用域名也可以做网站公司网站建设制作难么
  • 学做网站培训机构wordpress 图片拉伸
  • 成都捕鱼网站建设wordpress自定义文章类别
  • wordpress网站怎么加速湖北网站建设企业
  • 迁安做网站中的cms开发南平网站建设公司
  • 肥西县住房和城乡建设局网站代驾系统定制开发
  • 网站建设明细报价表 服务器qq是哪家公司的产品
  • html链接网站模板wordpress怎么调用简码
  • 网站域名怎么查简述网站推广的五要素
  • 咸宁网站设计公司app安装下载
  • 丝网外贸做哪些网站最优的赣州网站建设
  • 如何做网站不被查网站开发工程师岗位说明书
  • 做网站需要vps吗网站建设后怎样发信息
  • 网站建立风格二手交易网站开发可参考文献
  • 成都微信网站开发优化大师优化项目有哪些
  • 哪个网站做自考题目免费郑州网站建设公司qq
  • 地方性的网站有前途顺的网络做网站好不好
  • 学校申请建设网站的原因不要网站域名
  • 推荐响应式网站建设子域名查询工具
  • 如何建设学校的微网站广告推广是什么
  • 设计类专业哪个就业前景好网站建设seoppt
  • 济南建站公司网站网站友链查询源码