inRm3D: 画板论坛's Archiver

柳烟 发表于 2014-6-9 16:44

LS&IFS扫描研究

参考数据如下:
[attach]21859[/attach]
按这个数据,画大圆,两个鱼眼,两个小半圆都问题不大,如何画出鱼尾,并连接自然,我犯难了,那位高人能指点一二,万分感激。发帖子的人在这个关键之处打哑谜,估计网上发这帖子的人根本就不会,然后其它人转载来转载去,成了瞎子牵瞎子,滚成一团。

inRm 发表于 2014-6-9 17:41

尾巴内圈是1/4个椭圆弧

柳烟 发表于 2014-6-9 18:18

[b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=43678&ptid=4771]2#[/url] [i]inRm[/i] [/b]
椭圆的离心率多大?如何在技术上实现?

inRm 发表于 2014-6-9 19:17

[attach]21860[/attach]

柳烟 发表于 2014-6-9 19:30

方老师的作法可说符合要求了,接下来如何作色呢?

柳烟 发表于 2014-6-9 19:42

接下来,用复分形的陷阱法,扫描得出这个太极图,作色应该不成问题了。大家可研究研究。
用扫描法还有点麻烦,如何判断点Z在两个鱼内?估计判断有点多,大家作为一个课题研究。

xiaongxp 发表于 2014-6-9 22:39

[b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=43682&ptid=4771]6#[/url] [i]柳烟[/i] [/b]
[attach]21863[/attach]

柳烟 发表于 2014-6-9 23:05

阴中有阳,阳中有阴,恩生于害,害生于恩。万物负阴而抱阳。易曰:一阴一阳之谓道。受前面方老师文件的启发,作了一个扫描板的:
[attach]21864[/attach]
用此作复分形陷阱,造复分形应该没有问题了。
[attach]21865[/attach]

柳烟 发表于 2014-6-9 23:13

[b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=43684&ptid=4771]7#[/url] [i]xiaongxp[/i] [/b]
文件不错,两个阴阳鱼可旋转。我那个好象是静态的,下来看看如何办。应当说问题不大,加点旋转变换即可。

柳烟 发表于 2014-6-9 23:24

[b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=43680&ptid=4771]4#[/url] [i]inRm[/i] [/b]
将圆上的大绿点改为圆上一动点,可整一个按钮,让阴阳鱼动起来更好看。

柳烟 发表于 2014-6-10 11:32

扫描板的可旋转太极图
[attach]21868[/attach]
[attach]21869[/attach]

xiaongxp 发表于 2014-6-10 13:54

[b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=43684&ptid=4771]7#[/url] [i]xiaongxp[/i] [/b]
不用椭圆轨迹线,大大提高扫描速度
[attach]21870[/attach]
[attach]21871[/attach]

柳烟 发表于 2014-6-10 19:44

想用代数方法造出可将太极图中心移到坐标系的任何地方,整出的图不对劲。由于数学丢得有点久,遇到几个疑难问题请教大家:
1、若将原点处的椭圆x^2/a^2+y^2/b^2=1平移到(m,n)再绕此点旋转一个角度A,或先旋转一个角度A,再平移至(m,n),应该是一样的,该椭圆的方程是什么?
我照这样干的,不知有无问题:
(xcosA-ysinA+m)^2/a^2+(xsinA+y*cosA+n)^2/b^2=1

柳烟 发表于 2014-6-10 20:15

上面的理解是错的。

xiaongxp 发表于 2014-6-10 20:39

[b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=43698&ptid=4771]13#[/url] [i]柳烟[/i] [/b]
先平移再旋转:(xcosA-ysinA-m)^2/a^2+(xsinA+y*cosA-n)^2/b^2=1
先旋转再平移:((x-m)cosA-(y-n)sinA)^2/a^2+((x-m)sinA+(y-n)*cosA)^2/b^2=1

xiaongxp 发表于 2014-6-10 21:02

[b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=43698&ptid=4771]13#[/url] [i]柳烟[/i] [/b]
还是几何变换法要比代数法方便些,角度位置任意设
[attach]21877[/attach]

柳烟 发表于 2014-6-10 21:15

加点变换:
[attach]21878[/attach]
[attach]21879[/attach]

柳烟 发表于 2014-6-10 21:27

[b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=43703&ptid=4771]16#[/url] [i]xiaongxp[/i] [/b]
代数法似可将此太极图作为陷阱,造复分形,不知几何法造复分形如何
此陷阱造复分形,我试了试,看来我是服侍不了这道题了,那位高人试试。

柳烟 发表于 2014-6-11 00:35

[attach]21880[/attach]
红色代表离卦,属火,至刚之物。蓝色代表坎卦,属水,天地至柔之物。太极图中的二色,可代表阴阳,刚柔。

柳烟 发表于 2014-6-11 13:37

太极图陷阱UF代码:
Taijitu20140611 {

init:
  int iter = 0
  float x = 0
  float y = 0
  float d1 = 0
  float d2 = 0
  float d3 = 0
  float L1 = 0
  float L2 = 0
  float Circle = 0
  float ZtoPsqd = 0
  float Rc1 = @r
  float Rc2 = 0.45*Rc1
  float Rc4= 1/6*Rc1
  float Phi = #pi * @angle/180
  float xx= Rc2*cos(Phi)
  float yy= Rc2*sin(Phi)
  float Ty =0
  bool Trapped = false
loop:
  iter = iter + 1
  x = real(#z)
  y = imag(#z)

    d1 = sqrt((x-@ox)^2 + (y - @oy)^2)
    d2 = sqrt((x - xx-@ox)^2 + (y - yy-@oy)^2)
    d3 = sqrt((x + xx-@ox)^2 + (y +yy-@oy)^2)
    L1=(x-@ox)*sin(Phi)-(y-@oy)*cos(Phi)
    L2=(x-@ox)*cos(Phi)+(y-@oy)*sin(Phi)
    Ty=((x-@ox)*cos(-Phi)-(y-@oy)*sin(-Phi))^2/(2*Rc2)^2+ ((x-@ox)*sin(-Phi)+(y-@oy)*cos(-Phi))^2/Rc1^2
if iter > @skip && !Trapped
    if (d2< Rc2 && L1<=0 && L2>=0 && d2>Rc4)||(Ty<1 && L1>=0 && L2>=0 && d2>=Rc4)||(d3>=Rc2 && L1>=0 && d1<Rc1 && L2<=0)||(Ty>=1 && L1<=0 && d1<Rc1 && L2<=0)
      Trapped = true
      ZtoPsqd= 1
      Circle = 1

    elseif (d3<Rc2 && L1>=0 && L2<=0 && d3>=Rc4)||(Ty<1 && L1<=0 && L2<=0 && d3>=Rc4)||(d2>=Rc2 && L1<=0 && d1<Rc1 && L2>=0)||(Ty>=1 && L1>=0 && d1<Rc1 && L2>=0 )
      Trapped = true
      ZtoPsqd= 1
      Circle = 2
    elseif d2 < Rc4
      trapped = true
      ZtoPsqd = d2/Rc4
      Circle = 3
    elseif d3 < Rc4
      trapped = true
      ZtoPsqd = d3/Rc4
      Circle = 4
   endif
endif
final:
  if !trapped
    #solid = true
  else
    Circle = (Circle + @off) % 4
    float Ratio =ZtoPsqd
    float ColorIndex = 29 * Ratio + Circle * 30
    #index = (ColorIndex + 1) % 256 /256
  endif
default:
  title = "Taijitu20140611"
  param r
    caption = "Circle radius"
    default = 1.0
  endparam
  param ox
    caption = "ox"
    default = 0.0
  endparam
  param oy
    caption = "oy"
    default = 0.0
  endparam
  param angle
    caption = "angle"
    default = 45.0
  endparam
  param skip
    caption = "Iters to skip"
    default = 1
    hint = "Iterations to skip."
  endparam
  param off
    caption = "Hue cycle"
    default = 0
    min = 0
    max = 4
    hint = "This rotates the coloring order of the balls."
  endparam
}
今日编了个太极图陷阱的UF代码,但作色仍不成熟,还须研究完善。在UF中扫一个J集:
[attach]21881[/attach]
UF中的这个陷阱分形,有些鱼眼看起来没有,但放大后有,这是UF要改进的地方。用GSP作,我想是不会出现这个问题的。

页: [1] 2 3 4 5 6 7 8 9 10

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.