gpt4 book ai didi

javascript - 如何将形状分割为给定大小的部分

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:46:27 26 4
gpt4 key购买 nike

我目前正在尝试构建一种饼图/voronoi 图混合(在 canvas/javascript 中)。我不知道它是否可能。我对此很陌生,我还没有尝试过任何方法。

假设我有一个圆圈和一组数字 2、3、5、7、11。

我想将圆分割成等同于数字的部分(很像饼图),但形成格子/蜂窝状的形状。

enter image description here

这可能吗?是不是太难了,尤其是对于那些只做了一些基本的饼图渲染的人?

最佳答案

这是我快速浏览后的看法。

一个通用的解决方案,假设有 n k 的多边形顶点/边,将取决于 n 的解决方案方程式,其中每个方程式不超过 2nk , (但恰好 2k 非零)变量。每个多边形方程中的变量都是相同的x_1, x_2, x_3... x_nky_1, y_2, y_3... y_nk变量。 x_1, x_2, x_3... x_nk 中的四个有非零系数和恰好四个 y_1, y_2, y_3... y_nk每个多边形的方程都有非零系数。 x_iy_i根据父形状的不同而有不同的界限。为了简单起见,我们假设形状是一个圆形。边界条件为:(x_i)^2 + (y_i)^2 <= r^2

注意:我说的不超过2nk , 因为我不确定下限,但知道它不能超过 2nk .这是多边形共享顶点的结果。

这些方程是一组确定的但变量有界的积分,表示每个多边形的面积,面积等于 ith多边形:

A_i = pi*r^2/S_i

哪里r是父圆的半径,S_i是分配给多边形的编号,如您的图表所示。

四对独立的 (x_j,y_j) ,在多边形方程中都具有非零系数将产生多边形的顶点。

这可能被证明是相当困难的。

关于javascript - 如何将形状分割为给定大小的部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11701881/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com