Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 二维几何形状的渐变_Math_Graphics_Geometry - Fatal编程技术网

Math 二维几何形状的渐变

Math 二维几何形状的渐变,math,graphics,geometry,Math,Graphics,Geometry,我一直在使用柏林噪声和径向梯度的组合生成岛屿——如中所述。它工作得很好,但很明显,这些岛屿都是圆形的,我想要更多的种类 我想知道是否有一种将几何形状的方程转换成梯度方程的通用方法。一个方程,它的形状就像一个圆的欧几里得距离。这可能吗?这是显而易见的吗?定义一个几何图形的隐式曲面,或者()基本上就是你想要的。例如,半径为R的圆的隐式曲面为 f(x,y)=x^2+y^2-R^2 请注意,当f(x,y)=0时,定义圆的曲面。当f(x,y)

我一直在使用柏林噪声和径向梯度的组合生成岛屿——如中所述。它工作得很好,但很明显,这些岛屿都是圆形的,我想要更多的种类


我想知道是否有一种将几何形状的方程转换成梯度方程的通用方法。一个方程,它的形状就像一个圆的欧几里得距离。这可能吗?这是显而易见的吗?

定义一个几何图形的隐式曲面,或者()基本上就是你想要的。例如,半径为R的圆的隐式曲面为

f(x,y)=x^2+y^2-R^2

请注意,当f(x,y)=0时,定义圆的曲面。当f(x,y)<0时,则x^2+y^20表示点(x,y)在圆外。为了从中创建图像,您需要迭代每个像素并计算f(x,y),同时找到最小值和最大值,然后缩放整个图像,使其范围介于0和1之间

这在技术上不会给你距离。圆是一种特殊情况,因为它的方程(x^2+y^2)是距离原点的平方距离函数。这确实会给您带来您最可能寻找问题的效果-内部为负,内部为正(反之亦然),同时将幅值按w.r.t.缩放到给定点到曲面的距离

对于任何一个几何图形的方程,你都需要得到一个边上的所有项,形成f(x,y)。例如,取x*y=log(x)。这可以变成x*y-log(x)=0,所以f(x,y)=x*y-log(x)