private void RemoveUnfitChromosomes()
{
int[] buildingLW = new int[2 * buildingNo]; //2x for length & width
for (int i = 0; i <= 2 * (buildingNo - 1);) //working values to be changed for user input
{
buildingLW[i] = 30; //l,x
buildingLW[i + 1] = 10; //w.y
i = i + 2;
}
foreach (int[] chromosome in population)
{
int[] temp = new int[3 * buildingNo];
List<Rectangle> building = new List<Rectangle>();
Array.Copy(chromosome, temp, 3 * buildingNo);
for (int j = 0; j < buildingNo; j++)
{
building[j] = new Rectangle(temp[3 * j] - buildingLW[2 * j]/2, temp[3 * j + 1] + buildingLW[2 * j + 1]/2, buildingLW[2 * j + 1], buildingLW[2 * j]);
RotateTransform rotate = new RotateTransform();
rotate.Angle = temp[j+2];
rotate.CenterX = temp[j];
rotate.CenterY = temp[j+1];
building[j].RenderTransform= rotate;
}
내 문제 여기 건물 "System.Drawing.Rectangle"형의 제 인수를 받아들이고하지 [J] = .RenderTransform 회전;,이 확장 메서드 RenderTransform "System.Drawing.Rectangle"형식의 첫 번째 인수를 수락 할 수 있습니다. 직사각형 구조에는 회전 방법이 없다는 것을 이해합니다. 나는 내가 가지고있는 정보에 혼란을 느낀다.C 번호, 확장 방법으로 RenderTransform는
위 코드는 내 코드의 다른 부분에서 내 데이터를 가져 와서 그 데이터에서 빌드 한 사각형을 회전시키는 코드입니다. 참고로, 나는이 직사각형이 서로 교차하는지 확인하려고합니다. http://msdn.microsoft.com/en-us/library/ms754009(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2의 다음 코드와 혼동 스럽습니다. 그들의 코드는 polyline2.RenderTransform을 사용할 수 있었으므로 그렇게 할 수있는 방법이 있습니까?
저는 몇 시간 동안 온라인 검색을 시도했지만 프로그래밍에 익숙하지 않고 때로 사람들이 말하는 것을 이해할 수 없으므로 질문이 반복 될 경우 사과드립니다. 시간 내 주셔서 감사합니다.
감사합니다. Rect를 System.Windows.Shapes.Rectangle로 변경했지만 이제는 .IntersectsWith 메서드를 사용할 수 없습니다. 어떤 도움이 필요합니까? 고맙습니다. – user3020631
IntersectsWith() 메소드가 표시되지 않습니다. Visual Studio를 사용하고 있으므로 커서가 메서드 맨 위에있을 때 F1 키를 누르면 해당 메서드에 대한 온라인 도움말을 볼 수 있습니다. – MikeSW