小编cod*_*edd的帖子

git-svn在git中合并后会发生dcommit吗?

我尝试git-svn的动机是毫不费力的合并和分支.然后我注意到男人git-svn(1)说:

不建议在您计划提交的分支上运行git-merge或git-pull.Subversion不以任何合理或有用的方式表示合并; 因此使用Subversion的用户无法看到您所做的任何合并.此外,如果您从作为SVN分支镜像的git分支合并或拉出,则dcommit可能会提交到错误的分支.

这是否意味着我无法从svn/trunk(或分支)创建本地分支,破解,合并回svn/trunk,然后dcommit?我知道svn用户会看到同样的混乱,在svn pre 1.5.x中一直是合并,但是还有其他缺点吗?最后一句也让我担心.人们经常做这些事吗?

svn git merge branch git-svn

133
推荐指数
6
解决办法
4万
查看次数

git remote add和git clone之间的区别

什么是clone命令吗?在svn中有没有相同的东西?

有什么区别

git remote add test git://github.com/user/test.git
Run Code Online (Sandbox Code Playgroud)

git clone git://github.com/user/test.git
Run Code Online (Sandbox Code Playgroud)

创建的repo的名称是否重要?

git git-clone git-remote

63
推荐指数
4
解决办法
4万
查看次数

XML到Hash的转换:Nori删除了最深层XML元素的属性

摘要

我正在使用Ruby(ruby 2.1.2p95 (2014-05-08) [x86_64-linux-gnu]在我的机器上,ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]在生产环境中)和Nori将XML文档(最初使用Nokogiri进行处理以进行一些验证)转换为Ruby Hash,但后来我发现Nori正在删除最深层XML元素的属性.

问题详细信息和再现

为此,我使用的代码类似于以下内容:

xml  = Nokogiri::XML(File.open('file.xml')) { |config| config.strict.noblanks }
hash = Nori.new.parse xml.to_s
Run Code Online (Sandbox Code Playgroud)

除一种情况外,代码通常按预期工作.每当Nori解析XML文本时,它都会从叶元素(即没有子元素的元素)中删除元素属性.

例如,以下文档:

<?xml version="1.0"?>
<root>
  <objects>
    <object>
      <fields>
        <id>1</id>
        <name>The name</name>
        <description>A description</description>
      </fields>
    </object>
  </objects>
</root>
Run Code Online (Sandbox Code Playgroud)

...被转换为预期的Hash(为简洁起见省略了一些输出):

irb(main):066:0> xml = Nokogiri::XML(txt) { |config| config.strict.noblanks }
irb(main):071:0> ap Nori.new.parse(xml.to_s), :indent => -2
{
  "root" => {
    "objects" => {
      "object" => {
        "fields" => {
          "id"   => "1",
          "name" => "The name" …
Run Code Online (Sandbox Code Playgroud)

ruby xml hash

26
推荐指数
1
解决办法
1229
查看次数

正确地转换相对于指定空间的节点?

我目前正在处理分层场景图中的节点,并且我难以相对于特定的转换空间(例如父节点)正确地转换/旋转节点.

如何在场景图中相对于其父节点正确平移/旋转节点?

问题

考虑以下水分子图(没有连接线)用于场景节点的父/子结构,其中O xygen原子是父节点,2 H ydrogen原子是子节点.

表示父/子节点关系的水分子

翻译问题

如果您抓住父O xygen原子并翻译结构,您希望H ydrogen儿童跟随并保持与父母相同的相对位置.如果你抓住一个孩子H原子并翻译它,那么只有孩​​子会受到影响.这通常是它目前的工作方式.当O原子被翻译时,H原子会随着它自动移动,正如层次图所预期的那样.

然而,当翻译父母时,孩子们最终还会积累额外的翻译,这实际上会导致孩子们在同一个方向"翻译两次"并远离他们的父母而不是保持相同的相对距离.

轮换问题

如果您抓住父O节点并旋转它,您希望子节点H节点也旋转,但在轨道中,因为旋转正由父节点执行.这按预期工作.

但是,如果你抓住一个子H节点并告诉它相对于它的父节点旋转,我预计只有孩子会以同样的方式绕其父节点绕轨道运行,但这不会发生.相反,孩子在其当前位置以更快的速度(例如,相对于其自身局部空间旋转的两倍)在其自身轴上旋转.

我真的希望这个描述足够公平,但如果不是,请告诉我,我会根据需要澄清.

数学

我使用4×4 列优先矩阵(即Matrix4)和列向量(即Vector3,Vector4).

下面不正确的逻辑是我最接近正确的行为.请注意,我选择使用Java的语法,运算符重载,使数学更容易在这里找到.当我以为我已经把它想出来的时候,我尝试了不同的东西,但我真的没有.

当前的翻译逻辑

translate(Vector3 tv /* translation vector */, TransformSpace relativeTo):
    switch (relativeTo):
        case LOCAL:
            localTranslation = localTranslation * TranslationMatrix4(tv);
            break;
        case PARENT:
            if parentNode != null:
                localTranslation = parentNode.worldTranslation …
Run Code Online (Sandbox Code Playgroud)

opengl 3d graphics transformation matrix

19
推荐指数
2
解决办法
2490
查看次数

如何计算正常矩阵?

我的普通矩阵有些麻烦.

vs.glsl

#version 440

in vec3 vPosition;
in vec3 vNormal;

out vec4 eyeCordFs;
out vec4 eyeNormalFs;

uniform mat4 model;
uniform mat4 view;
uniform mat4 proj;

void main()
{   
    mat4 modelView = view * model;
    mat4 normalMatrix = view * transpose(inverse(model));
    vec4 eyeNorm = normalize(normalMatrix * vec4(vNormal, 0.0));
    vec4 eyeCord= modelView * vec4(vPosition, 1.0);

    eyeCordFs = eyeCord;
    eyeNormalFs = eyeNorm;

    gl_Position = proj * modelView * vec4( vPosition,1.0);
}
Run Code Online (Sandbox Code Playgroud)

fs.glsl

#version 440

in vec4 eyeCordFs;
in vec4 eyeNormalFs;

out vec3 outputColor; …
Run Code Online (Sandbox Code Playgroud)

opengl 3d graphics glsl

17
推荐指数
1
解决办法
3万
查看次数

这个哈希函数如何工作?这些数字是随机的吗?

我正在阅读K&R的"The C Programming Language"一书.在"结构"一章中,在"表查找"(页144)的子主题下,我找到了此哈希生成函数

#define HASHSIZE 101

struct nlist {
    struct nlist *next;
    char *name;
    char *defn;
}

static struct nlist *hashtab[HASHSIZE];

unsigned hash(char *s)
{
    unsigned hashval;

    for (hashval = 0; *s != '\0'; s++)
        hashval = *s + 31 * hashval;
    return hashval % HASHSIZE;
}
Run Code Online (Sandbox Code Playgroud)

我不明白的是这个功能实际上是做什么的.

我认为它为给定的字符串(char*s)生成一个唯一的地址(作为hashtab的索引).

但我认为两个不同的字符串可以被赋予相同的索引,因为(hashval%HASHSIZE)是给定的地址(203%101 = 405%101 = 1).

为什么HASHSIZE 101和hashval乘以31?为什么不是100或32?

c hash struct hashtable

13
推荐指数
2
解决办法
863
查看次数

修复3D相机朝其面向的方向移动?

短版(TL; DR)

只要旋转/轴与世界一致,我就会Camera附加一个SceneNode并且运动工作正常SceneNode.然而,当物体在旋转不同的方向,以"看",并告知"前进"它并没有沿着新的"前进"方向移动.相反,它继续沿着应用旋转之前面向的方向移动.

细节和例子

我有一个场景图来管理3D场景.图形是一个SceneNode对象树,它们知道它们相对于父元素和世界的变换.

根据TL; DR; 片段,假设你有一个cameraNode零旋转(例如朝北),然后cameraNode围绕+ Y"向上"轴向左旋转90度,即向西看.到目前为止事情还可以.如果你现在尝试移动cameraNode现在向西的"向前",那么cameraNode移动就好像"向前"仍然面向北方.

简而言之,它就像从未旋转过一样.

下面的代码显示了我最近尝试过的内容以及我(当前)最佳猜测,即缩小最可能与问题相关的区域.

相关SceneNode成员

SceneNode实施具有以下字段(仅是有关这个问题显示):

class GenericSceneNode implements SceneNode {
    // this node's parent; always null for the root scene node in the graph
    private SceneNode parentNode;

    // transforms are relative to a parent scene node, if any
    private Vector3 relativePosition = Vector3f.createZeroVector();
    private Matrix3 relativeRotation …
Run Code Online (Sandbox Code Playgroud)

java 3d opengl-4

13
推荐指数
1
解决办法
736
查看次数

OpenJDK 8中ImageIO.read错误的解决方法?

我正在使用Java 8(特别是OpenJDK 8)进行项目,我需要从JPG文件中读取图像.一开始搜索到了一些类似的问题(例如,将字节数组读入没有ImageIO的缓冲图像,是否有100%的Java替代ImageIO来读取JPEG文件?),但我的问题不同,那里的解决方案不符合我的要求要求.

事实证明,JPEGImageReader班级仍然缺失.(请参阅openjdk-8:libjavajpeg.so中缺少JPEGImageReader函数)虽然该错误报告是针对Debian的,但我使用的是Kubuntu 14.10,它也受到了影响.

根据该报告的最后一条消息,此时似乎没有人正在处理这个问题......

重现此错误的代码段是:

// ...
BufferedImage img = null;
try {
    img = ImageIO.read(new File(filename));
} catch (IOException e) {
    throw new RuntimeException(e);
}
// ...
Run Code Online (Sandbox Code Playgroud)

该文件的路径是有效的,如果我使用Java 1.7,这将正常工作,但更改为1.8会导致以下激活ImageIO.read:

Caught UnsatisfiedLinkError: com.sun.imageio.plugins.jpeg.JPEGImageReader.initReaderIDs(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)
Run Code Online (Sandbox Code Playgroud)

我想帮助解决这个问题,同时避免:

  1. 其他/外部库的附加依赖;
  2. 回到Java 1.7;
  3. 不得不从源头重建;
  4. Oracle专有的JDK实现

工作代码片段表示赞赏.

编辑1:在列表中添加了第4点.

EDIT-2:重新编写主要部分的一部分并添加了另一个参考.

java openjdk image unsatisfiedlinkerror

9
推荐指数
1
解决办法
3719
查看次数

为什么golang RGBA.RGBA()方法使用| 和??

在golang颜色包中,有一种方法可以从RGBA对象中获取r,g,b,一个值:

func (c RGBA) RGBA() (r, g, b, a uint32) {
    r = uint32(c.R)
    r |= r << 8
    g = uint32(c.G)
    g |= g << 8
    b = uint32(c.B)
    b |= b << 8
    a = uint32(c.A)
    a |= a << 8
    return
}
Run Code Online (Sandbox Code Playgroud)

如果我要实现这个简单的函数,我会写这个

func (c RGBA) RGBA() (r, g, b, a uint32) {
    r = uint32(c.R)
    g = uint32(c.G)
    b = uint32(c.B)
    a = uint32(c.A)
    return
}
Run Code Online (Sandbox Code Playgroud)

是什么原因r |= r << 8使用?

bit-manipulation go

9
推荐指数
2
解决办法
2107
查看次数

使用接口Class <T>作为键来获取具体的实例值?

我有以下测试用例无法从以下位置检索值Map:

package tests;

import java.util.HashMap;
import java.util.Map;

public class ClassTest {

    interface A {}
    interface B extends A {}
    interface C extends A {}

    class D implements B {}
    class E implements C {}

    public ClassTest() {
        Map<Class<? extends A>, A> map = new HashMap<>();

        A d = new D();
        A e = new E();

        map.put(d.getClass(), d);
        map.put(e.getClass(), e);

        System.out.println(B.class.getSimpleName() + ": " + map.get(B.class));
        System.out.println(C.class.getSimpleName() + ": " + map.get(C.class));
    }

    public static void main(String[] args) { …
Run Code Online (Sandbox Code Playgroud)

java generics inheritance hashmap

9
推荐指数
1
解决办法
1197
查看次数