首页 > 其他分享 >GAMES01 Geometry

GAMES01 Geometry

时间:2024-03-28 10:36:26浏览次数:27  
标签:表达 Geometry surface 曲面 表面 隐式 GAMES01

生活中有许多曲面、曲线需要去表示。这里也有许多表示几何的方法:
Implicit

  • algebraic surface
  • level sets
  • distance functions
  • ...

Explicit

  • point cloud
  • polygon mesh
  • subdivision, NURBS
  • ...

Implicit表达

通常,隐式表达被定义为f(x,y,z)=0,其中f(x,y,z)是一个xyz的关系表达式。
隐式表达可以很容易的判断点与表面的关系。\(f(x_0,y_0,z_0)<0\)时说明在内部,\(f(x_0,y_0,z_0)>0\)说明在外部。

Explicit表达

显式表达通常是直接给出或者使用参数映射
显示表达的画出来图很容易,只需要在参数范围上采样就可以:

但是很难判断点和曲面的关系。

更多隐式表达曲面的方式

Algebraic Surfaces

但是代数表达很难表达复杂的曲面

Constructive Solid Geometry

Distance Functions

大佬:https://iquilezles.org/articles/raymarchingdf/

定义一个复杂曲面的过程如CSG所示,可以通过对一些隐式几何的并交difference操作去表达(其实可以理解成用基础几何体创造新几何体的过程)
距离函数可以表达一个空间中的点距离最近表面的值,可以认为表达了场景中的表面信息。表达新几何的过程,就是融合已知距离函数的过程。

其中Blending是线性插值(插值的目标是sdf值)的意思,有一个例子:

我们的目标是将A B表面融合,那么应该变成左边一半是黑色右边一半是白色空间。在第一列的blend(A,B)中,老师的意思是直接对颜色做线性插值会得到的结果,但这其实并不是我们想要的几何表面。
但是通过将SDF值融合,就能达到表面融合的目的:blend(SDF(A),SDF(B))

水平集

水平集是一种类似距离场的表达。

类似在医院拍片的时候,当f(x)等于不同值时可以拍出来不同的组织器官和切片。

Fractals(分形)

Exhibit self-similarity, detail at all scales

隐式表达的 Pros & COns

Pros:

  • compact description (e.g., a function)
  • certain queries easy (inside object, distance to surface)
  • good for ray-to-surface intersection (more later)
  • for simple shapes, exact description / no sampling error

Cons:

  • difficult to model complex shapes
    • easy to handle changes in topology (e.g., fluid)

标签:表达,Geometry,surface,曲面,表面,隐式,GAMES01
From: https://www.cnblogs.com/code-fun/p/18100815

相关文章

  • Lecture 11 Geometry 2 (Curves and Surfaces)
    Lecture11Geometry2(CurvesandSurfaces)Curves曲线BézierCurves贝塞尔曲线用一系列控制点定义摸一个曲线,这些控制点会定义曲线满足的一些性质图中通过三个控制点,可以定义曲线起始点和结束点一定在\(p_0\)和\(p_3\)上,并且起始的切线和结束的切线一定都是\(p_0p_1\)......
  • Lecture 10 Geometry 1 (Introduction)
    Lecture10Geometry1(Introduction)Examplesofgeometry几何的例子不同形状的几何光滑的曲面复杂的模型、位置摆放布料水滴城市(复杂在东西多)怎么存储怎么渲染这么大级别的东西离得远的情况下如何简化几何模型如何利用光线之间的连续性毛发微观几何树枝......
  • Qt中关于setGeometry()函数的问题
    setGeometry是相对于父窗体来说的一种对子窗体进行位置设置的方法。当我用在不同的窗体的时候发现有不同的形式QMainWindow和QWidget都是相对父窗体来说的,可是QDialog用上这个设置位置的函数,却是相对于桌面而言的。但是按照道理,他们都是继承的QWidget,setGeometry这个函数的功能......
  • Qt QWindowsWindow::setGeometryDp: Unable to set geometry问题
    总结原因:由于子窗口和父窗口的大小关系不健康,导致父窗口resize失败,失败后会自定义大小解决方法:首先,修改父窗口尺寸,保证其大小可以容纳子部件,可以使用setFixSize()之类的函数修改父窗口尺寸。其次,一定要保证修改父窗口尺寸的函数是放在窗口布局代码之前,如图,我的setIn......
  • Qt 颜色对话框QColorDialog弹出时应用程序输出栏出现QWindowsWindow::setGeometry: Un
    引言在项目中点击按钮,弹出颜色选择对话框,但同时应用程序会在应用程序输出一栏中显示QWindowsWindow::setGeometry:Unabletosetgeometry180x30+345+311(frame:202x86+334+266)onQWidgetWindow/"QColorDialogClassWindow"on"\\.\DISPLAY1".Resultinggeometry:5......
  • WPF性能优化:形状(Shape)、几何图形(Geometry)和图画(Drawing)的使用
    在用户界面技术中,绘图是一个绕不开的话题。WPF提供了多种可根据应用程序要求进行优化的2D图形和图像的处理功能,包括画刷(Brush)、形状(Shape)、几何图形(Geometry)、图画(Drawing)和变换(Transform)等。其中形状(Shape)、几何图形(Geometry)和图画(Drawing)承担了基础的绘图功能,形......
  • AlphaGeometry:DeepMind 大算力再造奇迹,但「算力代替智力」或许并非最优解
    作者:李宝珠编辑:三羊封面图来源:GoogleDeepMindDeepMind用算力堆出奇迹?被夸上天的AlphaGeometry含金量有多高近日,谷歌DeepMind的Alpha系列再添新成员——AlphaGeometry,依旧声势浩大,「里程碑」、「史诗级」、「逼近人类」等赞美之词溢出屏幕。那么,这个号称奥数能力金牌级......
  • 「Geometry of Conics」读书笔记
    英文书籍,对我这种纯正中国人十分不友好,咬着牙啃下去了。不想看英文书又找不到中译本的有福了。Chapter1-ElementaryPropertiesofCurvesofSecondDegree如题,都是二次曲线的简单性质和几个等价定义。光学性质\(\mathbf{Theorem\1.1}\)如下图,\(l\)为椭圆\(C\)在\(P......
  • Geometry Continuity & Zebra Stripes
    斑马线分析曲面连续性。ContinuitydescriptionsAcurveorsurfacecanbedescribedashavingGn continuity, nG0:Thecurvestouchatthejoinpoint(position).G1:Thecurvesalsoshareacommontangentdirectionatthejoinpoint(tangen......
  • Geometry Continuity & Zebra Stripes
    ContinuitydescriptionsAcurveorsurfacecanbedescribedashavingGn continuity, n beingtheincreasingmeasureofsmoothness.Considerthesegmentseithersideofapointonacurve:G0:Thecurvestouchatthejoinpoint(position).G1:Thecurves......