我得到了两个圆的(x,y)中心位置及其半径,但我需要使用JavaScript找到它们的交点(用红色标记).
我认为就数学而言最好的解释是在这里找到的(两个圆圈的交点),但我并不真正理解数学,所以我无法实现它.
例如,d = || P1 - P0 || 什么做了|| 代表?这是否意味着最终的数字总是积极的?
并且P2 = P0 + a(P1-P0)/ d,这里的P不是(10,50)?但是在JavaScript中执行(10,50)+13会给你63,所以它只是忽略了第一个数字,那么假设会发生什么?结果应该是(23,63)这里还是?还有P1-P0部分或(40,30) - (10,60),您如何在JavaScript中表达?
我希望CodeMirror 6 编辑器实例的内容/值反映在外部变量中,当文本更改时,变量会更改/同步。
如何在CodeMirror 6中做到这一点?
let sync_val = "";
import {EditorView} from "@codemirror/view"
import {EditorState} from "@codemirror/state"
let myView = new EditorView({
state: EditorState.create({doc: "hello"}),
parent: document.body
})
myView.onChange(function(val) {
sync_val = val;
});
Run Code Online (Sandbox Code Playgroud) 说我有{{ partial "li.html" $test $root.Data.Term }}
。
有了这个,我可以访问第一个参数,或者$test
,通过简单地.
在li.html
模板中引用,但是如何$root.Data.Term
从同一个模板中访问第二个或附加参数 ( )?
我是OpenGL和GLSL的新手,我正在通过http://open.gl/学习它.
我已设法绘制一个三角形并使用以下方法更改所有顶点的颜色:
glUniform3f(uniColor, red, 0.0, 0.0)
Run Code Online (Sandbox Code Playgroud)
其中"红色"的值不断变化,但这会更新三角形中所有顶点的颜色值,而我只想更改一个或两个顶点.
查看代码我没看到我可以在哪里实现任何逻辑来关注一个顶点而不是全部(代码几乎完全基于http://open.gl/content/code/c2_triangle_uniform.txt)
但是在这段代码中:http://open.gl/content/code/c2_color_triangle.txt,每个顶点都有它自己的颜色,但它似乎是硬编码的,我不能随着程序的进展动态地改变颜色.
我正在猜测
uniColor = glGetUniformLocation(shader.handle, "triangleColor")
Run Code Online (Sandbox Code Playgroud)
给我一个变量的位置,我可以改变,这个变量用于更新所有顶点的颜色,也许我需要做的是创建3个变量,每个顶点一个,然后访问那些,但我怎么做去做?
如果我看一下GLSL我有一个"统一的vec3 triangleColor"; 然后用于
void main()
{
outColor = vec4(triangleColor, 1.0);
}
Run Code Online (Sandbox Code Playgroud)
但即使我创建3个这样的triangleColor变量,我怎么能告诉void main()来区分哪个顶点获得什么变量?
代码:
import pyglet
from pyglet.gl import *
from shader import Shader
from ctypes import pointer, sizeof
import math
import time
window = pyglet.window.Window(800, 600, "OpenGL")
window.set_location(100, 100)
# Vertex Input
## Vertex Array Objects
vao = GLuint()
glGenVertexArrays(1, pointer(vao))
glBindVertexArray(vao)
## Vertex Buffer Object …
Run Code Online (Sandbox Code Playgroud) 我正在做一些非常基本的JSON操作来学习一些Go,并且它有效,除了一件事似乎关闭,我必须编写分配.(map[string]interface{})
和.([]interface{})
访问JSON中的条目,特别是如果它们是孩子的孩子等等.
看到这里(也在Go Playground:https://play.golang.org/p/Wd-pzHqTsU):
package main
import (
"fmt"
"encoding/json"
)
func main() {
JSON := []byte(`{"key1":"val1","key2":{"c1key1":"c1val1"},"key3":[{"c2key1":{"c3key1":"c3val1"}}]}`)
fmt.Printf("%s\n", JSON)
var d map[string]interface{}
json.Unmarshal(JSON, &d)
fmt.Println(d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"])
d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"] = "change1"
fmt.Println(d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"])
JSON, _ = json.Marshal(d)
fmt.Printf("%s\n", JSON)
}
Run Code Online (Sandbox Code Playgroud)
哪个回报:
{"key1":"val1","key2":{"c1key1":"c1val1"},"key3":[{"c2key1":{"c3key1":"c3val1"}}]}
c3val1
change1
{"key1":"val1","key2":{"c1key1":"c1val1"},"key3":[{"c2key1":{"c3key1":"change1"}}]}
Run Code Online (Sandbox Code Playgroud)
现在在Python中我只是直接访问键/值而不是定义我每次访问的类型,而不是fmt.Println(d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"])
你做的print d["key3"][0]["c2key1"]["c3key1"]
Python示例:
import json
JSON = '{"key3": [{"c2key1": {"c3key1": "c3val1"}}], "key2": {"c1key1": "c1val1"}, "key1": "val1"}'
print JSON
d = json.loads(JSON)
print d["key3"][0]["c2key1"]["c3key1"]
d["key3"][0]["c2key1"]["c3key1"] = "change1"
print d["key3"][0]["c2key1"]["c3key1"]
JSON …
Run Code Online (Sandbox Code Playgroud) 在Python中你可以做这样的事情:
r = requests.get("http://wikidata.org/w/api.php", params=params)
data = r.json()
Run Code Online (Sandbox Code Playgroud)
现在data
是一个字典或哈希表(也,我不需要事先定义字典的结构),我可以通过做数据["实体"],数据["实体"] ["Q12"来访问键的值"等等
我怎么在golang做这个?到目前为止我有这个:
resp, err := http.Get("http://wikidata.org/w/api.php?"+v.Encode())
if err != nil {
// handle error
}
defer resp.Body.Close()
decoder := json.NewDecoder(resp.Body)
var data interface{}
decodeErr := decoder.Decode(&data)
if decodeErr != nil {
// handle error
}
fmt.Println(data["entities"], data["entities"]["Q"+id])
Run Code Online (Sandbox Code Playgroud)
这给了我编译错误: invalid operation: data["entities"] (index of type interface {})
那应该var data
是什么类型的?我是否需要事先为JSON定义结构,还是可以在不修改代码的情况下处理任何JSON文件/流?
我目前正在与golangos/exec
和Stdout
nodejs一起做这console.log("string")
件事。
基本上我需要生成一个字符串,但只能在 nodejs 中这样做,但我的大部分代码都在 golang 中,所以我试图使我的代码中的这个小点尽可能无缝、安全和可靠,我将我的程序的如此重要的部分放在“console.log”上并从 shell 输出中读取,这让我有点不安。
简而言之:我想知道我的节点和 go 代码之间是否存在更好、更标准的通信线路,然后是 console.log + shell 输出,或者这是否足够优化?
哦,我程序的这个特定部分的功能是获取一个 markdown 文本文件并使用markdown-it将其转换为 HTML 。
一些想法:
聚苯乙烯
我不能使用 otto,因为降价 - 它不在那里运行。
实际代码:
parser.go
package main
import (
"os"
"os/exec"
"fmt"
"bytes"
)
func main() {
cmd := "node"
args := []string{"parser.js", "/home/user1/dev/current/wikis/Bob's Pain/markup/index.md"}
process := exec.Command(cmd, args...)
stdin, err := process.StdinPipe()
if err != nil {
fmt.Println(err) …
Run Code Online (Sandbox Code Playgroud) FullCalendar支持通过AJAX为它的事件接收JSON对象,这可以在初始化时或稍后完成,如下所示:
$('#calendar').fullCalendar('addEventSource', "/{{ user }}/events/" );
Run Code Online (Sandbox Code Playgroud)
我的Django视图中的序列化本身如下所示:
...
events = Event.objects.filter(user=request.user, start__gte=start, end__lte=end)
message = serializers.serialize("json", events, ensure_ascii=False)
...
Run Code Online (Sandbox Code Playgroud)
返回的JSON对象如下所示:
[{"pk": 2, "model": "main.event", "fields": {"url": null, "start": "2010-10-09 08:30:00", "end": "2010-10-09 10:30:00", "user": 1, "title": "sdf"}}, {"pk": 3, "model": "main.event", "fields": {"url": null, "start": "2010-10-03 08:30:00", "end": "2010-10-03 12:00:00", "user": 1, "title": "sdf2"}}]
Run Code Online (Sandbox Code Playgroud)
Fullcalendar事件包含以下变量:id,title,start,end,allDay和url.
我认为FullCalendar现在正在接收我的JSON对象(不确定如何检查),但它可能是不可接受的,我怎样才能使它可以被FullCalendar加入?它可能看起来像这样:
[{id: 1, title: 'Title1', start: new Date(2010, 10, 3, 8, 30), end: new Date(2010, 10, 3, 12, 0), allDay: false, url: false}]
Run Code Online (Sandbox Code Playgroud)
要么: …
我有一些代码在浏览器中不起作用,除非我“忽略”两个包,我可以用 browserify: 做到这一点browserify files.js -i fs-extra -i request --standalone files > files.browserify.js
,结果代码可以正常工作,但是如果我尝试用 webpack 来做,代码会抱怨模块被丢失的。
...
plugins: [
new webpack.IgnorePlugin(/fs-extra$/),
new webpack.IgnorePlugin(/request$/),
new webpack.IgnorePlugin(/fs$/)
],
...
Run Code Online (Sandbox Code Playgroud)
test.webpack.js:7655 Uncaught Error: Cannot find module "request"
at webpackMissingModule (test.webpack.js:7655)
at Object.exports.byteLength (test.webpack.js:7655)
at __webpack_require__ (test.webpack.js:20)
at Object.<anonymous> (test.webpack.js:17012)
at __webpack_require__ (test.webpack.js:20)
at test.webpack.js:66
at test.webpack.js:69
Run Code Online (Sandbox Code Playgroud)
我怀疑可能的WebPack不会创建一个“空存根”像browserify作用:--ignore, -i Replace a file with an empty stub. Files can be globs.
。
我能做些什么来解决这个问题?
打电话console.log(editor.state.doc)
显示:
TextLeaf {
text: ["Test Text"],
length: 9,
Symbol(Symbol.iterator): function
}
Run Code Online (Sandbox Code Playgroud)
因此,文本或编辑器值就在那里,但是如果我打电话,editor.state.doc.text = ["New Test Text"]
我会丢失文本,因此这似乎不是更改它的预期方法。
我实际上该怎么做?
editor.getDoc().setValue('New Test Text');
我想创建一个字符串列表:
a)是2个或更多列表的交互(所有列表中出现的字符串),例如:
words = [["a", "b", "c"], ["d", "a", "b"], ["f", "a", "g"]]
set.intersection(*(set(t) for t in words))
Run Code Online (Sandbox Code Playgroud)
返回:
set(['a'])
Run Code Online (Sandbox Code Playgroud)
和
b)是两个或多个列表的交集,除了单个字符串可能从单个集合中丢失n次,或者换句话说,在我认为必要时,字符串可能从1个或多个列表中丢失.
所以说我希望允许它从单个列表中丢失,将该逻辑应用于我应该获得的上述单词变量:
set(['a', 'b'])
Run Code Online (Sandbox Code Playgroud)
如果我允许它从2套中丢失,它将返回上述单词变量中的所有字符.
我已经设法做了一个),但我怎么做b)?
它看起来像这样:
[[1,["a", "b", "c"]], [2,["z", "x", "y"]]]
直觉上我会做类似 [][]int[]string 的事情,但这是无效的:syntax error: unexpected [, expecting semicolon or newline or }
,那么我该怎么做呢?
我觉得像我这样做了一千次,但现在突然当我做console.log($("#app").html());
,我得到undefined
了,为什么?是不是.html()假设返回#app里面的内容?
go ×5
json ×3
codemirror ×2
dictionary ×2
javascript ×2
node.js ×2
text ×2
arrays ×1
browserify ×1
colors ×1
console.log ×1
django ×1
dom ×1
editor ×1
events ×1
exec ×1
fullcalendar ×1
geometry ×1
glsl ×1
go-templates ×1
hugo ×1
input ×1
jquery ×1
list ×1
npm ×1
onchange ×1
onupdate ×1
opengl ×1
python ×1
python-2.7 ×1
set ×1
slice ×1
string ×1
types ×1
undefined ×1
vertex ×1
webpack ×1