我在3D空间中有3个点我知道确切的位置.假设他们是:(x0,y0,z0),(x1,y1,z1)和(x2,y2,z2).
此外,我有一个相机正在查看这3个点,我知道这三个点在相机视图平面上的2D位置.因此,举例来说,(x0,y0,z0)将是(x0',y0'),(x1,y1,z1)将来(x1',y1')也(x2,y2,z2)将是(x2',y2')从相机的角度来看.
找到将这些3D点投影到摄像机视图平面上的2D点的投影矩阵的最简单方法是什么.我们对相机位置一无所知.
以下代码应显示标题栏,页脚栏和图像,但由于某种原因,我添加后.div1 { -webkit-transform-style: preserve-3d; }只会获得标题栏.我知道它似乎有一些不必要的div和样式应用,但我确实需要它们的效果,我已经剥离,使调试更容易.我的页面代码是:
<html>
<head>
<title></title>
<style>
body {
margin: 0px;
}
.div1 {
-webkit-transform-style: preserve-3d;
}
.div2 {
position: absolute;
width: 100%;
height: 100%;
}
img {
max-width: 50%;
max-height: 50%;
display: block;
}
.footer {
position: fixed;
bottom : 0px;
}
</style>
</head>
<body>
<div class="div1">
<div class="div2">
<div class="header">
Header
</div>
<div class="imgdiv">
<img src="http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2012/5/18/1337331092888/Cwm-Idwal-Snowdonia.-Mich-007.jpg">
</div>
<div class="footer">
Footer
</div>
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 通过在Mac OS High Sierra上安装Graphviz并运行以下命令可以重现此问题:
dot -v -Tpng:quartz /path/to/graph.dot -o /path/to/out.png
Run Code Online (Sandbox Code Playgroud)
graph.dot 必须包含以下(最小)图形结构才能重现该错误:
digraph {
imgnode[image="/path/to/some-image.png", label=""];
}
Run Code Online (Sandbox Code Playgroud)
如下面的tracelog所示,当dot尝试将图像加载到图形中时会引发错误.使用以下方法在生成的图形PNG中libgvplugin_quartz嵌入时发生错误:some-image.pnggvloadimage_quartz
源代码:https: //gitlab.com/graphviz/graphviz/blob/master/plugin/quartz/gvloadimage_quartz.c at 130.
升级Graphviz,Quartz或Mac OS似乎没有任何影响,所以问题是:为什么会出现这个错误以及如何修复它?是由我造成的错误还是Graphviz或Mac OS中的错误?我似乎无法在网上找到任何解决方案,除了一段时间没有活动的错误报告:https://github.com/Homebrew/homebrew-core/issues/18684
Dot 跟踪日志:
dot[11528:2474068] +[__NSCFConstantString length]: unrecognized selector sent to class 0x7fffa240c578
dot[11528:2474068] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[__NSCFConstantString length]: unrecognized selector sent to class 0x7fffa240c578'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff4811200b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x00007fff6ececc76 …Run Code Online (Sandbox Code Playgroud) <div class="parent">
<div class="child">child1</div>
<div class="child">child2</div>
<div class="child">child3</div>
<div class="child">child4</div>
<div class="special">specialChild</div>
</div>
Run Code Online (Sandbox Code Playgroud)
当将鼠标悬停在其中一个.child元素上时,我想让所有子元素.parent获得另一种背景颜色.将鼠标悬停在.special元素上时不会发生这种情况.
到目前为止我尝试了什么:
.child {
background-color: rgb(255,0,0);
}
.parent:not(.special):hover .child {
background-color: rgb(0, 0, 255);
}
Run Code Online (Sandbox Code Playgroud)
但是当将鼠标悬停在.special元素上时,背景颜色会发生变化(忽略not()选择器)
我错过了什么?
JSFIDDLE:链接
编辑:jQuery可以用作解决方案.
说我有
var dict = parseJSON(getJSON(url)) // This results in an NSDictionary
Run Code Online (Sandbox Code Playgroud)
为什么是
let a = dict["list"]![1]! as NSDictionary
let b = a["temp"]!["min"]! as Float
Run Code Online (Sandbox Code Playgroud)
允许,这个:
let b = dict["list"]![1]!["temp"]!["min"]! as Float
Run Code Online (Sandbox Code Playgroud)
导致错误:
类型'字符串'不符合协议'NSCopying'
请解释为什么会发生这种情况,请注意我是Swift的新手并没有经验.
我的代码:
$to = 'example@example.com';
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;
$header = "From: noreply@example.com\r\n";
$header.= "MIME-Version: 1.0\r\n";
$header.= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$header.= "X-Priority: 1\r\n";
mail($to, $subject, $message, $header);
Run Code Online (Sandbox Code Playgroud)
当我发送带有特殊字符的邮件时,例如®ð-?©-?“æ,??ðß©,在邮件中,它可以工作但不再处理间距(每个新行或空格都被删除)而第二个问题是特殊字符不会显示在主题中.它们输出如下:øʼªʼ
提前致谢!
在我的 php 表单中发送一个图像,它被保存到我的服务器上并在 action.php 页面上显示。现在,当我尝试:
echo '<div id="image"><img src="'.$target_path.'" width="280" height="280"></div>';
Run Code Online (Sandbox Code Playgroud)
它工作得很好......但是如果我unlink($target_path);在我的php代码末尾添加它甚至不会显示图像,即使它在显示图像后被删除......
所以问题是,我怎样才能显示图像并同时删除它,这样我的服务器就不会塞满用户图片?
简单问题:为什么以下查询不输出perday?
SELECT FROM_UNIXTIME(`date`,"%Y-%m-%d") AS `perday`, COUNT(*) AS `count`
FROM `data`
WHERE `group` = 1
GROUP BY `perday`
Run Code Online (Sandbox Code Playgroud)
计数输出正确,但perday保持空白.该data表是这样的:
| id | group | date |
------------------------------------------------
| 1 | 1 | 2013-04-13 06:01:02 |
| 2 | 1 | 2013-04-13 14:24:18 |
| 3 | 2 | 2012-01-21 21:33:03 |
Ect.
Run Code Online (Sandbox Code Playgroud)
谢谢!
编辑:
预期产量:
| perday |
--------------
| 2013-04-13 |
| 2012-01-21 |
Run Code Online (Sandbox Code Playgroud) 我试图让用户能够在我的服务器上下载所有数据的CSV备份.这意味着我正在尝试执行多个查询并将结果放入CSV文件中.
这是我到目前为止:
<?php
// Connect
include 'config.php'; // Config contains PDO database connection, etc.
// Generate filename
$filename = $_SESSION['current_group'].'-'.date('d.m.Y').'.csv';
// Get backup data from MYSQL database
$result_users = $conn->prepare('SELECT `user_name`, `user_email` FROM `users` WHERE `group_id` = ?');
$result_users->execute(array($_SESSION['current_group_id']));
$result_items = $conn->prepare('SELECT `item_name`, `item_value`, `item_group` FROM `items` WHERE `group_id` = ?');
$result_items->execute(array($_SESSION['current_group_id']));
# Create array
$list = array ("## START OF USER TABLE ##");
// Append results to array
while ($row = $result_users->fetch(PDO::FETCH_ASSOC)) {
array_push($list, array_values($row));
}
array_push($list,"## END OF …Run Code Online (Sandbox Code Playgroud) 我如何在PHP中添加一个foreach()或一个while()循环或类似的东西,它将$_GET在提交表单时重新发送所有键和值.就像是:
<?
echo '<form action="" method="get">';
echo '<input type="text" name="text_field_1">';
// LOOP {
<input type="hidden" name="$row_key" value="$row_value">
}
?>
Run Code Online (Sandbox Code Playgroud)
谢谢.