【发布时间】:2023-03-17 19:00:01
【问题描述】:
我正在尝试为 C++ 中的 L-System 重写引擎的实现设计数据结构,但我似乎无处可去 :(.
我需要存储一串符号(字符)。有几种类型的符号(由 LSystem 的字母表指定)。假设我们有类型“A”、“B”、“C”。现在每种类型的符号都可以有不同的参数。例如,类型 A 的符号将具有一定的距离,而符号 B 将具有角度。 C 符号没有参数。该字符串可能看起来像“ABAC”。
然后我需要遍历字符串并执行一些也与每种类型的符号相关的操作。 “A”可以表示“画‘距离’长度的线”(距离是A的参数),B“转‘角度’度数”,C画完。
我尝试为每个符号类型(SymbolA 类、SymbolB 类、SymbolC 类)创建一个符号类和一个子类,但我不知道如何创建字符串。我想避免类型转换和类似的东西。
请问有遇到类似问题或有想法的人可以帮助我吗?
【问题讨论】:
-
只使用固定长度的线段和直角,您可以使用 L 系统做很多事情。就此而言,您只需 L 即可左转。为此使用
std::string。获得 C 曲线或龙曲线运行。或者一些希尔伯特曲线。 -
感谢您的建议!它让我放弃了旧的设计并重新开始(现在我发现之前的想法非常疯狂)。这些符号毕竟不需要那些参数,这让我可以使用 std::string,就像你说的:)。再次感谢,终于有了一些进展!
标签: c++ data-structures l-systems