NCF参数化建筑论坛

标题: 伪数学曲面 [打印本页]

作者: panhao1    时间: 2012-8-15 01:52
标题: 伪数学曲面
本帖最后由 panhao1 于 2012-8-15 02:01 编辑

看了SimingMei的帖子 觉得挺好看的 于是模仿她做了个紫菜(做法大概相同吧)

http://www.grasshopper3d.com/photo/parametric-curve?context=user


其实就是2种数学曲面拼接的 一种必须是曲线曲面 另外一种随意


[attach]34062[/attach]

[attach]34063[/attach]

[attach]34064[/attach]




作者: panhao1    时间: 2012-8-15 01:59
打不开gh官网链接的可以看下图

[attach]34066[/attach]
作者: panhao1    时间: 2012-8-15 02:00
本帖最后由 panhao1 于 2012-8-15 02:04 编辑

[attach]34067[/attach]

rhino文件
[attach]34068[/attach]

作者: xyc44444444    时间: 2012-8-15 08:02
厉害!!!!
作者: wangjunxiong    时间: 2012-8-15 08:05
{:07:}给力!
作者: ping88    时间: 2012-8-15 08:20
Trefoil Knot
Graphics by Paul Bourke
November 2004      x = 41 cos(u) - 18 sin(u) - 83 cos(2 u) - 83 sin(2 u) - 11 cos(3 u) + 27 sin(3 u)
y = 36 cos(u) + 27 sin(u) - 113 cos(2 u) + 30 sin(2 u) + 11 cos(3 u) - 27 sin(3 u)
z = 45 sin(u) - 30 cos(2 u) + 113 sin(2 u) - 11 cos(3 u) + 27 sin(3 u)
where 0 < u < 2 pi
作者: ping88    时间: 2012-8-15 08:21
看到这些公式,什么去用gh应用它呢  截个gh图看看,谢谢!
作者: ping88    时间: 2012-8-15 08:21
Supershapes (Superformula)
Written by Paul Bourke
March 2002
Based upon equations by Johan Gielis
Intended as a modelling framework for natural forms.


See also Superellipse and Supershape in 3D
     




--------------------------------------------------------------------------------


The supershape equation is an extension of the both the equation of the sphere and ellipse

(x / a)2 + (y / b)2 = r2
and even the superellipse given here. The general formula for the supershape is given below.



Where r and phi are polar coordinates (radius,angle). n1, n2, n3, and m are real numbers. a and b are real numbers excluding zero.

m = 0
This results in circles, namely r = 1   
n1 = n2 = n3 = 1
Increasing m adds rotational symmetry to the shape. This is generally the case for other values of the n parameters. The curves are repeated in sections of the circle of angle 2pi/m, this is apparent in most of the following examples for integer values of m.  m=1 m=2
m=3 m=4
m=5 m=6

n1 = n2 = n3 = 0.3
As the n's are kept equal but reduced the form becomes increasingly pinched.  m=1 m=2
m=3 m=4
m=5 m=6

If n1 is slightly larger than n2 and n3 then bloated forms result. The examples on the right have n1 = 40 and n2 = n3 = 10.  m=1 m=2
m=3 m=4
m=5 m=6

Polygonal shapes are achieved with very large values of n1 and large but equal values for n2 and n3.  m=3 m=4
m=5 m=6

Asymmetric forms can be created by using different values for the n's. The following example have n1 = 60, n2 = 55 and n3 = 30.  m=3 m=4
m=5 m=6

For non integral values of m the form is still closed for rational values. The following are example with n1 = n2 = n3 = 0.3. The angle phi needs to extend from 0 to 12 pi.  m=1/6 m=7/6
m=13/6 m=19/6

Smooth starfish shapes result from smaller values of n1 than the n2 and n3. The following examples have m=5 and n2 = n3 = 1.7.  n1=0.50 n1=0.20
n1=0.10 n1=0.02


Other examples

   

   

   
Source code
Given a value of phi the following function evaluates the supershape function and calculates (x,y).


void Eval(double m,double n1,double n2,double n3,double phi,double *x,double *y)
{
   double r;
   double t1,t2;
   double a=1,b=1;

   t1 = cos(m * phi / 4) / a;
   t1 = ABS(t1);
   t1 = pow(t1,n2);

   t2 = sin(m * phi / 4) / b;
   t2 = ABS(t2);
   t2 = pow(t2,n3);

   r = pow(t1+t2,1/n1);
   if (ABS(r) == 0) {
      *x = 0;
      *y = 0;
   } else {
      r = 1 / r;
      *x = r * cos(phi);
      *y = r * sin(phi);
   }
}

So it might be called as follows


   for (i=0;i<=NP;i++) {
      phi = i * TWOPI / NP;
      Eval(m,n1,n2,n3,phi,&x,&y);
      --- do something with the point x,y ---
   }


作者: panhao1    时间: 2012-8-15 08:26
看你是啥图形引擎咯 一般源码是openGL C++源码 转译一下。。。
作者: ping88    时间: 2012-8-15 09:51
谢谢
作者: 模鬼    时间: 2012-8-16 00:22
这么给力。。。
作者: helifeng    时间: 2012-8-16 10:02
这么给力啊
作者: angel120317    时间: 2012-8-16 13:14
厉害!!!!
作者: bingobubu    时间: 2012-8-19 22:27
牛啊。。。
作者: yal7    时间: 2012-8-20 10:13
下来研究一下
作者: ggggitol    时间: 2012-8-20 11:12
做的不错啊
作者: xjktsc    时间: 2012-8-24 11:53
数学没学好伤不起
作者: zhvz    时间: 2012-8-31 15:04
一直在找这类东西 谢谢分享
作者: ryanliu66666    时间: 2012-9-5 23:10
有ghx的文件下载么?光看编程还是不知道怎么做
作者: denghua    时间: 2012-9-7 14:53
嘿嘿 潘总这些东西 误导我走上 数学不归路 {:08:}
作者: denghua    时间: 2012-9-7 14:56
panhao1 发表于 2012-8-15 08:26
看你是啥图形引擎咯 一般源码是openGL C++源码 转译一下。。。

这个没有定义变量和环境描述过程 看不出是c还是c++
作者: wzlcff    时间: 2012-9-17 14:49
好东西,学习一下!
作者: joshdo    时间: 2012-9-19 08:23
潘神,学习了..
作者: liu4552    时间: 2012-9-27 07:08
不错 学习了
作者: lichengzhuce    时间: 2012-9-30 08:19
顶,求个照度。。。
作者: tonytcl    时间: 2012-10-20 13:36
数学本来就不太好..  还忘得差不多了 伤不起啊
作者: 巴山鬼……    时间: 2012-10-28 09:37
思考,求证 ,求证,思考
作者: xanthe    时间: 2012-12-28 13:37
这么给力啊
作者: Powing_Lam    时间: 2013-5-27 16:46
really nice``````
作者: あずき    时间: 2014-5-12 23:52
panhao1 发表于 2012-8-15 02:00
rhino文件

神一样啊!!!好厉害
作者: cmmsn    时间: 2014-5-26 08:41
这么给力,厉害啊




欢迎光临 NCF参数化建筑论坛 (http://ncf-china.com/) Powered by Discuz! X3.2