找回密码
 欢迎注册
楼主: zeroieme

[讨论] 有哪个数学软件作图能产生SVG格式图的?

[复制链接]
发表于 2018-12-27 20:07:11 | 显示全部楼层
cos2theta.svg (18.32 KB, 下载次数: 13)

测试一下,svg文件上传

点评

@chyanog, 现在应该可以上传 svg 附件了  发表于 2018-12-28 09:11
附件也不行吗,我是作为附件上传的?  发表于 2018-12-27 20:24
我好像还上传不了,提示:禁止上传该类型的文件.  发表于 2018-12-27 20:13
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2018-12-27 21:22:24 | 显示全部楼层
本帖最后由 zeroieme 于 2018-12-27 21:23 编辑
  1. [img]https://bbs.emath.ac.cn/forum.php?mod=attachment&aid=ODUxN3wwMTQyODg0N3wxNTQ1OTE2ODc1fDM5NjV8MTU2NTE%3D[/img]
复制代码

引用11#的附件地址

----------------------------------
失败了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2018-12-28 10:08:33 | 显示全部楼层
本帖最后由 chyanog 于 2018-12-28 17:20 编辑

可以上传svg附件了,这两个图是用Mathematica导出的
yinyang.svg (3.72 KB, 下载次数: 3)
cos2t.svg (18.64 KB, 下载次数: 35)



  1. Export["yinyang.svg",
  2. Graphics[{
  3.    Disk[{0, 0}, 1, {Pi/2, 3 Pi/2}],
  4.    Disk[{0, 1/2}, 1/2],
  5.    {White, Disk[{0, -1/2}, 1/2]},
  6.    {White, Disk[{0, 1/2}, 0.1]},
  7.    Disk[{0, -1/2}, 0.1],
  8.    Circle[]
  9.    },
  10.   ImageSize -> 300
  11.   ]
  12. ]

  13. Export["cos2t.svg",
  14. PolarPlot[Cos[2 t], {t, 0, 2 Pi},
  15.     BaseStyle -> Directive[20, PointSize -> Large, FontFamily -> "Times New Roman"],
  16.     Epilog -> {Point[{{0, 1}, {1, 0}}], Text["(0, 1)", {0.4, 1.2}], Text["(1, 0)", {1.2, 0.2}]},
  17.     AxesStyle -> Black,
  18.     PlotPoints -> 80,
  19.     MaxRecursion -> 1,
  20.     Ticks -> None,
  21.     PlotStyle -> Green,
  22.     AxesLabel -> {x, y},
  23.     PlotRange -> {{-1, 1.4}, {-1, 1.4}},
  24.     PlotRangePadding -> 0,
  25.     ImageSize -> 300
  26.     ] /. Line[x_] :> {{Opacity[0.5], Polygon[x]}, {Thickness[Medium], Black, Line[x]}}
  27. ]
复制代码

点评

@zeroieme, 怎么做我是知道的,只是不相信chyanog这么快,私下里都用Mathematica重写了一遍,故此一问,^_^  发表于 2018-12-28 16:03
Export["*.svg" , Plot_]  发表于 2018-12-28 15:57
Mathematica怎么导出的  发表于 2018-12-28 13:49
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2018-12-28 16:37:43 | 显示全部楼层
我有个疑惑。第一个 yinyang的svg不能鼠标滚轮缩放,但是第二个cos2t.svg却可以。

点评

这个我也不知道  发表于 2018-12-28 17:08
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2018-12-28 16:44:41 | 显示全部楼层
wayne 发表于 2018-12-28 16:37
我有个疑惑。第一个 yinyang的svg不能鼠标滚轮缩放,但是第二个cos2t.svg却可以。

我疑惑的是这俩例子Mathematica产生的是真SVG,但我以前生成的是内部为像素数据的假SVG。

点评

确实, @chyanog的SVG是路径数据<path style>我这里9.0是折线<polyline>  发表于 2018-12-28 22:33
可能是老版本支持的不好吧  发表于 2018-12-28 17:09
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2018-12-28 17:02:00 | 显示全部楼层
chyanog 发表于 2018-12-28 10:08
可以上传svg附件了,这两个图是用Mathematica导出的


第二个,我看了代码,Line的用法好神奇,代码好像没有Line呢,却有规则替换,而且效果很好,怎么做到的,求指教,
=========
是因为PolarPlot命令非built-in函数,自带了Line命令么?

点评

奥,汗,我觉得我都退化了。  发表于 2018-12-28 17:16
学习了,赞赞赞  发表于 2018-12-28 17:13
很多带Plot的函数返回的其实都是图形基元(Graphics[{primitives, }]), 用plt//InputForm或者plt//First看下就知道了  发表于 2018-12-28 17:06
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2018-12-29 11:32:17 | 显示全部楼层
按理svg图片是现代所有浏览器都默认支持的。咱们论坛不支持有点说不过去。
目前测试是可以支持直接渲染 第三方的url地址的svg.
至于附件上传的svg的图片的支持,好像确实不行。我想可能是附件上传到论坛服务器之后产生的本地url不被解析?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
懦夫
懦夫  发表于 2018-12-29 12:25:51
我大概搞明白了。论坛是php写的,php属于服务器端解析网页。而svg是要在客户端浏览器这边解析的。咱们只需要保证svg附件上传到服务器那边能提供静态地址,让客户端下载网页的时候可以下载到就够了,而不是现在的动态地址。
这个要动服务器的代码了。
发表于 2018-12-29 13:10:47 | 显示全部楼层
@gxqcn  编辑帖子的时候, 附加选项里的 HTML代码 好像不能点选呢

点评

好吧。我正在想办法 在不访问服务器的情况下 怎么让上传的svg附件能显示出来  发表于 2018-12-29 13:18
这个是安全问题吧,不然很容易嵌入攻击代码。  发表于 2018-12-29 13:15
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2018-12-29 14:23:51 | 显示全部楼层
现在论坛可以上传 svg 附件,但却没把它当成图片格式,图片模式上传仅默认支持 'jpg', 'jpeg', 'gif', 'png', 'bmp' 这五种。
要想改变这种现状,估计得改动论坛源码,可能需改动 \source\class\discuz\discuz_upload.php 两处。
已联系上另一位管理员 @282842712474 ,今晚会处理。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-6 05:50 , Processed in 0.054791 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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