问题标签 [family-tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
369 浏览

c# - Revit Api,无法在familydoc模型抗锯齿和家庭元素的模型边缘属性中打开

我正在尝试使用 Revit API 为缩略图导出 3d Revit 模型族图像。我尝试打开模型边缘,使它们显示为较暗的线条,并且我尝试打开抗锯齿以使线条平滑。我意识到打开阴影可能是没有希望的,因为这个选项在家庭文档中不可用。
我已经用尽了所有图像导出选项属性。下面的代码具有导出图像选项和到目前为止我已设法设置的枚举 Revit API 属性。

0 投票
0 回答
377 浏览

django - Django 中的家谱类设计

我正在使用 Django(我是新手)开发 Family Tree 网络应用程序,并且正在决定如何设计 FamilyTree 类,以便仅授权用户查看/编辑某些树。

就目前而言,我有两个抽象元类:实体和关系。

实体可以是一个人,甚至是一个组或事件。关系可以是父母、兄弟姐妹、合作伙伴等。

一个关系有“从”和“到”外键,每一个都映射到一个实体。因为我比这个建议更喜欢抽象:Family Tree Data Structure,所以我决定只将个人信息存储在 Entity 的 Person 子类中。通过“相关名称”访问关系。如果需要代码,请告诉我。我需要获得许可才能发布它。

似乎有两种设计 FamilyTree 类的通用方法:

  1. 从 FamilyTree 实例到所有实体或所有关系或两者的多对一关系。

  2. 与根实体或关系的 OneToOne 关系,在会话期间从中解压缩树的其余部分。

我没有想到第二种方法的任何缺点,这似乎会加快速度。

两者的优点/缺点以及您的个人选择将不胜感激。

还:

  • Django 特定的实现思路。
  • 也许仅基于 FamilyTrees 分配权限不是一个好主意?

提前致谢!

0 投票
1 回答
7782 浏览

java - 使用数据结构在 Java 中实现家谱的最佳方法

https://softwareengineering.stackexchange.com/questions/285418/name-of-data-structure-thats-tree-like-with-multiple-root-nodes

我偶然发现了上面有人回答了关于实现具有> 2个节点的树的问题,我只是想了解如何最好地实现具有两个以上子节点的父节点的家谱。我看过二叉树,但由于它们只能有两个子节点,因此决定在其他地方进行研究。我还研究了使用森林数据结构来实现由具有 0 个多个子节点的多个节点组成的家族谱系树。可能会使用森林树,但是从我搜索并发现的大多数表示中,它看起来类似于一个脱节的集合,但我不希望父节点已经注定没有孩子。我希望我所说的有意义。任何人能够提供的任何建议或意见将不胜感激。

0 投票
1 回答
3012 浏览

javascript - GOJS 的家谱图中一个孩子的多个父母

如何在 GOJS 的家谱图中为子节点添加多个父节点。是否有任何参数或任何代码行可以这样做?

我想生成如下图。

在此处输入图像描述

0 投票
1 回答
688 浏览

javascript - 在 Cytoscape.js 中为家谱设置边缘样式

我有一个使用 Django 的 Family Tree 应用程序,我正在尝试将http://js.cytoscape.org用于 UI。

我想像这样设计浪漫伴侣之间的边缘:

http://www.eprintablecalendars.com/images/arts-and-crafts/family-tree.jpg

这就是您通常看到的(方形-U)。

我对 Cytoscape.js 完全陌生,并且无法在文档或其他线程中找到任何答案。

0 投票
1 回答
775 浏览

graphviz - 使用 Dot/Graphviz 进行家谱可视化中的节点放置

我正在尝试使用 Dot/Graphviz 从数据库中生成家谱可视化。第一个结果看起来很有希望,但有一个布局问题我还不能解决。

当我使用下面列出的代码时,它会产生这个输出

我对此非常满意。但是一旦我尝试在 F4/M4/M5 和 F2/M2 家族之间添加另一个节点,这可以通过在下面的代码中取消注释两行来完成,它会给我这个输出

现在将 Male2 放置在远离 Female2 且位于 Female4 和 Male4 之间的位置。因此,F2/M2 和 F4/M4/M5 家族彻底分裂。我尝试增加家庭连接的权重(值为 100)以确保家庭 F2/M2 和 F4/M4/M5 放在一起,但这不起作用。到目前为止,更改节点或连接的顺序也没有帮助。最好的解决方案是,如果 F4/M4/M5 系列可以放在左侧,MaleX 放在中间,F2/M2 系列放在右侧。

有人有建议吗?我宁愿不更改代码中定义节点和连接的顺序,因为这是由脚本完成的,并且是由数据库结构预定义的。

0 投票
1 回答
169 浏览

prolog - 序言:许多家庭都写有清单。仅针对最后一个家庭写的问题答案

我写了 4 个家庭列表和一些规则,如下所示:

问题是当我问一个问题时:

结果我得到了最后一个家庭的孩子,而不是他们四个。

有什么帮助吗?

0 投票
3 回答
3060 浏览

javascript - 如何防止家谱生成器中的重叠?

我正在创建一个交互式家谱创建者,这与更简单的版本不同,后者是简单的谱系图/树。

我的要求(基于familyecho.com)是:

  • 多个合作伙伴与您通常看到的简单的 2 父母对 1 孩子。
  • 多个兄弟姐妹
  • 伴侣不一定要生孩子
  • 不必总是有父母“对”,可以只有一个父亲/母亲

我遇到的问题是:我正在根据“当前”节点/家庭成员生成偏移量,当我通过第一代时说,2 个父母,它重叠。

重叠示例以及未在同一 X 轴上绘制伙伴的示例:

在此处输入图像描述

这是我遇到问题的实际应用程序主 js 文件。这是我创建的一个简化的 jsfiddle,它演示了父/偏移量问题,尽管我确实必须为此解决重叠问题此外还要确保合作伙伴与其他合作伙伴在同一 x 轴上绘制。

我该如何解决这个和未来可能的重叠冲突?我是否需要某种重绘功能来检测碰撞并在检测时调整每个块的偏移量?我正在尝试使其无缝,因此完成的重绘数量有限。

计算相对于“上下文”或当前节点的偏移量的示例:

0 投票
1 回答
1986 浏览

json - 具有多个合作伙伴和兄弟姐妹的家谱的数据结构?

我有一个非常基本的家谱结构,但我需要弄清楚如何让它支持多个合作伙伴和兄弟姐妹,而不需要太多冗余。

整个树的基础是创建树的人。

考虑这个非常简单的结构:

这很好用,但是如果我发现我有一个名叫朱迪的同父异母兄弟姐妹(成吉思汗喜欢女士们)和一个名叫布莱恩的全兄弟姐妹并将其扩展到这个呢?

这确实映射了我的 2 个新发现的兄弟姐妹,但现在我的数据有点冗余,因为成吉思汗在 3 个不同的地方。我可能会创建一个单级列表,例如:

如果没有太多冗余,这会以同样的方式工作吗?是否有任何可预见的情况下,在映射多个有孩子的伴侣方面会有任何限制?

注意:我想如果我保持初始结构,我必须添加 id 键以正确识别成吉思汗在所有 3 个实例中都是相同的。

我的最终目标是映射一个在视觉上将以这种方式呈现的谱系树(可能在 d3.js 中),在合作伙伴与他们的孩子之间的中间有一条线。

因此,使用上面的数据集,我正在尝试渲染:

在此处输入图像描述

0 投票
1 回答
3044 浏览

d3.js - d3.js 中的家谱中有多个合作伙伴?

我有一个来自Cyril 惊人答案的家谱,但我正试图弄清楚如何调整它以支持多个合作伙伴。在这种情况下,我添加了一个“Mistress”节点并试图表示“Mistress”和“John”有一个名为“Hidden Son”的孩子。

当前的数据结构是这样工作的:

在此处输入图像描述

在那里,root对象存储了所有内容。它有一个children数组,其中包含没有父母的最多“一代”。它还包含一个对象,该对象包含这些兄弟对象/节点的子对象。在上面的示例中,这是root.children[2].

我想我将不得不重构数据结构children并注入有关孩子来自谁父母的信息。只是难以概念化这一点,以及这条线

结局会是这样,除了情妇在左边:

在此处输入图像描述