координата Z точки, принадлежащей плоскости
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > координата Z точки, принадлежащей плоскости

координата Z точки, принадлежащей плоскости

Ответ
Поиск в этой теме
Непрочитано 09.03.2011, 18:20 #1
координата Z точки, принадлежащей плоскости
baaba
 
архитектор
 
Москва
Регистрация: 07.07.2007
Сообщений: 664

Три мухи всегда летают в одной плоскости, верно?
Четыре точки, лежат в одной плоскости. Координата Z четвёртой точки не известна. Не могу сообразить как вычислить, имеем:
Код:
[Выделить все]
  X      Y      Z
0,00	0,00	18,0
0,00	25,0	36,0
15,0	0,00	00,0

7,50	0,00	  ?

Последний раз редактировалось baaba, 09.03.2011 в 18:22. Причина: Ошибки семантические
Просмотров: 3062
 
Непрочитано 09.03.2011, 18:29
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,409


Про какую программу разговор?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 09.03.2011, 18:31
#3
baaba

архитектор
 
Регистрация: 07.07.2007
Москва
Сообщений: 664
<phrase 1= Отправить сообщение для baaba с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Про какую программу разговор?
Алгоритм вычисления мне не ясен. Программу пишу генерального плана, вертикалки, земляных масс.
Вот тут читаю:
http://ru.wikipedia.org/wiki/Плоскос...Ec.D1.82.D0.B8

Почти решено, метод треугольников:
Код:
[Выделить все]
(defun gnum (_msg) (atof (cdr (assoc 1 (gcode _msg)))))

(defun txtch (_tval _msg / _tg)
	(setq _tg (gcode _msg))
	(entmod (subst (cons 1 _tval) (assoc 1 _tg) _tg))
)

(defun opr (p1 p2 p3 pt /
				x1 x2 x3 x x4 x5 x6
				y1 y2 y3 y4 y5 y6 y
				z1 z2 z3 z4 z5 z6 z _dt)
	
	(setq
		x1 (car p1) y1 (cadr p1) z1 (caddr p1)
		x2 (car p2) y2 (cadr p2) z2 (caddr p2)
		x3 (car p3) y3 (cadr p3) z3 (caddr p3)
	)
	
	(setq
		x4 (car pt) y4 (cadr pt)
		x5 (- x2 x1) y5 (- y2 y1) z5 (- z2 z1)
		x6 (- x3 x1) y6 (- y3 y1) z6 (- z3 z1)
	)
	
	(setq _dt
		(+
			(* x1 y2 z3) (* y1 z2 x3) (* z1 y3 x2)
			(* -1 z1 y2 x3) (* -1 y1 z3 x2) (* -1 x1 z2 y3)
	))
;	(list x1 y1 z1 x2 y2 z2 x3 y3 z3)
;	(list x4 y4 x5 y5 z5 x6 y6 z6)
	(/ (+ (- _dt (* x4 y5 z6) (* y4 z5 x6)) (* y4 z6 x5) (* x4 z5 y6)) (- (* x5 y6) (* y5 x6)))
)

(defun c:det (/ p1 p2 p3 pt)
	(setq
		p1 (getpoint "\nSelect first point")
		p1 (list (car p1) (cadr p1) (gnum "\nSelect string with point height:"))
		p2 (getpoint "\nSelect second point")
		p2 (list (car p2) (cadr p2) (gnum "\nSelect string with point height:"))
		p3 (getpoint "\nSelect third point")
		p3 (list (car p3) (cadr p3) (gnum "\nSelect string with point height:"))
	)
	(setq pt (getpoint "\nEnter target point:"))
;	(list p1 p2 p3)
;	(txtch (rtos (opr p1 p2 p3 pt) 2 2) "n\Enter text string:")
	(while pt
		(txtch (rtos (opr p1 p2 p3 pt) 2 2) "n\Enter text string:")
	)
)
Загвоздка вот тут:
Код:
[Выделить все]
	(while pt
		(txtch (rtos (opr p1 p2 p3 pt) 2 2) "n\Enter text string:")
                (setq pt (getpoint "\nEnter target point:"))
	)
То есть у меня не получается выбрать три точки и дальше указывать сначала точку а потом изменять значение текста. Получается он берёт одну точку и дальше везде вставляет одно и то же (первое) значение. Что то я намудрил с while -(

Ещё хотел спросить, как сделать
Код:
[Выделить все]
(defun foo (a b) (.....))
так что бы b была факультативной переменной? Хочу передаю её функции foo, хочу не передаю.

Прилагаю скриншот:

Последний раз редактировалось baaba, 10.03.2011 в 18:18. Причина: решено
baaba вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > координата Z точки, принадлежащей плоскости



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу пример расчета инсоляции FINE Поиск литературы, чертежей, моделей и прочих материалов 266 25.10.2017 18:54
Проблемы с расчетом Ж/Б каркаса в ANSYS derik ANSYS 457 04.07.2017 16:16
Тригонометрические функции и векторная алгебра Supermax Программирование 149 08.12.2009 22:22
Неразрезная балка в горизонатльной плоскости RTD Конструкции зданий и сооружений 4 28.01.2007 19:32
Как измерить в автокаде расстояние от точки до плоскости? Камиль AutoCAD 9 07.06.2005 20:48