我在用着
worldview_inverse * (projection_inverse * vector)
Run Code Online (Sandbox Code Playgroud)
将屏幕空间坐标转换为世界空间坐标。我假设
(x,y,1,1)
Run Code Online (Sandbox Code Playgroud)
会变换为远平面上的一个点,而
(x,y,-1,1)
Run Code Online (Sandbox Code Playgroud)
变换为近平面上的点,并连接线我可以查询视锥体中与线相交的所有对象。转换后,我将结果点除以它们各自的 .w 分量。这适用于远平面,但近平面上的点以某种方式转换为世界空间原点。
我认为这与我输入逆投影的 1 的 w 分量有关,因为通常在投影之前它是 1,而不是之后,而且我正在进行逆投影。我究竟做错了什么?
我想知道,在asp.net中管理数据库连接的最佳方法是什么.
我的应用程序是使用N层架构构建的.DAL由静态类和方法组成
Public Shared Sub Delete( _
ByVal connection As MyConnectionClass, _
ByVal contact_id As Integer, _
ByVal contact_timestamp As Date _
)
With connection.ProcParams
.Add(New StoredProcParam("p_contact_id", contact_id, OracleDbType.Int32))
.Add(New StoredProcParam("p_contact_timestamp", contact_timestamp, OracleDbType.Date))
End With
connection.Execute("PKG_DATA_ACCESS.DeleteContact")
End Sub
Run Code Online (Sandbox Code Playgroud)
这里需要注意的是,我将连接从BLL传递给DAL.
以下是我考虑过的观点,但对我来说似乎都没有,所以我只是在征求意见.
我应该在MasterPage中创建连接,将其存储在一个对象中,然后在创建它时将它传递给我的业务对象(我试图避免的事情)
我应该使用静态类创建连接并在其上调用CreateConnection等方法,从我的业务对象的构造函数(我想要的东西,但我不希望每个对象有一个连接,我喜欢它要为我的对象的所有实例共享,但由于asp.net是多线程的,静态类对存储连接没有意义)
理想情况下,该解决方案也应该在Windows窗体环境中运行良好(因此,没有连接存储在会话中,并在类中使用静态方法检索它,对于当前上下文)
使用C#进行ASP.NET和MOSS开发,我们经常需要将JavaScript嵌入到C#代码中.要做到这一点,似乎有两种流行的思想流派:
string blah = "asdf";
StringBuilder someJavaScript = new StringBuilder();
someJavaScript.Append("<script language='JavaScript' >");
someJavaScript.Append("function foo()\n");
someJavaScript.Append("{\n");
someJavaScript.Append(" var bar = '{0}';\n", blah);
someJavaScript.Append("}\n");
someJavaScript.Append("</script>");
Run Code Online (Sandbox Code Playgroud)
另一种思想流派是这样的:
string blah = "asdf";
string someJavaScript = @"
<script language='JavaScript' >
function foo()
{
var bar = '" + blah + @"';
}
</script>";
Run Code Online (Sandbox Code Playgroud)
有比这两种方法更好的方法吗?我个人喜欢第二部分,因为你可以看到整个JavaScript部分(或其他语言块,无论是SQL还是你有什么),它还有助于在该特定语言的另一个编辑器之间复制代码.
编辑:
我应该提到最终目标是在最终的网页中格式化JavaScript.
我还更改了示例以显示与生成的代码的交互.
数据库示例:
图像 - ImageTag - 标记
图像可以有多个标签.关系设置很好,但我遇到了性能问题.
我有许多不同的查询,根据不同的标准选择图像.它们工作正常,但是不会使用这些查询选择标记的数据.
这意味着如果我遍历10个图像的列表并尝试访问其标记对象(通过ImageTag),则在我的数据库上为每个图像执行新的查询.
<%foreach (LINQRepositories.Image i in Model)
{ %>
<li><%=i.title%>
<ul>
<%foreach(ImageTag t in i.ImageTags){ %>
<li><%=t.Tag.name%></li>
<%} %>
</ul>
</li>
<%} %>
Run Code Online (Sandbox Code Playgroud)
这显然不太理想.有没有办法强制LINQ to SQL查询某些数据?
以下是我的一个查询示例
public static IQueryable<Image> WithTags(this IQueryable<Image> qry, IEnumerable<Tag> tags)
{
return
from i in qry
from iTags in i.ImageTags
where tags.Contains(iTags.Tag)
select i;
}
Run Code Online (Sandbox Code Playgroud)
尝试dataload选项后,这是一个生成的示例查询
{SELECT [t0].[id],[t0].[title],[t0].[legend],[t0].[dateAdded],[t0].[删除],[t0].[averageRating], [t0].[numberOfVotes],[t0].[imageOfTheWeek],[t0].[copyright],[t0].[copyrightText],[t0].[areaOfInterest],[t0].[typeId],[t0 ].[authorId],[t0].[editorialStatusId],[t0].[comments] FROM [dbo].[Image] AS [t0] CROSS JOIN([dbo].[ImageTag] AS [t1] INNER JOIN [ dbo].[Tag] AS [t2] ON [t2].[id] = …
为什么还有另一个名为connectionStrings的部分?我一直只使用appSettings,直到我在一个新项目中注意到这一点:
<appSettings>
<add key="SqlConnString" value="server=ABC;database=ABC;uid=A;pwd=B;"/>
</appSettings>
<connectionStrings>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
有区别吗?为什么我应该使用一个而不是另一个?
我想知道照片的景深,最好是厘米或米.
我知道我们可以通过阅读EXIF标签来了解相机设置,但有没有标签直接告诉我们景深?或者我们如何从一些EXIF标签计算它?
例子将不胜感激.谢谢!
在下面的例子中,返回pen是否会被销毁(处置)?
' VB'
Public Function GetPen() As System.Drawing.Pen
Using pen As New System.Drawing.Pen(_Color, _Width)
pen.DashStyle = _DashStyle
Return pen
End Using
End Function
// C#
public System.Drawing.Pen GetPen()
{
using (System.Drawing.Pen pen = new System.Drawing.Pen(_Color, _Width))
{
pen.DashStyle = _DashStyle;
return pen;
}
}
Run Code Online (Sandbox Code Playgroud)
[编辑]
再精确一点...... Pen对象是通过引用发送给GetPen的调用者还是像结构一样'克隆'?我知道,这是一个类,但对于GDI对象,我无法确定...
将它被破坏(设置)的pen中创建GetPen()当外部方法将其废弃pen用得到GetPen()?
所以我需要做的是从普通用户拍摄的图像中测量脚长。该图像将包含一只脚穿着黑色袜子,一枚硬币(或其他已知尺寸的物体)和一张白纸(例如 A4),其他两个物体将位于其中。我已经拥有了什么?- 我已经使用过 opencv,但只是简单的项目;- 我已经开始阅读一些关于相机校准的文章(“学习 OpenCv”),但仍然不知道我是否必须走这么远。
我现在需要的是一些方向,因为我仍然不明白我是否遵循正确的方法来解决这个问题。我有一些问题:我真的需要校准相机才能测量足部的两个或三个尺寸吗?我怎样才能找到兴趣点来测量线,每张图片都是不同的图片还是有技巧可循?
Ps:对不起我的英语,我真的需要改进它:-/
我有一个带有内部列表的类。我不希望这个类的用户能够直接与列表交互,因为我希望在返回它之前保持它的排序并运行一个计算(这取决于顺序)。
我暴露
AddItem(Item x)
Run Code Online (Sandbox Code Playgroud)
和一个
IEnumerable<Item> Items
{
get { // returns a projection of internal list }
}
Run Code Online (Sandbox Code Playgroud)
序列化工作正常,但反序列化使列表为空。我想这是因为我没有二传手。所以我添加了一个允许你设置列表的,但前提是内部列表为空。但这并没有解决问题,事实证明 NewtonSoft 没有调用 setter,它只调用 getter 来获取列表,然后将每个项目添加到其中,因为我的 getter 返回了一个投影列表,所以这些项目被添加反序列化完成后立即处理的对象。
我如何保持对我的列表的只读访问,同时允许一些简单的反序列化?
我正在通过loadHTMLString将一串HTML加载到UIWebView中.它会产生一个很长的网页.加载该字符串后,我需要导航到设置了"name"属性的HTML锚标记.在HTML中,我可能有:
//3 pages of text here
<a name="go here"></a> lots more text here
//another 3 pages of text here
Run Code Online (Sandbox Code Playgroud)
我需要网页在加载后向下滚动到"go here".如果用户单击网页内的链接并加载外部URL,则映射可以正常工作.但在这种情况下,我需要首先向下滚动已加载的网页.
我仍然可以像这样执行javascript:
[MyWebView loadHTMLString:dataString baseURL:[NSURL URLWithString:@"http://www.myscheme.com"]];
[webView stringByEvaluatingJavaScriptFromString:@"javascriptFunc('param1');"];
Run Code Online (Sandbox Code Playgroud)
但我需要类似的东西导航到锚标签.有什么建议?
c# ×3
asp.net ×2
javascript ×2
.net ×1
3d ×1
architecture ×1
cocoa-touch ×1
exif ×1
formula ×1
html ×1
iphone ×1
json.net ×1
linq ×1
linq-to-sql ×1
math ×1
opencv ×1
opengl ×1
performance ×1
photo ×1
photography ×1
picking ×1
uiwebview ×1
using ×1
vb.net ×1