Skip to content

Commit

Permalink
[fix] hotfix 修复gitee图片链接不可用
Browse files Browse the repository at this point in the history
  • Loading branch information
huuhghhgyg committed May 17, 2024
1 parent e8e9fd4 commit 46d1a58
Show file tree
Hide file tree
Showing 11 changed files with 36 additions and 36 deletions.
6 changes: 3 additions & 3 deletions docs/docs/web/1.1_what_microcity_web_can_do.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,18 @@ MicroCity Web 的目标是提供一个**简单快速**的空间建模工具,
## 数据分析
借助可编程脚本和丰富的 2D/3D 场景库,MicroCity Web 可用于分析并生动显示各种数据。

![数据可视化](https://microcity.gitee.io/doc/img/data_visulization.png)
![数据可视化](https://microcity.github.io/doc/img/data_visulization.png)


## 模型构建
借助内置的脚本调试功能和混合整数规划库,MicroCity Web 可用于创建物流模型并微调其参数。

![模型分析](https://microcity.gitee.io/doc/img/network_analysis.png)
![模型分析](https://microcity.github.io/doc/img/network_analysis.png)


## 仿真开发
感谢离散事件仿真库,MicroCity Web 可以动态评估各种物流情景并以动画方式显示出来。

![终端仿真](https://microcity.gitee.io/doc/img/terminal_simulation.apng)
![终端仿真](https://microcity.github.io/doc/img/terminal_simulation.apng)

> 本文使用ChatGPT翻译,如有遗漏请[**反馈**](https://github.com/huuhghhgyg/MicroCityNotes/issues/new)
8 changes: 4 additions & 4 deletions docs/docs/web/2.1_rolling_a_cube.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,21 @@ prev: ./1.1_what_microcity_web_can_do.md
本教程旨在指导您如何使用 MicroCity Web 用户界面。

## 运行脚本
第一次打开 MicroCity Web 时,将自动加载示例脚本到左侧的脚本编辑器中。单击**运行**![play](https://microcity.gitee.io/img/play.svg)按钮,消息栏下方将出现“hello, there!”消息,并且在右侧的场景画布中会出现一个滚动的立方体。您还可以使用**暂停**![pause](https://microcity.gitee.io/img/pause.svg)**停止**![stop](https://microcity.gitee.io/img/stop.svg)按钮控制立方体,或单击**代码**![code](https://microcity.gitee.io/img/code.svg)按钮隐藏脚本编辑器并扩大场景画布。有关运行脚本的更多信息,请参考[3.3 运行脚本](3.3_running_scripts.md)
第一次打开 MicroCity Web 时,将自动加载示例脚本到左侧的脚本编辑器中。单击**运行**![play](https://microcity.github.io/img/play.svg)按钮,消息栏下方将出现“hello, there!”消息,并且在右侧的场景画布中会出现一个滚动的立方体。您还可以使用**暂停**![pause](https://microcity.github.io/img/pause.svg)**停止**![stop](https://microcity.github.io/img/stop.svg)按钮控制立方体,或单击**代码**![code](https://microcity.github.io/img/code.svg)按钮隐藏脚本编辑器并扩大场景画布。有关运行脚本的更多信息,请参考[3.3 运行脚本](3.3_running_scripts.md)

![滚动立方体](https://microcity.gitee.io/doc/img/rolling_cube.png)
![滚动立方体](https://microcity.github.io/doc/img/rolling_cube.png)

## 编辑脚本
MicroCity脚本使用<a href="https://www.lua.org/manual/5.4/manual.html" target="_blank">Lua语言</a>。请仔细阅读注释,了解示例脚本的行为,并参考[4.3 场景和物体](4.3_scene_and_object.md)以获取控制场景和物体功能的详细信息。如果想要看到不同效果,在`obj:setrot(x, y, z)`之前添加以下代码:
```lua:no-line-numbers
z = z + 0.1
```
这段代码将改变立方体旋转的方式。您可以**保存**![save](https://microcity.gitee.io/img/save.svg)新代码到本地,或者**发布**![publish](https://microcity.gitee.io/img/publish.svg)到在线,MicroCity将生成类似https://microcity.gitee.io/#xxxxxx的URL。他人可以通过此URL访问您创建的MicroCity应用或修改您的代码。有关编辑脚本的更多信息,请参阅[3.2 编辑脚本](3.2_editing_scripts.md)
这段代码将改变立方体旋转的方式。您可以**保存**![save](https://microcity.github.io/img/save.svg)新代码到本地,或者**发布**![publish](https://microcity.github.io/img/publish.svg)到在线,MicroCity将生成类似https://microcity.github.io/#xxxxxx的URL。他人可以通过此URL访问您创建的MicroCity应用或修改您的代码。有关编辑脚本的更多信息,请参阅[3.2 编辑脚本](3.2_editing_scripts.md)


## 浏览场景
如果想要从不同角度和方向观察场景,可以使用鼠标浏览场景画布。在场景画布的空白处按住**左键**并拖动,场景摄像机将按相反方向旋转。按住**右键**并拖动,场景摄像机将按鼠标移动方向相反平移。如果**选择一个物体**并拖动它,场景摄像机将以物体为中心并按鼠标移动方向相反旋转。此外,滚动**鼠标滚轮**可以使场景摄像机前后移动。有关浏览场景的更多信息,请参考[3.4 浏览场景](3.4_navigating_scenes.md)

![](https://microcity.gitee.io/doc/img/navigating_cube.apng)
![](https://microcity.github.io/doc/img/navigating_cube.apng)

> 本文使用ChatGPT翻译,如有遗漏请[**反馈**](https://github.com/huuhghhgyg/MicroCityNotes/issues/new)
8 changes: 4 additions & 4 deletions docs/docs/web/2.2_searching_for_countries.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ next: 3.1_ui_overview.md
## 场景对象的数据结构
在场景中,您可以加载内置对象,如'box','sphere' 等,也可以导入外部 json 文件,如 geojson 和 gltf。所有加载到场景中的对象可以分为三种基本类型,称为**points****polyline****mesh**(多边形是**mesh**的一种特殊类型)。对象数据被组织成如下所示的分层树结构。您可以在 [4.3 场景与对象](4.3_scene_and_object.md) 中找到有关对象的更多信息。

<img src="https://microcity.gitee.io/doc/img/data_structure.svg" width="640">
<img src="https://microcity.github.io/doc/img/data_structure.svg" width="640">

## 发起查询
您可以通过点击**新建**![new](https://microcity.gitee.io/img/new.svg)打开一个示例脚本 -> **世界地图**。然后点击**运行**![run](https://microcity.gitee.io/img/play.svg),这样世界上所有国家的地图和相关信息就会显示出来。现在假设我们想要找出人口超过1亿且完全位于北半球的国家。因此,我们需要检查每个国家的人口数量和边界坐标。以下是完整代码。
您可以通过点击**新建**![new](https://microcity.github.io/img/new.svg)打开一个示例脚本 -> **世界地图**。然后点击**运行**![run](https://microcity.github.io/img/play.svg),这样世界上所有国家的地图和相关信息就会显示出来。现在假设我们想要找出人口超过1亿且完全位于北半球的国家。因此,我们需要检查每个国家的人口数量和边界坐标。以下是完整代码。

```lua
scene.setenv({camtype='ortho'}) --将场景相机设置为正交投影
Expand All @@ -38,8 +38,8 @@ scene.render() --渲染场景
```

## 展示结果
**运行**![run](https://microcity.gitee.io/img/play.svg)脚本将会突出显示搜索到的国家,并在下方的**消息栏**中打印信息。您可以点击消息栏以放大它。
**运行**![run](https://microcity.github.io/img/play.svg)脚本将会突出显示搜索到的国家,并在下方的**消息栏**中打印信息。您可以点击消息栏以放大它。

![results](https://microcity.gitee.io/doc/img/searching_for_countries.png)
![results](https://microcity.github.io/doc/img/searching_for_countries.png)

> 本文使用ChatGPT翻译,如有遗漏请[**反馈**](https://github.com/huuhghhgyg/MicroCityNotes/issues/new)
28 changes: 14 additions & 14 deletions docs/docs/web/3.1_ui_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ MicroCity Web提供了一个简洁而多功能的用户界面。
## 界面分区和功能
MicroCity Web的用户界面分为四个部分:**按钮面板****脚本编辑器****场景画布****消息栏**,如下图所示:

![ui](https://microcity.gitee.io/doc/img/ui_overview.png)
![ui](https://microcity.github.io/doc/img/ui_overview.png)

在这里我们简要介绍按钮面板,脚本编辑器,场景画布和消息栏将在后续章节中详细讨论:[3.2 编辑脚本](3.2_editing_scripts.md)[3.3 运行脚本](3.3_running_scripts.md)[3.4 导航场景](3.4_navigating_scenes.md)

Expand All @@ -17,27 +17,27 @@ MicroCity Web的用户界面分为四个部分:**按钮面板**,**脚本编

|Button|Name|Shortcut|左键点击|右键点击|
|---|---|---|---|---|
|![](https://microcity.gitee.io/img/play.svg) |运行/调试 |F5|运行脚本|调试脚本|
|![](https://microcity.gitee.io/img/pause.svg) |暂停 |F6|暂停脚本运行||
|![](https://microcity.gitee.io/img/stop.svg) |停止/终止 |F7|停止脚本运行|终止进程|
|![](https://microcity.gitee.io/img/code.svg) |显示代码 |F8|显示/隐藏脚本编辑器|在全屏模式下显示/隐藏脚本编辑器|
|![](https://microcity.gitee.io/img/new.svg) |新建/清除 |Ctrl + B|创建新脚本|清除脚本和虚拟磁盘|
|![](https://microcity.gitee.io/img/open.svg) |打开/上传 |Ctrl + O|打开脚本/项目文件|上传文件到虚拟磁盘|
|![](https://microcity.gitee.io/img/save.svg) |保存/下载 |Ctrl + S|保存脚本/项目文件|从虚拟磁盘下载文件|
|![](https://microcity.gitee.io/img/publish.svg) |发布/嵌入 ||将项目发布到网络|在URL中嵌入项目|
|![](https://microcity.gitee.io/img/doc.svg) |文档 |F1|显示文档||
|![](https://microcity.github.io/img/play.svg) |运行/调试 |F5|运行脚本|调试脚本|
|![](https://microcity.github.io/img/pause.svg) |暂停 |F6|暂停脚本运行||
|![](https://microcity.github.io/img/stop.svg) |停止/终止 |F7|停止脚本运行|终止进程|
|![](https://microcity.github.io/img/code.svg) |显示代码 |F8|显示/隐藏脚本编辑器|在全屏模式下显示/隐藏脚本编辑器|
|![](https://microcity.github.io/img/new.svg) |新建/清除 |Ctrl + B|创建新脚本|清除脚本和虚拟磁盘|
|![](https://microcity.github.io/img/open.svg) |打开/上传 |Ctrl + O|打开脚本/项目文件|上传文件到虚拟磁盘|
|![](https://microcity.github.io/img/save.svg) |保存/下载 |Ctrl + S|保存脚本/项目文件|从虚拟磁盘下载文件|
|![](https://microcity.github.io/img/publish.svg) |发布/嵌入 ||将项目发布到网络|在URL中嵌入项目|
|![](https://microcity.github.io/img/doc.svg) |文档 |F1|显示文档||

## 文件管理
MicroCity Web能将脚本和虚拟磁盘文件打包成一个单独的 .wm 文件,方便携带。你也可以使用**发布/嵌入**![](https://microcity.gitee.io/img/publish.svg)来将其发布为一个简短链接或嵌入到 URL 中。下表展示了 MicroCity Web 支持的文件类型。
MicroCity Web能将脚本和虚拟磁盘文件打包成一个单独的 .wm 文件,方便携带。你也可以使用**发布/嵌入**![](https://microcity.github.io/img/publish.svg)来将其发布为一个简短链接或嵌入到 URL 中。下表展示了 MicroCity Web 支持的文件类型。
|类型|格式|用途|备注|
|---|---|---|---|
|.wm |MicroCity Web 文件|打开![](https://microcity.gitee.io/img/open.svg)/保存![](https://microcity.gitee.io/img/save.svg)/发布![](https://microcity.gitee.io/img/publish.svg)|用于打包脚本和虚拟磁盘文件|
|.lua |Lua 文件|打开![](https://microcity.gitee.io/img/open.svg)/保存![](https://microcity.gitee.io/img/save.svg)|仅编辑器中的脚本|
|.wm |MicroCity Web 文件|打开![](https://microcity.github.io/img/open.svg)/保存![](https://microcity.github.io/img/save.svg)/发布![](https://microcity.github.io/img/publish.svg)|用于打包脚本和虚拟磁盘文件|
|.lua |Lua 文件|打开![](https://microcity.github.io/img/open.svg)/保存![](https://microcity.github.io/img/save.svg)|仅编辑器中的脚本|
|.json |JavaScript 对象表示法|scene.addobj/scene.tojson|Threejs JSON 文件|
|.geojson|地理数据文件|scene.addobj|加载到场景的 XY 平面上|
|.gltf/.glb|图形库传输格式|scene.addobj|建议使用 GLB 以节省空间|
|.jpg 等|位图图像|scene.setmat|作为场景对象的纹理使用|

此外,任何类型文件都可以通过右键点击**打开**![](https://microcity.gitee.io/img/open.svg)、直接拖拽或使用**上传**功能上传到虚拟磁盘,以便脚本可以直接访问(示例脚本中的资源位于 '/res' 目录)。虚拟磁盘中的文件也可以通过右键点击**保存**![](https://microcity.gitee.io/img/save.svg)或使用**下载**功能下载到本地。你也可以通过右键点击**发布**![](https://microcity.gitee.io/img/publish.svg)将任何文件保存为 URL 链接。
此外,任何类型文件都可以通过右键点击**打开**![](https://microcity.github.io/img/open.svg)、直接拖拽或使用**上传**功能上传到虚拟磁盘,以便脚本可以直接访问(示例脚本中的资源位于 '/res' 目录)。虚拟磁盘中的文件也可以通过右键点击**保存**![](https://microcity.github.io/img/save.svg)或使用**下载**功能下载到本地。你也可以通过右键点击**发布**![](https://microcity.github.io/img/publish.svg)将任何文件保存为 URL 链接。

> 本文使用ChatGPT翻译,如有遗漏请[**反馈**](https://github.com/huuhghhgyg/MicroCityNotes/issues/new)
4 changes: 2 additions & 2 deletions docs/docs/web/3.2_editing_scripts.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ MicroCity 网页应用程序采用<a href="https://www.lua.org/manual/5.4/manual
## 脚本编辑器
集成的脚本编辑器基于<a href="https://github.com/ajaxorg/ace" target="_blank">Ace</a>,易于使用且功能丰富。下图显示了编辑器窗口中经常出现的图形和符号。在[调试脚本](3.3_running_scripts.md)时会使用“断点”和“当前行”。

![脚本编辑器](https://microcity.gitee.io/doc/img/script_editor.png)
![脚本编辑器](https://microcity.github.io/doc/img/script_editor.png)

## 快捷键
大多数快捷键遵循<a href="https://github.com/ajaxorg/ace/wiki/Default-Keyboard-Shortcuts" target="_blank">Ace的设置</a>,并且一些是由MicroCity Web自定义的。以下是最常用的快捷键列表:
Expand All @@ -23,7 +23,7 @@ MicroCity 网页应用程序采用<a href="https://www.lua.org/manual/5.4/manual
## <a id='codegen'>代码生成</a>
脚本可以通过人工智能自动生成。只需在一行的开头输入三个“-”,然后输入提示并按Enter键:

![代码生成](https://microcity.gitee.io/doc/img/code_generation.apng)
![代码生成](https://microcity.github.io/doc/img/code_generation.apng)

默认情况下,会使用免费服务生成具有一些限制的代码。用户可以设置自定义的 OpenAI API 兼容服务,方法如下控制台命令:

Expand Down
6 changes: 3 additions & 3 deletions docs/docs/web/3.3_running_scripts.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
## 消息栏
为了节省空间,消息栏通常是折叠起来的。您可以通过**左键单击**来放大它。消息栏显示各种信息,如下图所示。当您**右键单击**时,会弹出控制台光标。在这种模式下,您可以输入命令来控制Lua脚本的执行。在调试脚本时尤为有用。请注意,消息栏中大量的消息会严重拖慢脚本的运行速度。此时在控制台中使用 **print()** 命令将清除所有打印输出。

![script editor](https://microcity.gitee.io/doc/img/message_bar.png)
![script editor](https://microcity.github.io/doc/img/message_bar.png)

## 运行、暂停和停止
Lua引擎用于执行脚本。消息栏中的系统信息部分显示Lua引擎的**四种状态**
Expand All @@ -13,10 +13,10 @@ Lua引擎用于执行脚本。消息栏中的系统信息部分显示Lua引擎
- 调试中:以调试模式执行
- 暂停:执行已暂停

您可以点击 **Run**![](https://microcity.gitee.io/img/play.svg) 开始执行。点击 **Pause**![](https://microcity.gitee.io/img/pause.svg) 暂停执行,但此功能需要[os.getready](4.2_operation_system.md)[scene.render](4.3_scene_and_object.md)的支持。点击 **Stop**![](https://microcity.gitee.io/img/stop.svg) 终止执行,或**右键单击**以终止执行进程并重新启动引擎。
您可以点击 **Run**![](https://microcity.github.io/img/play.svg) 开始执行。点击 **Pause**![](https://microcity.github.io/img/pause.svg) 暂停执行,但此功能需要[os.getready](4.2_operation_system.md)[scene.render](4.3_scene_and_object.md)的支持。点击 **Stop**![](https://microcity.github.io/img/stop.svg) 终止执行,或**右键单击**以终止执行进程并重新启动引擎。

## 调试
您可以通过**右键单击** **运行**![](https://microcity.gitee.io/img/play.svg) 在调试模式下开始执行脚本。调试消息以黄色打印。单击[脚本编辑器](3.2_editing_scripts.md) 的行号左边缘来设置**断点**。执行将会被这些断点或单击**暂停**![](https://microcity.gitee.io/img/pause.svg)按钮而暂停。可以通过在控制台中使用 debug.watch 命令来监视脚本中的变量。其他命令或合法的 **Lua 脚本片段** 可以在控制台中执行以更改系统。下面是调试命令及其相应快捷键的表格。
您可以通过**右键单击** **运行**![](https://microcity.github.io/img/play.svg) 在调试模式下开始执行脚本。调试消息以黄色打印。单击[脚本编辑器](3.2_editing_scripts.md) 的行号左边缘来设置**断点**。执行将会被这些断点或单击**暂停**![](https://microcity.github.io/img/pause.svg)按钮而暂停。可以通过在控制台中使用 debug.watch 命令来监视脚本中的变量。其他命令或合法的 **Lua 脚本片段** 可以在控制台中执行以更改系统。下面是调试命令及其相应快捷键的表格。

|命令|快捷键|备注|
|---|---|---|
Expand Down
4 changes: 2 additions & 2 deletions docs/docs/web/3.4_navigating_scenes.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ next: 4.1_si_overview.md
## 场景画布
您可以通过复制“加载GLTF”示例来创建新的脚本并运行它。场景画布可以显示一个 3D 虚拟世界。xyz 坐标轴之间的关系遵循**右手规则**(如图所示),摄像机的初始位置是 **(20, 10, 20)**。当场景摄像机设为 z 轴**正交**投影(camtype='ortho')时,在场景画布中显示的 3D 世界会变成'2D',摄像机的初始位置为 **(0, 0, 1)**。对象可以被选中,然后在脚本中进行**选择**处理。还可以通过脚本执行其他操作,如平移、旋转和缩放。旋转遵循**右手规则**。详细信息请参阅[4.3 场景和对象](4.3_scene_and_object.md)

![](https://microcity.gitee.io/doc/img/scene_canvas.png)
![](https://microcity.github.io/doc/img/scene_canvas.png)

## 导航手势
类似于 [2.1 滚动立方体](2.1_rolling_a_cube.md),这里我们呈现另一个更易于理解和练习的示例,如下图所示:

![](https://microcity.gitee.io/doc/img/navigating_scene.gif)
![](https://microcity.github.io/doc/img/navigating_scene.gif)

## 外部工具
为了更轻松地编辑和预览对象,以下是一些有用的工具:
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/web/4.2_operation_system.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ print(os.execute("fetch('http://127.0.0.1:8000/msg').then(res => res.json()).the

<a id='os.getready'> os.getready () </a>

如果单击**暂停**![](https://microcity.gitee.io/img/pause.svg)将暂停执行,如果单击**停止**![](https://microcity.gitee.io/img/stop.svg)将返回false。
如果单击**暂停**![](https://microcity.github.io/img/pause.svg)将暂停执行,如果单击**停止**![](https://microcity.github.io/img/stop.svg)将返回false。

这对控制长时间运行脚本很有用。用户可以暂停它,然后在控制台运行一些命令或停止它。

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/web/4.4_discrete_event_simulation.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ end

一个排队系统平均每3分钟为一位顾客服务,而服务器平均每2.5分钟为一位顾客提供服务。先到先服务。可以在此处绘制一个 <a herf="https://en.wikipedia.org/wiki/Event_relationship_graph" target="_blank">事件关系图</a>:

![](https://microcity.gitee.io/doc/img/mm1.svg)
![](https://microcity.github.io/doc/img/mm1.svg)

以及源代码:

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/web/4.5_mixed_integer_programming.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ print(mip.obj, ' ', mip.x1, ' ', mip.x2) --打印目标函数和变量的值

让我们展示一个略微复杂一点的例子,这是一个线性规划,其中目标函数和约束条件使用缩写表示:

![](https://microcity.gitee.io/doc/img/lp.svg)
![](https://microcity.github.io/doc/img/lp.svg)

在这个模型中有100个变量和100个约束条件,无法手动逐个添加。它们需要通过循环进行处理:
```lua
Expand Down

0 comments on commit 46d1a58

Please sign in to comment.