找回密码
 注册
Simdroid-非首页
查看: 115|回复: 3

[图形图像] 如何在几何图形上画阴影线/剖面线 ?

[复制链接]
发表于 2008-5-28 17:11:37 | 显示全部楼层 |阅读模式 来自 江苏无锡
如何在几何图形上画阴影线/剖面线?

例如在 一个圆的边界内上面打上 45 度的倾斜 阴影线 ,如图,有点像 CAD 的剖面线。

我想大概可以从Gridline 或是 MeshFunction 入手,

我期待简单的代码和方法。 谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2008-5-28 17:37:56 | 显示全部楼层 来自 安徽合肥
Simdroid开发平台
楼主,我也期待中,顶你一个
回复 不支持

使用道具 举报

发表于 2008-5-29 01:28:44 | 显示全部楼层 来自 陕西安康
这样可以做到:

  1. RegionPlot[
  2. x^2 + y^2 < 1 && Abs[x] + Abs[y] >= 0.4, {x, -1, 1}, {y, -1, 1},
  3. Mesh -> 30, MeshFunctions -> {#1 - #2 &}]
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

2

查看全部评分

回复 不支持

使用道具 举报

发表于 2008-5-29 05:31:08 | 显示全部楼层 来自 美国
版主厉害,很快就搞好了。
RegionPlot 和 RegionPlot3D 在条件复杂或者靠近极点的时候,效果比较差。例如用RegionPlot3D来画一个壁很薄的圆柱。 这个例子里面,如果把Abs[x] + Abs[y] >= 0.4 改为Abs[x] + Abs[y] >= 0.1就看不到中间的方框,或者改为Abs[x] + Abs[y] >= 1,就会出现断点。当然可以玩一些小把戏,把Abs[x] + Abs[y] >= 1改为Abs[x] + Abs[y] >= 0.9999,然后加上MaxRecursion -> 3,效果和Abs[x] + Abs[y] >= 1差不多。(图1)
Code: RegionPlot[
x^2 + y^2 < 1 && Abs[x] + Abs[y] >= 0.9999, {x, -1, 1}, {y, -1, 1},
Mesh -> 40, MeshFunctions -> {#1 - #2 &, #1 + #2 &},
MaxRecursion -> 3, Frame -> False]

不过可以发挥RegionPlot的长处,但是不让它太累。 用RegionPlot来画圆,加网格。然后在圆上覆盖一个白色的方框(旋转过的graphics primitive)。(图2和3)
Code:
Show[RegionPlot[x^2 + y^2 < 1, {x, -1, 1}, {y, -1, 1}, Mesh -> 40,
   MeshFunctions -> {#1 - #2 &, #1 + #2 &}, Frame -> False],
  Graphics[{White,
    Rotate[Rectangle[{-r, -r}, {r, r}], 40 Degree, {0, 0}]}]] //.
r -> Sqrt[2]/2 (*图2*)
Code:
Show[RegionPlot[x^2 + y^2 < 1, {x, -1, 1}, {y, -1, 1}, Mesh -> 40,

   MeshFunctions -> {#1 - #2 &, #1 + #2 &}, Frame -> False],
  Graphics[{White,
    Rotate[Rectangle[{-r, -r}, {r, r}], 45 Degree, {0, 0}]}]] //.
r -> 0.02 (*图3*)

总结:graphics primitive(基本图形)是不能加网格什么的。用RegionPlot或者RegionPlot3D来画特别需要的部分(结合MeshFunctions),然后用基本图形修饰。

[ 本帖最后由 smarten 于 2008-5-29 05:41 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

2

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-5-7 23:55 , Processed in 0.048955 second(s), 19 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表