公告:本站正式转型为非交互式静态网站!
转型:本站将通过笔记和博客的形式继续为大家服务,关于 Mathematica 问答服务请移步至QQ群:365716997
联系:如有问题请联系QQ群管理员,或发送邮件至:lixuan.xyz@qq.com。
感谢:最后非常感谢大家多年来的支持与帮助!
参考《互联网跟帖评论服务管理规定》《中华人民共和国网络安全法》《网络信息内容生态治理规定》《互联网用户账号信息管理规定》

—— 2022-11-27

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

0 投票
1.6k 浏览

我想做出比特之理的Tag效果,可是没有思路,大家看一下,不行的话做成二维

貌似叫力导向图

http://www.kylen314.com/archives/5335

MMA提供了这个范例,我是我需要更多的数学名词和符号,这该如何从Wolfram的服务器获取想要的数据呢?

WordCloud[
 ToString[HoldForm[
   ContourPlot3D[
    Cos[x] Sin[y] + Cos[y] Sin[z] + Cos[z] Sin[x] == 0, {x, -2 \[Pi], 
     2 \[Pi]}, {y, -2 \[Pi], 2 \[Pi]}, {z, -2 \[Pi], 2 \[Pi]}, 
    ContourStyle -> 
     Directive[FaceForm[Orange, Red], Specularity[White, 30]], 
    Mesh -> None]]], 
 ColorFunction -> (ColorData["DarkRainbow"][RandomReal[]] &)]

我自己手动添加名词到data,做出了这个图,不过数据还是太少了而且也没有数学符号...先这样,看哪位高手可以抓取一些数学方面的数据了

data2 = {{"数学分析", 10}, {"高等代数", 7}, {"解析几何", 4}, {"概率论与数理统计", 
   3}, {"拓扑学", 7}, {"近世代数", 8}, {"复变函数与积分变换", 7}, {"常微分方程", 
   4}, {"偏微分方程", 6}, {"实变函数论", 14}, {"数学模型", 8}, {"最优化理论", 5}, {"图论", 
   6}, {"泛函分析", 10}, {"调和分析", 15}, {"组合数学", 7}, {"经典力学中的数学方法", 
   6}, {"微分几何", 6}, {"数值分析", 7}, {"代数数论", 9}, {"代数几何", 10}, {"初等数论", 
   8}, {"微分流形与李群基础", 11}, {"现代密码学", 4}, {"运筹学", 3}, {"博弈论", 
   5}, {"符号计算系统", 7}, {"计算机图形学", 4}, {"群与代数表示论", 5}}
   WordCloud[data2, Disk[], FontFamily -> "STHUPO", 
 WordSpacings -> {5, 1}, ImageSize -> 400]

分类:绘图 | 用户: mma-2-2-2 (1.3k 分)
修改于 用户:mma-2-2-2
TagCanvas
那是用JS写的一个插件:http://plugins.jquery.com/tagcanvas/

源码在GitHub上:https://github.com/goat1000/TagCanvas
MMA能否做出类似的效果...
TagCanvas是什么,MMA帮助里没有这个函数...
你这明显没百度啊
挺有意思的,这个函数

1个回答

+3 投票
 
已采纳

用Mma模拟不太方便。

主要使用的函数:MousePosition + 摄像机参数(或使用几何变换GeometricTransformation)

 

有问题的实现代码:

x = 0;
y = 0;
mouseP = {0, 0};
Dynamic[
 mouseP = 2 (MousePosition["GraphicsScaled", {0.5, 0.5}] - 0.5);
 x += 0.05 mouseP[[1]];
 y += 0.05 mouseP[[2]];
 Show[{p, Graphics3D[{Opacity[0.3], Sphere[{0, 0, 0}, 0.5]}], 
   Graphics3D[{Black, Sphere[{0, 0, 0.5}, 0.1]}], 
   Graphics3D[{Red, Sphere[{0, 0.5, 0}, 0.1]}], 
   Graphics3D[{Green, Sphere[{0.5, 0, 0}, 0.1]}]}, Boxed -> False, 
  ViewVector -> {5 {Sin[y] Cos[x], Sin[y] Sin[x], Cos[y]}, {0, 0, 0}},
   ViewAngle -> Pi/4, ImageSize -> 800]]

问题原因:

当改变摄像机位置时,z轴可以朝下,此时mma自动调竖直身上的方面,导致旋转看似不连续而且方向有时反向。

试过调整ViewVertical,但没成功。

建议有时间的朋友琢磨一下参数ViewVertical或者参数ViewMatrix

 

用户: 野鹤 (5.1k 分)
采纳于 用户:mma-2-2-2
...