自由曲面设计之切面迭代法介绍

合集下载

迭代法

迭代法
#include<stdio.h>
double F1(double x); //要求解的函数
double F2(double x); //要求解的函数的一阶导数函数
double Newton(double x0, double e);//通用Newton迭代子程序
int main()
{
double x0;
3.五只猴子一起摘了一堆桃子,因为太累了,它们商量决定,先睡一觉再分.一会其中的一只猴子来了,它见别的猴子没来,便将这堆桃子平均分成5份,结果多了一个,就将多的这个吃了,并拿走其中的一份.一会儿,第2只猴子来了,他不知道已经有一个同伴来过,还以为自己是第一个到的呢,于是将地上的桃子堆起来,再一次平均分成5份,发现也多了一个,同样吃了这1个,并拿走其中一份.接着来的第3,第4,第5只猴子都是这样做的.......,
}
double F2(double x) //要求解的函数的一阶导数函数
{
return -sin(x) - 1;
}
double Newton(double x0, double e)//通用Newton迭代子程序
{
double x1;
do
{
x1 = x0;
x0 = x1 - F1(x1) / F2(x1);
利用迭代算法解决问题,需要做好以下三个方面的工作:
一、确定迭代变量。在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。
二、建立迭代关系式。所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。
{

proe常用曲面分析功能详解讲解

proe常用曲面分析功能详解讲解

proe常用曲面分析功能详解现在是针对曲面分析单独做的教程曲面分析应该贯穿在这个曲面外型的设计过程中.而不该最后完成阶段做分析由于时间关系我单独做个分析简单的教程,将来的教程中我将逐步体现造型过程中贯穿分析的教程本文重点在简单的阐述下曲面分析的运用,并不过多的阐述曲面的做法,PRT实物来源于SONJ.无嗔等版大,为求对比好坏,我会将质量好的PRT.修改约束成差点的来深入的阐述曲面分析的作用和看法.在这里先谢谢这些版大无私分享,也求得他们的原谅,未经过允许就转载他们的PRT还乱改.我先道歉…现在这个拉手大家都看见了,这一步是VSS直接扫出来的.现在显示的呢是网格曲面.这个网格曲面和多人认为用处不大.但我想说几点看法,第一看这个面是不是整面,很明显这个面的UV先是连接在一起的,他是个整面.第2看他的UC线的走向,是不是规则在某一方向上,有没有乱,有没有波动。

这些是我们肉眼能看见的,是一个初步的分析,也能帮助大家理解曲面的走向趋势是怎么个事情。

至于曲线的分析其他教程中以有很多阐述我就不在追述,至于什么叫曲面G1和G2相信大家也看到很多类似的教程这个图你就能看见多个曲面的网格在一起时候的显示,说明不是整面。

网格曲面另一个重要作用呢就是观察收敛退化,也就是大家长说的3角面。

收敛退化是我们最不想看到的,但收敛点在那里呢,根据经验呢,比如说我这个,在做边界混合时候2条直线是一组,曲线是另一组,也就是退化点在2条直线相交的地方,但新手一般看见教程是跟着裁减那里的角,至于为什么是在哪个位置可能不是很清楚,就看下网格曲面吧剖面分析来说呢相对的要求比较高,原理呢很简单就是所选择的曲面面组和基准面相交的曲线的曲率梳,他不但能反映出单独曲面在截面基准面那里的曲率走向变化,还可以看出曲面和曲面接头处的曲率变化。

剖面分截面和高亮线2中分析。

截面分析的步骤呢我简单说下1,选取要在其上执行曲面分析的一个或多个曲面、面组、零件或所有模型曲面。

几何画板迭代详解

几何画板迭代详解

几何画板迭代详解迭代是几何画板中一个很有趣的功能,它相当于程序设计的递归算法。

通俗的讲就是用自身的结构来描述自身。

最典型的例子就是对阶乘运算可看作一下的定义:!(1)!(1)!(1)(2)!n n n n n n =⨯--=-⨯- 。

递归算法的特点是书写简单,容易理解,但是运算消耗内存较大。

我们先来了解下面这几个最基本的概念。

迭代:按一定的迭代规则,从原象到初象的反复映射过程。

原象:产生迭代序列的初始对象,通常称为“种子”。

初象:原象经过一系列变换操作而得到的象。

与原象是相对概念。

更具体一点,在代数学中,如计算数列1,3,5,7,9......的第n 项。

我们知道12n n a a -=+,所以迭代的规则就是后一项等于前一项加2。

以1作为原像,3作为初像,迭代一次后得到5,再迭代一次得到7,如此下去得到以下数值序列7 , 9,11, 13, 15......如图1.1所示。

在几何学中,迭代使一组对象产生一组新的对象。

图1.2中A 、B 、C 、D 、E 、F 、G ,各点相距1cm ,那么怎么由A 点和B 点得到其它各点呢?我们可以发现其中的规律就是从左到右,每一个点相当于前面一个点向右平移了1cm 。

所以我们以A 点作为原像,B 点作为初像,迭代一次得到B 点,二次为C 点,以此类推。

所以,迭代像就是迭代操作产生的象的序列,而迭代深度是指迭代的次数。

那么下面我们通过例子来进一步地了解迭代以及相关的概念。

几何画板中迭代的控制方式分为两种,一种是没有参数的迭代,另一种是带参数的迭代,我们称为深度迭代。

两者没有本质的不同,但前者需要手动改变迭代的深度,后者可通过修改参数的值来改变迭代深度。

我们先通过画圆的正n 边形这个例子来看一下它们的区别。

【例1】画圆的内接正7边形。

【分析】由正7边形的特征,我们知道,每一个点都相当于前面的点逆时针旋转360,抓住这个规律,我们可以用迭代功能来解决。

7【步骤】1.新建圆O,在圆O上任取一点A。

cad_第三章3.2节

cad_第三章3.2节

但当构造复杂曲面时,Bezier方法仍存在连接问题和 局部修改问题。 同期,法国雪铁龙(Citroen)汽车公司的德卡斯特里 德卡斯特里 奥(de Castelijau)也独立地研究出与Bezier类似的 方法 。
1972年,德布尔 德布尔(de Boor)给出了B样条的标准计 德布尔 算方法。 1974年,美国通用汽车公司的戈登 戈登(Gorden)和里 戈登 里 森费尔德(Riesenfeld)将B样条理论用于形状描述, 森费尔德 提出了B样条曲线和曲面。这种方法继承了Bezier方 法的一切优点,克服了Bezier方法存在的缺点,较成 功地解决了局部控制问题,又轻而易举地在参数连续 性基础上解决了连接问题,从而使自由型曲线曲面形 状的描述问题得到较好解决。但随着生产的发展,B 样条方法显示出明显不足,不能精确表示圆锥截线及 初等解析曲面,这就造成了产品几何定义的不唯一, 使曲线曲面没有统一的数学描述形式,容易造成生产 管理混乱。 1975年,美国锡拉丘兹(Syracuse)大学的佛斯普 佛斯普 里尔(Versprill)提出了有理B样条方法。 里尔
80年代后期 皮格尔(Piegl)和蒂勒(Tiller)将有 理B样条发展成非均匀有理B样条方法,并已成为当 前自由曲线和曲面描述的最广为流行的技术。 NURBS方法的突出优点是:可以精确地表示二次规 则曲线曲面,从而能用统一的数学形式表示规则曲面 与自由曲面,而其它非有理方法无法做到这一点;具 有可影响曲线曲面形状的权因子,使形状更宜于控制 和实现;NURBS方法是非有理B样条方法在四维空 间的直接推广,多数非有理B样条曲线曲面的性质及 其相应算法也适用于NURBS曲线曲面,便于继承和 发展。 由于NURBS方法的这些突出优点,国际标准化组织 (ISO)于1991年颁布了关于工业产品数据交换的 STEP国际标准,将NURBS方法作为定义工业产品 几何形状的唯一数学描述方法,从而使NURBS方法 成为曲面造型技术发展趋势中最重要的基础。

CAD自由曲面

CAD自由曲面
此方法构造Spline的过程类似于Spline Through Points,但它另有6个独特方面:
1)
2)
在创建过程中,Spline会象橡皮筋一样在屏幕动态 显示,使Spline形状实时反馈给用户。 一进入Spline by Points菜单,同时会出现Infer Point 工具条,以提供给用户更直观的作点工具。
I-Manufacturing System (Guangzhou) Co.,Ltd
自由形状建模∶全息片体 (Smart Sheet)
基于点∶Non_Smart
基于曲线∶100% Smart
基于片∶Most of Smart
Free Form Feature 建立/分析/编辑 Form Feature & Operation Feature 缝合/增厚/修剪体/…
R= 6
4
fff-thrucurves_parameters.prt 注: 单补片_Beizer曲面;多补片_B-样条曲面
I-Manufacturing System (Guangzhou) Co.,Ltd
全息片体∶过曲线(Through Curves)
对齐方法
fff-thrucurves_by_points.prt
拟合类型_V方向 • 三次(Cubic)—产生3次相切连续(C1)的补片 • 五次(Quintic)—产生5次曲率连续(C2)的补片
I-Manufacturing System (Guangzhou) Co.,Ltd
全息片体∶ 截面片 (二次曲面片)
脊柱曲线
顶点曲线
I-Manufacturing System (Guangzhou) Co.,Ltd
I-Manufacturing System (Guangzhou) Co.,Ltd

(完整word版)几何画板迭代详解之迭代与分形几何

(完整word版)几何画板迭代详解之迭代与分形几何

几何画板迭代详解之:迭代与分形几何佛山市南海区石门中学谢辅炬分形的特点是,整体与部分之间存在某种自相似性,整体具有多种层次结构。

分形图片具有无可争议的美学感召力,特别是对于从事分形研究的科学家来说。

欣赏分形之美当然也要求具有一定的科学文化知识,但相对而言,分形美是通俗易懂的.分形就在我们身边,我们身体中的血液循环管道系统、肺脏气管分岔过程、大脑皮层、消化道小肠绒毛等等都是分形,参天大树、连绵的山脉、奔涌的河水、漂浮的云朵等等,也都是分形。

人们对这些东西太熟悉了,当然熟悉不等于真正理解。

分形的确贴近人们的生活,因而由分形而来的分形艺术也并不遥远,普通人也能体验分形之美。

因为分形几何的迭代的原像一般不止一个,而且均为多映射迭代,为了叙述的方便,我们先作以下两个约定。

1.用(A,B,C)表示有顺序的两点A、B和C.2.(A,B,C)(D,E,F,),(G,H,I)表示A映射到D,B映射到D,C映射到F,然后添加映射A映射到G,B映射到H,C映射到I,如此类推。

【Sierpinski三角形】波兰著名数学家谢尔宾斯基在1915-1916年期间,为实变函数理论构造了几个典型的例子,这些怪物常称作“谢氏地毯"、“谢氏三角”、“谢氏海绵”、“谢氏墓垛"。

如今,几乎任何一本讲分形的书都要提到这些例子。

它们不但有趣,而且有助于形象地理解分形。

著名的Sierpinski三角形,它是很有代表性的线性分形,具有严格的自相似特点。

不断连接等边三角形的中点,挖去中间新的小三角形进行分割——-随着分割不断进行Sierpinski三角形总面积趋于零,总长度趋于无穷。

Sierpinski三角形在力学上也有实用价值,Sierpinski 三角形结构节省材料,强度高,例如埃菲尔铁塔的结构与它就很相似。

【步骤】1.在平面上任意画一个三角形ABC,取三边中点为D、E、F,连接DEF.2.新建参数n=33.顺次选择B,C,A三点和参数n,作深度迭代,(B,C,A)(D,F,A)⇒。

迭代法简介

迭代法简介

新点
绘图游戏的重新表述
• 在纸上任意设定三个点,分别记为A,B, C,游戏
的规则是:任意取第四个点,记为 Z1 .
• 当你投掷一次硬币之后,如果它呈正面,则在纸上
画出Z 1 和 A 的中点,记为Z 2 ;如果它呈反面,则画
出Z 1 和 B 的中点,记为Z 2;如果它呈侧立状态,则 画出 Z1 和 C 的中点,记为Z 2 ; • 总之,我们画出了一个新的点
• 第一次代入得到:
F+F一一F+F一一F+F一一F+F一一F+F一一 F+F
• 第二次代入得到:
第 二 次 代 入 得 到
用 L 系统模拟的植物形态
4. 迭 代 函 数 系 统 简 介
• 迭代函数系统(Iteration Function System 缩写 I F S )。
• 迭代函数系统是由美国佐治亚工学院的数学教授巴 恩斯列,于1985年发展起来的一种分形构形系统。 他把这一系统用于解决实际问题,取得了巨大成功, 因而创建了一个迭代公司。 • 巴恩斯列也就成为目前应用数学的理论和方法直接 创造经济效益的最有影响的数学家之一。
迭代函数系统的基本思想
• 在这里,一个仿射“变换”就是一个线性“函数”, “不断重复”应用仿射变换就是一个“迭代”过程。 一般说来,生成一个分形图需要一组仿射压缩变换, 这就是 “迭代函数系统” 名称的由来。 • 由此可见,仿射压缩变换与分形图有着对应关系: • 即一组仿射压缩变换决定一个分形图;反之,一个 分形图由一组仿射压缩变换确定。 • 这是两类问题,分别举例说明。
迭 代 法 简 介
什 么 是 迭 代 法
• 它是分形理论在研究复杂系统的空间结构性质的过程中创造 出来的。

迭代法详解——精选推荐

迭代法详解——精选推荐

迭代法详解迭代法(iteration)也称辗转法,是⼀种不断⽤变量的旧值递推出新值的解决问题的⽅法,迭代算法⼀般⽤于数值计算。

累加,累乘都是迭代算法的基础应⽤。

利⽤迭代法解题的步骤:1)确定迭代模型根据问题描述,分析出前⼀个(或⼏个)值与下⼀个值的迭代关系数学模型。

2)建⽴迭代关系式递推数学模型⼀般是带下标的字母,算法设计中要将其转化为“循环不变式”----迭代关系式,迭代关系式就是⼀个直接或间接地不断由旧值递推出新值的表达式,存储新值的变量称为迭代变量。

3)对迭代过程进⾏控制。

确定在什么时候结束迭代过程。

迭代过程是通过⼩规模问题的解逐步求解⼤规模问题的解,表⾯上看正好与递归相反,但也找到了⼤规模问题与⼩规模问题的关系。

本节的例⼦是⽤迭代完成的,也都可以⽤递归完成。

相信尝试后,定能体会到递归的简便之处。

1,递推法(recursion)是迭代算法的最基本表现形式。

⼀般来讲,⼀种简单的递推⽅法,就是从⼩规模的问题解出⼤规模问题的⼀种⽅法,也称其为“正推“。

如”累加“。

兔⼦繁殖问题:⼀对兔⼦从出⽣后第三个⽉开始,每⽉⽣⼀对兔⼦,⼩兔⼦每到第三个⽉有开始⽣兔⼦,问⼀年中每个⽉各有多少兔⼦?我们通常⽤的迭代:print(a,b)for(i=1;i<=10;i++){c=a+b; print(c); a=b; b=c;}另⼀种构造不变式的⽅法:1 2 3 4 5 6 7 8a b c=a+b a=b+c b=a+c c=a+b这样,⼀次循环其实是递推了三步,循环次数就要减少了。

#include<stdio.h>int main(){int i,a=1,b=1;int c;printf("%d %d ",a,b);for(i=1;i<=4;i++){c=a+b;a=b+c;b=c+a;printf("%d %d %d ",c,a,b); //注意输出顺序是c,a,b}}上⾯输出的共2+3*4=14项,这样的算法不太完美。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程式碼
設計完成
12公尺
60公尺
可隨意決定 光斑大小
10公尺
偏移光斑路燈設計
利用energy mapping 同樣可設計偏移路燈 不過程式演算法更複雜 內部曲面使用球面
偏移2M
偏移2M
無偏移
路燈高10M 10M
40M
偏移X=3M
路燈高10M
3M
偏移X=2m,偏移Y=2m
路燈高10M
偏移2M
切面疊代設計方法介紹
光軸 x1=f(⍬1) x2=f(⍬2) ⍬1 ⍬2 ⍬3
照度均勻關係式
不同發散角的光線
牆壁 x3=f(⍬3) H
透鏡面
LED發光源
LED有特定角度對光強分佈~ 若要求牆壁上照度相等情況下
利用能量守恆關係式可得到
x=f(⍬)
只要某透鏡曲面可使每條光線達此關係式~~ 此透鏡即可使牆上照度每個位置達常數
該方法將有無限多應用,腳踏車燈
適當排列array可打出各種方型光斑
同樣方法可在Intensity 均勻的微透鏡設計也得到不錯的效果
半角:60°x80°
半角:20°x80°
自由曲面路燈設計
花生米路燈設計
12公尺
60公尺
可隨意決定 光斑大小
10公尺
論文
• 基于由照射目标向光源映射和微带表面构型的分离变量三维自由曲面 非成像光学系统设计(中图分类号:TN29 文献标志码:A 文章编号: 1673-7180(2010)01-0035-6) Freeform Lens for Application-Specific LED Packaging Design of compact freeform lens for applicationspecific light-emitting diode packaging Freeform LED lens for rectangularly prescribed illumination Hao X, Zheng Z R, Liu X and Gu P F 2008 Freeform surface lens design for uniform illumination J. Opt. A: Pure Appl.Opt. 基于经纬划分和切面迭代的自由曲面LED透镜设计 tailored freeform optical surfaces
方法
• 由費馬原理變分求解eikonal equation
• 該方程有解析解
方法
利用excel巨集程式撰寫 自由曲面空間曲面座標點資料 並利用solidwork層疊拉伸製造NURBS曲面
光斑圖(效率94%) 100lume有94lume入射目標面上(照度均勻)
任意排列array可打出各種方型光斑
偏移2M
偏移X=5M
5M 考慮偏移距離=路燈高度一半時 由於內部曲面為球面,已達光學元件 最大偏移光線的能力,造成照度不均 的問題
要改善此狀況需修改內部曲面 為偏離光軸角的橢圓面,目前尚在開發
利用energy mapping可解決大部分照明系統 照度不均的問題
FeedBack optimization
• • • • • •
方法
將intensity(光強)分佈切割成 許多微小立體角,利用能量守恆 Mapping到目標面, 建立照度均勻化條件 (立體角跟目標面座標xy的關係式)
再利用司乃爾定律的 向量形式來切面疊代 計算空間曲面座標點資料 不需解偏微分方程 讓寫程式變簡單
該理論可隨意決定距離和光斑大小參數 透過vba或c語言或matlab編程計算求得空間點資料 再利用cad軟體建模完成3d曲面設計
• 超越Lightools最佳化的方法 • 可達到客戶需求的照度分佈 非對稱性光斑的照度分布也可使用 目前對於背光直下式透鏡已經完成 可用在廣告登板,背光板照明等 可解決extended source照度不均問題 任何大小led都可使用 不須局限於led發光面積大小
示意圖
Φ90mm
30mm
直下式透鏡設計FeedBack Optimization 由單曲面疊代的方法設計出的曲面並無考慮擴展光源問題 在此利用FeedBack Optimization的方法,(類似量子力學微擾法) 將模擬結果和理想結果化為參數來最所有論文設計方法都是以中心曲面 使用圓形曲面設計這使得在寫程式上只需 考慮一次折射,在編程上教簡易
然而由於該理論使用點光源趨向設計, 沒有考慮光源有面積(extended source) 因此會造成光源邊緣如下光線有全反射情 形. 這種情形只有在透鏡和目標面距離與 光斑長度比例接近4或5的時候容易發生 (簡單說就是要求的矩形光斑太長了!!)
最佳化第一次
最佳化第二次
Φ90mm
完成
30mm
SMS (Simultaneous Multiple Surface)
• 專門為EXTENDED SOURCE開發出的方法 • 目前尚在研究中
準直光TIR燈杯設計
• LIGHTOOLS內建優化功能 • 有效利用LIGHTOOLS Pick up和Alias與參數表 示,可不需寫程式達到設計目標
全反射造成的結果 照度下降
解決論文設計缺點
方法:將內部曲面改成如下設計 緣起: 改良的靈感來自於背光直下式透鏡 Enplus和sharp專利的設計 該設計使用非球面凹面設計 之前設計直下式只考慮外表面 折射,程式設計上有如左下角一樣 有全反射的情況發生,改良後就如右上 情況教好
全反射造成的結果 該區域照度下降
旋轉可得曲面
設計過的lens
自由曲面微透鏡設計
可打出旗子形狀的Lens 自由曲面微透鏡設計
論文
• 根據論文 Thin LED collimator with free-form lens array for illumination applications Applied Optics, Vol. 51, Issue 30, pp. 7200-7205 (2012)
設計上的困難
1.需開發兩次折射面的程式演 算法,並須計算光線和內部 曲面的交點 2.內部曲面法向量需要計算 由於本人非cad軟件和微分 幾何專家,該曲面數學公式 必須被決定,較易決定法向 量 3.在光線追跡上 司乃爾向量形式不能通用 須發展新的公式
解決
利用excel的規畫求解功能(可解非線性方程組數值解) 計算出光線和內部曲面的交點座標 不需再自己寫演算法求解方程式 個人認為比matlab好用 目前可以給定路燈高度,光斑長寬,計算空間曲面點做標
介紹:司乃爾定律的向量型式
n*sin(θ1)=sin(θ2) 化簡 n為折射率 N切面法向量 N θ2 切向量 θ1 I 折射率n介質 空氣 O 根據司乃爾向量公式 若知道 I ,O向量便可唯一決定N向量 I,O,N皆為單位向量
流程: 1.給定Po 2.司乃爾公式計算To 3.光線交T0於P1點 4.司乃爾公式計算T1 5.光線交T1於P2 6.司乃爾公式計算T2 . . . . . .
最佳化過程快速 通常可達到光學不變量極限 (Entendue)
反射杯設計
• 同上方法,若要均勻化可使用energy mapping 配合切面疊代或是lightools最佳化功能
自由曲面反射杯設計
• 使用energy mapping 配合切面疊代
相关文档
最新文档